2009-11-17 4 views
0
<?php 
//start the session 
mysql_connect("localhost","root",""); 

@mysql_select_db(fcs) 
    or die("Unable to select Database"); 

//check if the form has been submitted 
if(isset($_POST['submit'])){ 
    $msg=""; 

    //VALIDATE form information 
    if(empty($_POST['uname'])){ 
    $msg="Please enter your username."; 
    } 

    if(empty($_POST['upass'])){ 
    $msg .="Please enter your password."; 
    } 



    //check length of password 
    if(strlen($_POST['upass']) > 6){ 
    $msg .="Invalid password."; 
    } 

    if(empty($msg)){ 


    $sql = "SELECT uname,upass FROM administrator WHERE user ='".$_POST['uname']."'"; 
    $sql .= "AND password ='".md5($_POST['password'])."'"; 

    if(!$res = mysql_query($sql)){ 
     $msg.=mysql_error(); 
    }else{ 
     //user exists in system, set the session variables 
     if (mysql_num_rows($res) == 1) { 

     while($row = mysql_fetch_assoc($res)){ 
     // the user name and password match, 
      $_SESSION['uname'] = $row['uname']; 
      $_SESSION['upass'] = $_POST['upass']; 

      //Now go to the main page 
      header('location../admin.php'); 
     } 
     }else{ 
     $msg = "Your login details did not match"; 
     }//end numrows check 
    }//end res check 
    } 


}//end submit check 
?> 

Note:est le code Admin Connectez-vous en PHP, quand je lance le code, il ne charge pas la page que je veux

Je veux charger le (admin.php) Page, si l'utilisateur le nom et le mot de passe est correct autre juste disply un message:

+0

Où est le message et quelle est votre question? – Gumbo

+0

pourquoi la redirection vers la page d'admin dans une boucle? – Natrium

+0

La concaténation des variables $ _POST non échappées dans une chaîne de requête MySQL est un problème de sécurité énorme - http://xkcd.com/327/. Au minimum, envisagez d'utiliser les AOP et les déclarations préparées: http://uk.php.net/manual/fr/pdo.prepared-statements.php –

Répondre

3

l'en-tête fonction doit être utilisée comme ceci:

header('Location: ../admin.php'); 

et serait encore mieux si vous avez spécifié l'URL complète absolue comme ceci:

header('Location: http://www.example.com/admin.php'); 

C'est parce que le RFC 2616 requiert qu'il soit un URI absolu (bien que la plupart des navigateurs prennent en charge URL relative est trop):

Location = "Location" ":" absoluteURI 
0

tête de votre emplacement doit être:

header('Location: http://www.example.com/admin.php'); 

et vous besoin de démarrer la session en haut du script en utilisant:

session_start(); 

Ce code de début de session doit être au début de chaque page qui doit accéder aux variables $ _SESSION.

Questions connexes