ik heb de volgende .htaccess welke ervoor zorgt dat wanneer ik naar www.website.nl/login ga, hij de index.php aanroept. ik zou eigenlijk in $_SERVER['PATH_INFO'] het woord 'login' moeten zien staan zodat ik die verder kan gebruiken, maar hier staat echter '404.shtml'... in $_SERVER['REQUEST_URI'] staat wel 'login'. Op zich geen ramp maar waar komt die 404.shtml vandaan?
Als ik een inlogformulier gebruik en post, dan krijg ik een legen $_POST-array terug... als ik de .htaccess niet gebruik dan krijg ik wel een gevulde array terug... hoe kan dat?
Dit is het formulier:
Mijn doel is dat ik een url kan gebruiken als:
www.website.nl/login/do/1/bla/bli/etc/etc...
die me dit terug geeft:
$_GET['page']='login'
$_GET['action']='do'
$_GET['id']=1
$_GET['attr1']='bla'
$_GET['attr2']='bli'
en dan nog onbeperkt aantal attributen $_GET['attr3'], $_GET['attr4']...etc...
(in een zo kort mogelijke .htaccess, het kan met de .htaccess die ik nu gebruik maar dan werkt de POST niet goed...)
code:
1
2
3
4
5
6
7
8
| Options +FollowSymLinks Options +Indexes RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^/favicon.ico RewriteRule .* index.php%{REQUEST_URI} |
Als ik een inlogformulier gebruik en post, dan krijg ik een legen $_POST-array terug... als ik de .htaccess niet gebruik dan krijg ik wel een gevulde array terug... hoe kan dat?
Dit is het formulier:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| <?php print_r($_POST); /* if ( $_GET['logout'] == 1 ) $user->logout('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); if ( !$user->is_loaded() ) { //Login stuff: if ( isset($_POST['uname']) && isset($_POST['pwd'])){ if ( !$user->login($_POST['uname'],$_POST['pwd'],$_POST['remember'] )){//Mention that we don't have to use addslashes as the class do the job echo 'Wrong username and/or password'; }else{ //user is now loaded header('Location: login'); } } */ ?> <form name="login" method="post" action="login" /> <table cellpadding="0" cellspacing="0" border="0"> <tr><td>Gebruikersnaam:</td><td><input type="text" name="uname" /></td></tr> <tr><td>Wachtwoord:</td><td><input type="password" name="pwd" /></td></tr> <tr><td>Onthouden?:</td><td><input type="checkbox" name="remember" value="1" /></td></tr> <tr><td></td><td><input type="submit" value="Inloggen" /></td></tr> </table> </form> <?php /* } else{ //User is loaded echo '<a href="logout">logout</a>'; } */ ?> |
Mijn doel is dat ik een url kan gebruiken als:
www.website.nl/login/do/1/bla/bli/etc/etc...
die me dit terug geeft:
$_GET['page']='login'
$_GET['action']='do'
$_GET['id']=1
$_GET['attr1']='bla'
$_GET['attr2']='bli'
en dan nog onbeperkt aantal attributen $_GET['attr3'], $_GET['attr4']...etc...
(in een zo kort mogelijke .htaccess, het kan met de .htaccess die ik nu gebruik maar dan werkt de POST niet goed...)