Erreur formulaire php

devilskettle
Invité n'ayant pas de compte PHPfrance

10 août 2015, 19:57

Bonjour,
j'ai un problème avec une variable de mon formulaire. Quand j'ouvre le code sur internet, il me met l'erreur suivante:Notice: Undefined index: username in C:\wamp\www\blog\forum.php on line 37.
et je ne sais pas comment remedier à ce problème. Voici mon code, merci d'avance:

Code : Tout sélectionner

<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <link rel="stylesheet" href="#"/> <link rel="shortcut icon" href="images/photo.ico" type="image/x-icon" /> <title>Forum</title> </head> <body> <h1>Connexion</h1> <form action="chatalone.php" method="post" id="connexion"> <label>Pseudo</label> : <input type="text" name="pseudo" id="pseudo" placeholder="Votre pseudo" required autofocus/><br> <label>Mot de passe</label> : <input type="password" name="mdp" id="mdp" value="bonjour" required autofocus/><br> <input type="submit" name="submit" value="connexion" /> </form> <h1>Inscription</h1> <form action="Inscription.php" method="post"> <label>Pseudo</label> : <input type="text" name="username" id="pseudo2" placeholder="Votre pseudo" required autofocus/><br> <label>Mot de passe</label> : <input type="password" name="mdp" id="mdp2" placeholder="Votre mot de passe" required autofocus/><br> <label>e-mail</label> : <input type="email" name="email" id="email" placeholder="Votre e-mail"/><br> <input type="submit" name="submit" value="Créé le compte"/> </form> <?php session_start(); if (!empty($_SESSION['pseudo'])) { header('Location: forum.php'); } if (isset($_POST['submit'])) { if (!empty($_POST['pseudo'])){ $pseudo = trim($_POST['pseudo']); // Trim sert a supp les espaces en debut ou fin de chaine si il y en a $_SESSION['pseudo'] = $pseudo; } else{ echo 'Veuillez choisir un pseudo!'; } } $utilisateur = $_POST['username'] /*ou $_POST['pseudo'] selon le name du champ du formulaire*/; $query = $pdo->query('SELECT id FROM inscription WHERE pseudo = '.$utilisateur.''); if(mysql_num_rows($query) == 1){ // Pseudo déjà utilisé echo 'Ce pseudo est déjà utilisé'; }else{ // Pseudo libre mysql_query('INSERT INTO inscription (pseudo) VALUE ('.$utilisateur.')'); header('Location: confirmation.html'); } ?> </body> </html>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

10 août 2015, 22:58

salut,

il faut que tu mette la seconde partie de ton code php dans le if (isset($_POST['submit'])) .

L'erreur est due au fait que l'index n'existe pas dans le tableau $_POST quand le formulaire n'est pas posté (donc au premier affichage).

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 3 Messages

11 août 2015, 12:33

holalalalaa! mille fois merci ça fait 2 jours que je suis dessus et je ne comprenais pas pourquoi ça ne fonctionnait pas !
grazie mille. :D ;p

Vraiment très peu pour être heureux, il faut se satisfaire du nécessaire....