afhankelijk van hoe je server op gezet is, kan er voor userlist een / staan:
probeer eens:
RewriteRule ^/?userlist/([0-9]+)/?$ userlist.php?id=$1 [NC,L]
(en aangezien je aan het einde een getal verwacht, zou ik niet op letters gaan matchen.)
Link gekopieerd
Helaas werkt dit ook niet
Notice: Undefined index: id in C:\wamp64\www\userlist.php on line 126
lijn 113 t/m 126
$eachPage = 20;
if(isset($_GET['id'])){
$page = $_GET['id'];
}else{
$page = 1;
}
$calc = $eachPage * $page;
$start = $calc - $eachPage;
$sql = $connect->runQuery("SELECT * FROM users ORDER BY points DESC Limit $start, $eachPage");
echo $page;
echo $_GET['id'];
Link gekopieerd
.htaccess
Options -Indexes
Options +FollowSymLinks
ErrorDocument 404 /index.php
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule ^(.*)$ index.php/?id=$1 [L]
</IfModule>
PHP:
<?php
echo '<pre>';
var_dump($_GET);
echo '</pre>';
?>
Output als ik deze opvraag:
http://localhost/phphulp/1
array(1) {
["id"]=>
string(2) "1"
}
Link gekopieerd
array (size=0)
empty
dat krijg ik als antwoord
en als ik via rankinglist.php?id=2 ga dan krijg ik
array (size=1)
'id' => string '2' (length=1)
Link gekopieerd
Volgens mij gebruik je _quote_ verkeerd, want je quote niemand.
Wat doe je precies om die output te krijgen?
Link gekopieerd
Options -Indexes
Options +FollowSymLinks
ErrorDocument 404 /index.php
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule ^userlist/(.*)$ userlist.php?id=$1
</IfModule>
dit is me httacces bestand
<?php
echo '<pre>';
var_dump($_GET);
echo '</pre>';
?>
<?php
$eachPage = 20;
if(isset($_GET['id'])){
if($_GET['id'] == '0'){
$page = 1;
}else{
$page = $_GET['id'];
}
}else{
$page = 1;
}
$calc = $eachPage * $page;
$start = $calc - $eachPage;
$sql = $connect->runQuery("SELECT * FROM users ORDER BY points DESC Limit $start, $eachPage");
if($connect->NumRows($sql) == 0){
?>
dit is wat ik wil, en dan aanroepen met site/userlist/1 of site/userlist/2
alleen werkt het niet, de output is zoals hierboven vermeld.
als ik site/userlist.php?id=1 doe, werkt het wel dus het probleem zal n de httaccess file zitten.
alvast wederom bedankt!
Link gekopieerd
htaccess:
Options -Indexes
Options +FollowSymLinks
ErrorDocument 404 /index.php
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule ^userlist/(.*)$ userlist.php?id=$1
</IfModule>
userlist.php:
<?php
echo '<pre>';
var_dump($_GET);
echo '</pre>';
$eachPage = 20;
if (isset($_GET['id'])) {
if ('0' == $_GET['id']) {
$page = 1;
} else {
$page = $_GET['id'];
}
} else {
$page = 1;
}
var_dump($page);
?>
Output:
array(1) {
["id"]=>
string(2) "1/"
}
string(2) "1/"
[size=xsmall]
Toevoeging op 27/12/2017 19:05:14: [/size]
Het is dus mogelijk, dat er een extra slash aan $_GET['id'] zit vastgeplakt, waardoor je query misschien niet werkt.
Link gekopieerd
C:\wamp64\www\rankinglist.php:115:
array (size=0)
empty
C:\wamp64\www\rankinglist.php:130:int 1
Dit is mijn output.
Heb het bestand inmiddels aangepast naar rankinglist lijn 115 tot 130 zijn die lijnen die je hierboven gaf.
Link gekopieerd
C:\wamp64\www\rankinglist.php:130:int 1
RewriteRule ^userlist/(.*)$ userlist.php?id=$1
Zoek de verschillen. Kleine hint, userlist.php is niet het zelfde als rankinglist.php
Link gekopieerd
Jacco Engel op 28/12/2017 08:46:03
C:\wamp64\www\rankinglist.php:130:int 1
RewriteRule ^userlist/(.*)$ userlist.php?id=$1
Zoek de verschillen. Kleine hint, userlist.php is niet het zelfde als rankinglist.php
Dat weet ik, maar had al aangegeven dat ik de naam veranderd had naar rankinglist.
[size=xsmall]
Toevoeging op 28/12/2017 21:08:00: [/size]
Helaas nog geen oplossing... iemand iets?
Link gekopieerd