2010-08-28 12 views
0

ok voici la situation, je veux utiliser un formulaire de connexion pour, par exemple,Formulaire PHP, comment faire écho sur la même page?

<form name="form1" method="post" action="sign.php"> 
    Username:<br/> 
    <input name="myusername" type="text" id="myusername" /><br /> 
    Password:<br /> 
    <input name="mypassword" type="text" id="mypassword" /><br /> 
    <input type="submit" name="Submit" value="Login" /> 
</form> 

sign.php

<?php 
ob_start(); 
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="cosmos"; // Database name 
$tbl_name="members"; // Table name 

// Connect to server and select databse. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

// Define $myusername and $mypassword 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 

// To protect MySQL injection (more detail about MySQL injection) 
$myusername = stripslashes($myusername); 
$mypassword = stripslashes($mypassword); 
$myusername = mysql_real_escape_string($myusername); 
$mypassword = mysql_real_escape_string($mypassword); 
$mypassword = md5($mypassword); 

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; 
$result=mysql_query($sql); 

// Mysql_num_row is counting table row 
$count=mysql_num_rows($result); 
// If result matched $myusername and $mypassword, table row must be 1 row 

if($count==1){ 
// Register $myusername, $mypassword and redirect to file "login_success.php" 
session_register("myusername"); 
session_register("mypassword"); 
header("location:login_success.php"); 
} 
else { 
echo "Wrong Username or Password"; 
} 

    ob_end_flush(); 
?> 

En cas si l'utilisateur entre des détails erronés alors je veux que cela apparaisse sur la même page de la forme quelque chose comme ... « Mauvais nom d'utilisateur ou mot de passe, Veuillez réessayer ... "et nous avons la forme en bas

+0

Si vous avez besoin d'un saut de ligne après les étiquettes de formulaire, enveloppez-les dans un élément 'label' (ils sont bons pour ce genre de chose, voir;) et donnez-le' display: block' –

+0

en fait celui-ci est forme de démonstration :), merci –

Répondre

1

Testez pour voir si un POST s'est produit. Si oui, vérifiez les informations d'identification; si c'est correct, rediriger vers la page de destination; si incorrect, affichez le message d'erreur. Ensuite, affichez le formulaire.

+0

ce serait comme si (isset ($ _ POST [mon_nom_utilisateur])) {echo "Corriger";} else {echo "Echec";} –

Questions connexes