Php
shevva
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
shevva Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
shevva Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai ecrit ce programme m1 on m'indique une erreur a la ligne 26.(Notice: Undefined index: Pseudo in C:\Program Files\EasyPHP-12.1\www\Nouveau dossier\Formulaire d'insert bd ingtlc1 tbl comment.php on line 26
Notice: Undefined index: Commentaires in C:\Program Files\EasyPHP-12.1\www\Nouveau dossier\Formulaire d'insert bd ingtlc1 tbl comment.php on line 26)
svp aidez moi a resoudre ce probleme.
<html>
<head>
<title>commentaires</title>
</head>
<body>
<form method="POST" ACTION="" >
<table align="center" width="100px" weight="600px" bgcolor="#0099FF" border="2">
<tr><td><B>Pseudo:</B></td><td><input name="Pseudo" type="text"/></td></tr>
<tr><td><B>Commentaires:</B></td><td><input name="Commentaires" type="textarea"/></td></tr>
<tr><td colspan=2 align="center"><input name="Envoyer" value="Envoyer" type="submit"/><input name="Annuler" value="Annuler" type="reset"></tr>
</table>
<?php
// CONNEXION A LA BASE DE DONNEE
try{
$bdd=new PDO('mysql:host=127.0.0.1;dbname=ing1tlc','root','');
}
// GESTION D'ERREUR
catch(exception $e)
{
die('ERREUR:'.$e->getMessage());
}
// INSERTION DANS LA BASE DE DONNEE
$req=$bdd->prepare('INSERT INTO comment(Pseudo,Commentaires)VALUES(?,?)');
$req->execute(array($_POST['Pseudo'],$_POST['Commentaires']));
// SELECTION DE 5 ELEMENTS POUR AFFICHAGE
$reponse=$bdd->query('SELECT*FROM comment ORDER BY id DESC LIMIT 0, 5');
// AFFICHAGE DES DONNEES 1 A 5
while($donnees=$reponse->fetch())
{
?>
<?php
echo $donnees['Pseudo'];
?>
:
<?php
echo $donnees['Commentaires'];
$reponse->closecurser();
}
?>
</form>
</body>
</html>
j'ai ecrit ce programme m1 on m'indique une erreur a la ligne 26.(Notice: Undefined index: Pseudo in C:\Program Files\EasyPHP-12.1\www\Nouveau dossier\Formulaire d'insert bd ingtlc1 tbl comment.php on line 26
Notice: Undefined index: Commentaires in C:\Program Files\EasyPHP-12.1\www\Nouveau dossier\Formulaire d'insert bd ingtlc1 tbl comment.php on line 26)
svp aidez moi a resoudre ce probleme.
<html>
<head>
<title>commentaires</title>
</head>
<body>
<form method="POST" ACTION="" >
<table align="center" width="100px" weight="600px" bgcolor="#0099FF" border="2">
<tr><td><B>Pseudo:</B></td><td><input name="Pseudo" type="text"/></td></tr>
<tr><td><B>Commentaires:</B></td><td><input name="Commentaires" type="textarea"/></td></tr>
<tr><td colspan=2 align="center"><input name="Envoyer" value="Envoyer" type="submit"/><input name="Annuler" value="Annuler" type="reset"></tr>
</table>
<?php
// CONNEXION A LA BASE DE DONNEE
try{
$bdd=new PDO('mysql:host=127.0.0.1;dbname=ing1tlc','root','');
}
// GESTION D'ERREUR
catch(exception $e)
{
die('ERREUR:'.$e->getMessage());
}
// INSERTION DANS LA BASE DE DONNEE
$req=$bdd->prepare('INSERT INTO comment(Pseudo,Commentaires)VALUES(?,?)');
$req->execute(array($_POST['Pseudo'],$_POST['Commentaires']));
// SELECTION DE 5 ELEMENTS POUR AFFICHAGE
$reponse=$bdd->query('SELECT*FROM comment ORDER BY id DESC LIMIT 0, 5');
// AFFICHAGE DES DONNEES 1 A 5
while($donnees=$reponse->fetch())
{
?>
<?php
echo $donnees['Pseudo'];
?>
:
<?php
echo $donnees['Commentaires'];
$reponse->closecurser();
}
?>
</form>
</body>
</html>
A voir également:
- Php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
9 réponses
Bonjour
Tu as cette erreur parce que tu traites le formulaire avant de l'avoir reçu, donc avant que $_POST['Pseudo'], $_POST['Commentaire']... ne soient définis.
Il ne faut traiter le formulaire que si les données correspondantes ont été reçues. Pour ça, il faut tester si au moins une ( ou toutes si tu es rigoureux) de ses variables est définie :
Tu as cette erreur parce que tu traites le formulaire avant de l'avoir reçu, donc avant que $_POST['Pseudo'], $_POST['Commentaire']... ne soient définis.
Il ne faut traiter le formulaire que si les données correspondantes ont été reçues. Pour ça, il faut tester si au moins une ( ou toutes si tu es rigoureux) de ses variables est définie :
if (isset($_POST['Pseudo'])) { // traitement du formulaire }
Le message est pourtant clair : cette méthode n'existe pas. Il suffit de vérifier dans la doc.
C'est closeCursor, pas closecurser.
C'est closeCursor, pas closecurser.
Mets un espace entre SELECT*FROM à la ligne 26 comme ça:
$reponse=$bdd->query('SELECT * FROM comment ORDER BY id DESC LIMIT 0,5');As-tu toujours une message d'erreur par la suite?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait,on me signale l'erreur sur la ligne:
$req->execute(array($_POST['Pseudo'],$_POST['Commentaires']));
(Notice: Undefined index: Pseudo in C:\Program Files\EasyPHP-12.1\www\Nouveau dossier\Formulaire d'insert bd ingtlc1 tbl comment.php on line 26
Notice: Undefined index: Commentaires in C:\Program Files\EasyPHP-12.1\www\Nouveau dossier\Formulaire d'insert bd ingtlc1 tbl comment.php on line 26)
svp aidez moi a resoudre ce probleme.
$req->execute(array($_POST['Pseudo'],$_POST['Commentaires']));
(Notice: Undefined index: Pseudo in C:\Program Files\EasyPHP-12.1\www\Nouveau dossier\Formulaire d'insert bd ingtlc1 tbl comment.php on line 26
Notice: Undefined index: Commentaires in C:\Program Files\EasyPHP-12.1\www\Nouveau dossier\Formulaire d'insert bd ingtlc1 tbl comment.php on line 26)
svp aidez moi a resoudre ce probleme.
Merci le pere.cela m'a aide a avancer m1 il ya 1 otre erreur qu'on me signale a la ligne :
$reponse->closecurser();
(Fatal error: Call to undefined method PDOStatement::closecurser() in C:\Program Files\EasyPHP-12.1\www\Nouveau dossier\Formulaire d'insert bd ingtlc1 tbl comment.php on line 39)
$reponse->closecurser();
(Fatal error: Call to undefined method PDOStatement::closecurser() in C:\Program Files\EasyPHP-12.1\www\Nouveau dossier\Formulaire d'insert bd ingtlc1 tbl comment.php on line 39)
Effectivement c une erreur 2 frappe.Derniere question:dans cette partie du code:
// SELECTION DE 5 ELEMENTS POUR AFFICHAGE
$reponse=$bdd->query('SELECT * FROM comment ORDER BY id DESC LIMIT 0, 5');
// AFFICHAGE DES DONNEES 1 A 5
while($donnees=$reponse->fetch())
{
?>
<?php
echo $donnees['Pseudo'];
?>
:
<?php
echo $donnees['Commentaires'];
$reponse->closecursor();
}
?>
</form>
quel erreur je commet pour qu'il affiche chaque nouveau pseudo suivi du commentaire en remplacement du precedent au lieu de les afficher a la chaine sans effacer le precedent.
merci d'avance
// SELECTION DE 5 ELEMENTS POUR AFFICHAGE
$reponse=$bdd->query('SELECT * FROM comment ORDER BY id DESC LIMIT 0, 5');
// AFFICHAGE DES DONNEES 1 A 5
while($donnees=$reponse->fetch())
{
?>
<?php
echo $donnees['Pseudo'];
?>
:
<?php
echo $donnees['Commentaires'];
$reponse->closecursor();
}
?>
</form>
quel erreur je commet pour qu'il affiche chaque nouveau pseudo suivi du commentaire en remplacement du precedent au lieu de les afficher a la chaine sans effacer le precedent.
merci d'avance
Je n'ai rien compris à ta question.
Je suis étonné de voir ton $reponse->closecursor(); à l'intérieur du while.
Pour changer de ligne, il faut mettre un '<br />' après le commentaire
Je suis étonné de voir ton $reponse->closecursor(); à l'intérieur du while.
Pour changer de ligne, il faut mettre un '<br />' après le commentaire