MISE EN ROUTE DU SITE

Use of undefined constant

a marqué ce sujet comme résolu.

Je suis de retour. j'ai fait du progrès entre temps. Mais aujourd’hui je n'arrive pas à comprendre ce qui arrive. Je réussi a faire entrer les données sur la base de données et à faire afficher ce que je voudrais, mais un message s'affiche à l’écran: Notice: Use of undefined constant pseudo - assumed 'pseudo'. et cela ruine tous mes effort. Je ne sais s'il faut que je reprenne pour vous mon code?

Salut !

Comme le dit mon VDD et comme te te l'ai dit dans l'autre sujet :

Il va nous falloir ton code pour en être sûr, mais je pense déjà que quelque part, tu as $_POST[pseudo] au lieu de $_POST['pseudo'] (ou similaire avec $_GET) — note les guillemets simples autour de pseudo dans les crochets. ;)

Ymox

A l'avenir, évite de mettre des titres de discussion en majuscules (je te conseille de modifier), et un petit "Bonjour" n'est jamais malvenu.  :)

+3 -0

C'est vrai, et je m'en excuse. Je vous prie de comprendre que c'est quelque part le stresse. Je reprends donc: Bonjour à tous. Je ne sais pas si la copie du code vous est parvenue, car je ne la voie pas sur ma page veillez donc m'excuser si je reprends le code.

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO("mysql:host=localhost;dbname=vetchobol", "root", "");
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());};
$pseudo=$_POST[pseudo];$el_meail=$_POST[email];$mot_de_passe=$_POST[mot_de_passe];
//requette préparer                                         
$req = $bdd-> prepare('INSERT INTO login(pseudo,el_meail, mot_de_passe) VALUES(:pseudo, :el_meail, :mot_de_passe)');
//execussion de la requette
$req-> execute(array( 
'pseudo' =>$pseudo ,
'el_meail' =>$el_meail ,
'mot_de_passe' => $mot_de_passe));

page cible

1
2
3
4
5
6
7
8
9
<p>
<form action="projet.php" method="POST" >   
<label> pseudo</label><input type="text" name='pseudo' value="pseudo"/></br>
<label> E.mail</label><input type="mail" name='email' value="E.mail"/></br>
<label> saissis ton mot de passe</label><input type="password" name='mot_de_passe' value=""/></br>
<label> confirme ton mot_de_passe</label><input type="password" name='mot_de_passe' value=""/></br>
<input type="submit" value="ok" />
</form>
</p>

page du formulaire

Edit Ymox

Mise en forme des codes

+0 -0

Oula, il y a eu un petit soucis quand tu as copié ton code … Tu as bien utilisé la balise code ? (Le bouton qui ressemble à ça "< >")

Sinon je crois que tu essaies de faire quelque chose qui ressemble à

1
2
3
4
5
<?php
// Ne pas oublier les "'" comme l'ont dit EtienneR et Ymox
$pseudo = $_POST['pseudo'];
$email = $_POST['email'];
$motdepasse = $_POST['mot_de_passe'];
+1 -0

J'ai corrigé la mise en forme de tes codes, et du coup on peut te confirmer que c'est bien un souci d'oubli de guillemets '.

J'en profite pour rappeler les solutions aux soucis d'encodage que je sens venir gentiment.  :-°

Quelques petits détails :

  • essaie d'indenter ton code (= mettre des espaces au début des lignes dans les blocs if, try, etc. délimités par les accolades {}), tout le monde s'y retrouvera plus facilement ;
  • c'est <br /> et non </br> ;
  • pour mettre une "valeur par défaut qui sera remplacée par ce que l'utilisateur veut", plutôt que de mettre value="pseudo", je te proposerais plutôt placeholder="pseudo". Si un utilisateur oublie de changer la valeur d'un champ, avec ce que tu as fait, il sera rempli quand-même, et tu devras vérifier si la valeur n'est pas celle "par défaut", alors qu'avec placeholder, il sera bien vide.
+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte