2011-07-08 3 views
0

Je crée un simple script de connexion php et je le teste dans firefox avant de télécharger le serveur, mais à ma surprise, il échoue à chaque fois.
//index.phpscript de connexion php de base échouant

<form name="form1" method="post" action="checklogin.php"> 
    username<input name="myusername" type="text" id="myusername"> 
    password<input name="mypassword" type="password" id="mypassword"> 
    <input type="submit" name="Submit" value="Login"> 
</form> 


//checklogin.php

<?php 
// username and password sent from form 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 
if($myusername==='stackoverflow') 
{ 
    if($mypassword==='stackoverflow') 
    { 
     session_register("myusername"); 
     session_register("mypassword"); 
     header("location:login_success.php"); 
    } 
} 

else echo ("<h2>wrong username or password</h2><br><a href='index.php'>click here to try again</a>"); 
?> 


quand je laisse tomber le script index.php dans Firefox 4 et le type nom d'utilisateur et mot de passe, il montre toujours wrong username or password . Je pensais que ce script était basique mais il me échappe toujours. S'il vous plaît aider.

+2

Vous savez que votre script ne sortira quelque chose que si un nom d'utilisateur erroné est entré, mais si c'est le bon nom d'utilisateur avec un mot de passe erroné, une page blanche sera imprimée? – Bobby

+0

Son travail dans mon navigateur! Essayez de supprimer les cookies – Nitish

+1

Hey Denis, que voulez-vous dire par "déposer le fichier index.php" dans Firefox? Vous devrez le télécharger sur votre serveur de développement local et l'ouvrir en tant qu'URL dans votre Firefox. Je veux juste confirmer si vous faites cela. – Keshav

Répondre

0

add var_dump ($ _ POST) à votre script et comparer les résultats avec les valeurs attendues

0

Assurez-vous que vous appelez:

session_start(); 

en haut de votre script, peut aussi aider. Mais comme dit @Bobby, vous ne serez redirigé que si votre nom d'utilisateur et mot de passe sont corrects. Et dans ce cas, il n'y a pas encore de nom d'utilisateur et mot de passe.

1

Vous utilisez:

=== 

TRUE si $ est égal à $ b, et ils sont du même type. (Introduit en PHP 4)

Essayez d'utiliser:

== 

$ a == $ b égalité TRUE si $ est égal à $ b après la jonglerie de type.

Voir si cela fait une différence.

0

Assurez-vous que vous avez tapé header("location:login_success.php");

et non

header("location:checklogin.php");

dans votre éditeur!