Problème de réalisation d'un formulaire de contact

[Fermé]
Signaler
Messages postés
1
Date d'inscription
mercredi 1 avril 2015
Statut
Membre
Dernière intervention
1 avril 2015
-
Messages postés
33695
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2021
-
Bonjour . je suis débutante en php et je viens d'écrire un code d'un formulaire de contact et j 'ai besoin que les informations soient transmises vers une base de données . le problème c'est que j'arrive pas exécuter le code je recois le message d'erreur :


Notice: Undefined index: username in C:\xampp\htdocs\tp\comeon.php on line 12

Notice: Undefined index: password in C:\xampp\htdocs\tp\comeon.php on line 13

voila mon code
<html><body> 
<center>
<form method="post" action="verif.php"> 
<strong>username  </strong> : <input type="text" name="username" size="12"><br><br> 
<strong>password </strong> : <input type="password" name="password" size="12"> <br><br>
<strong>retapez votre password </strong> : <input type="password" name="repeat password">
<br><br>
<input type="submit" value="OK"> <br>
</center>
</form></body></html>
<?php 
$username = $_POST['username']; 
$password = $_POST['password']; 
if(isset($_POST['submit']))
{
$username=htmlentities(trim($_POST['username']));
$password=htmlentities(trim($_POST['password']));
$repeatpassword=htmlentities(trim($_POST['repeatpassword']));
if($username&&$password&&$repeatpassword)
{
if ($password==$repeatpassword)
{
$connect=mysql_connect('localhost',' ',' ')or die('error');
mysql_select_db($formulaire,connect);



$query=mysql_query("INSERT INTO inscription  VALUES('','$username','$password')");

} else echo " les deux password ne sont pas identiques .veuillez réessayer." ;
} echo " ce username est déja utilisé" ;

}

?>


EDIT : Ajout des balises de code

1 réponse

Messages postés
33695
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2021
3 765
Bonjour,

lignes 12 et 13 de ton code... tu essayes d'utiliser des variables alors qu'elle n'existent peut être pas.
Pour éviter cela tu dois utiliser isset.
comme ceci :
$username = isset($_POST['username'])?$_POST['username']:''; 
$password = isset($_POST['password'])?$_POST['password']:''; 


Messages postés
33695
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2021
3 765
PS:
Penses à mettre le code PHP au début de ta page .... c'est plus simple pour s'y retrouver. (c 'est juste une "bonne" habitude à prendre )


<?php 
//récupération des variables
$username = isset($_POST['username'])?htmlentities($_POST['username']):''; 
$password = isset($_POST['password'])?htmlentities($_POST['password']):'';
$repeatpassword= isset($_POST['repeat_password'])?htmlentities($_POST['password']):'';

//traitement du submit
if(isset($_POST['submit'])){
 if($username&&$password&&$repeatpassword){
  if ($password==$repeatpassword){
   // tu devrais placer la connexion dans un fichier à part
  // et en faire un include lorsque tu en as besoin 
   $connect=mysql_connect('localhost',' ',' ')or die('error');
    mysql_select_db($formulaire,connect);
    $sql = "INSERT INTO inscription  VALUES('','$username','$password')";
     $query=mysql_query($sql);
  } else{
     echo " les deux password ne sont pas identiques .veuillez réessayer." ;
  }
 } echo " ce username est déja utilisé" ;

}

?>
<html>
<head>
<title></title>
</head>
<body> 
<center>
<form method="post" action=""> 
<strong>username  </strong> : <input type="text" name="username" size="12" value="<?php echo $username; ?>"><br><br> 
<strong>password </strong> : <input type="password" name="password" size="12" value="<?php echo $password ; ?>"> 
<br><br>
<strong>retapez votre password </strong> : <input type="password" name="repeat_password">
<br><br>
<input type="submit" value="OK"> <br>
</center>
</form></body></html>