Poste un message style livre d'or
Résolu/Fermé
mariang
Messages postés
30
Date d'inscription
lundi 21 mars 2011
Statut
Membre
Dernière intervention
24 avril 2016
-
9 avril 2016 à 16:48
Utilisateur anonyme - 24 avril 2016 à 21:50
Utilisateur anonyme - 24 avril 2016 à 21:50
A voir également:
- Poste un message style livre d'or
- Comment recuperer un message supprimé sur whatsapp - Guide
- Style word - Guide
- Message d'absence thunderbird - Guide
- Livre coran en français pdf - Télécharger - Histoire & Religion
- Acheter colis perdu poste - Guide
8 réponses
Salut
le mieux est de suivre un tuto complet sur le sujet parce qu'en collant des bouts de code pris à droite à gauche vous n'arriverez à rien.
Par exemple il ne faut plus utiliser les fonctions mysql_... et finir par mysql_close
De nos jours en php on utilise la notation objet PDO qui est plus sûre.
http://php.net/manual/fr/book.pdo.php
Une explication précise ici
http://php.developpez.com/faq/?page=pdo
le mieux est de suivre un tuto complet sur le sujet parce qu'en collant des bouts de code pris à droite à gauche vous n'arriverez à rien.
Par exemple il ne faut plus utiliser les fonctions mysql_... et finir par mysql_close
De nos jours en php on utilise la notation objet PDO qui est plus sûre.
http://php.net/manual/fr/book.pdo.php
Une explication précise ici
http://php.developpez.com/faq/?page=pdo
mariang
Messages postés
30
Date d'inscription
lundi 21 mars 2011
Statut
Membre
Dernière intervention
24 avril 2016
1
10 avril 2016 à 19:11
10 avril 2016 à 19:11
ôh pôvre !
j'ai mis un temps fou pour commencer à me faire peu à peu au php et vous parler de pdo ?
Je ne vais pas m'en sortir.... !
j'ai suivi votre conseil Hermit de suivre un tuto complet sur le sujet et j'ai toujours le même problème...
la table reste vide...
j'ai mis un temps fou pour commencer à me faire peu à peu au php et vous parler de pdo ?
Je ne vais pas m'en sortir.... !
j'ai suivi votre conseil Hermit de suivre un tuto complet sur le sujet et j'ai toujours le même problème...
la table reste vide...
mariang
Messages postés
30
Date d'inscription
lundi 21 mars 2011
Statut
Membre
Dernière intervention
24 avril 2016
1
10 avril 2016 à 19:15
10 avril 2016 à 19:15
j'ai trouvé un tuto pdo... je vais tenter de le faire...
Utilisateur anonyme
10 avril 2016 à 20:49
10 avril 2016 à 20:49
Bonsoir
Quand tu auras réussi à faire fonctionner mysql avec PDO, tu vérifieras soigneusement les noms de tes champs. Dans ton formulaire, tu mets
Quand tu auras réussi à faire fonctionner mysql avec PDO, tu vérifieras soigneusement les noms de tes champs. Dans ton formulaire, tu mets
name="message"sans majuscule, alors qu'en PHP, tu testes
$_POST['Message']avec un M majuscule. Ça ne peut pas marcher tel quel, il faut respecter la casse.
mariang
Messages postés
30
Date d'inscription
lundi 21 mars 2011
Statut
Membre
Dernière intervention
24 avril 2016
1
11 avril 2016 à 18:58
11 avril 2016 à 18:58
ok, je vais m'y atteler...
mariang
Messages postés
30
Date d'inscription
lundi 21 mars 2011
Statut
Membre
Dernière intervention
24 avril 2016
1
20 avril 2016 à 19:42
20 avril 2016 à 19:42
Bonsoir, c'est encore moi...
la méthode PDO j'ai essayé mais je n'y suis pas arrivée...
déjà, j'ai réussi à solutionner un problème en travaillant avec phpmyadmin, en insérant directement des messages et par bonheur, le dernier s'affiche sur la page, tel que je le voulais.
mais l'autre et le plus important reste insoluble pour moi
et ce n'est pas faute de chercher à comprendre.
je vous remets le code pour insérer une annonce en me fiant un tuto pour débutant...
mais il est certain qu'il y a une erreur, mais j'en peux plus de ne rien voir...
Dites-moi, svp, où ça coince...
merci pour votre aide et patience
la méthode PDO j'ai essayé mais je n'y suis pas arrivée...
déjà, j'ai réussi à solutionner un problème en travaillant avec phpmyadmin, en insérant directement des messages et par bonheur, le dernier s'affiche sur la page, tel que je le voulais.
mais l'autre et le plus important reste insoluble pour moi
et ce n'est pas faute de chercher à comprendre.
je vous remets le code pour insérer une annonce en me fiant un tuto pour débutant...
mais il est certain qu'il y a une erreur, mais j'en peux plus de ne rien voir...
<?php include_once ('fonctions/injection.php'); //include ('fonctions/injection.php'); if (isset($_POST['go']) && $_POST['go']=='L\'ajouter au site') { if ((isset($_POST['Message']))) { // si la variable n'est pas vide, on fera notre insertion dans la base if ((!empty($_POST['Message']))) { // on se connecte à notre base mysql_connect ("localhost", "login-site", "mdp"); mysql_select_db ("longecote"); // on prepare notre requête d'insertion des données $Message = mysql_real_escape_string(htmlspecialchars($_POST['Message'])); $sql = mysql_query("INSERT INTO longecote VALUES ('','" . $Message . "')"); // on lance la requête et on impose un message d'erreur mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); // on ferme la connexion à la base de données mysql_close(); // on redirige le visiteur vers la page header('Location: longecote.php'); // on termine le script courant exit(); }}} // on entre dans le cas où le formulaire s'affichera). ?> <html> <head> <title>Annonce Météo</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> </head> <body > <font face="Comic Sans MS" size="4" > <div align="center"> <!-- On commence le formulaire --> <form action="longecote.php" method="post"> <div> <font face="Comic Sans MS" size="4" color="#006699"><b> <b>Bonjour. <br />Selon la météo, taper l'annonce pour le longe-côte / marche dans l'eau du mardi.</b> <br /><br /> <br /><br /> <div> <fieldset><legend>Saisir l'annonce</legend> <br /> <textarea rows="7" name="Message" cols="66"><?php if (isset($_POST['Message'])) echo htmlspecialchars($_POST['Message']); ?></textarea> <br /><br /> </fieldset> <br /><br /><input type="submit" name="go" value="L'ajouter au site" /><br /> <br /><br /> </font> </div> </form> </body> </html>
Dites-moi, svp, où ça coince...
merci pour votre aide et patience
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
20 avril 2016 à 22:21
20 avril 2016 à 22:21
Bonsoir
Il y a plusieurs erreurs et maladresses, mais a priori ça devrait quand même enregistrer ton message.
Les principaux points :
1 - As-tu un message d'erreur ? Quand il y en a un, il faut toujours le copier-coller intégralement, c'est une aide précieuse pour comprendre ce qui se passe.
2 - Tu mets action="longecote.php" dans ton formulaire : la page qui traite le formulaire s'appelle bien longecote.php ? Tout le code que tu montres est bien dans ce même fichier longecote.php ?
3 - Si tout ceci est bien dans le fichier longecote.php, il ne faut pas faire header('Location: longecote.php'); puisque on est déjà dans cette page !
4 - Essaye de piéger une éventuelle erreur de connexion à la bas en ajoutant un
5 - Tu fais deux fois appel à mysql_query : c'est une fois de trop. Tu devrais supprimer le premier appel pour avoir
Quand tout ça marchera, il faudra songer à passer à mysqli_ ou PDO car mysql_ est vraiment, vraiment déconseillé maintenant.
Il y a plusieurs erreurs et maladresses, mais a priori ça devrait quand même enregistrer ton message.
Les principaux points :
1 - As-tu un message d'erreur ? Quand il y en a un, il faut toujours le copier-coller intégralement, c'est une aide précieuse pour comprendre ce qui se passe.
2 - Tu mets action="longecote.php" dans ton formulaire : la page qui traite le formulaire s'appelle bien longecote.php ? Tout le code que tu montres est bien dans ce même fichier longecote.php ?
3 - Si tout ceci est bien dans le fichier longecote.php, il ne faut pas faire header('Location: longecote.php'); puisque on est déjà dans cette page !
4 - Essaye de piéger une éventuelle erreur de connexion à la bas en ajoutant un
or die (mysql_error());aprés le mysql_connect et le mysql_select_db.
5 - Tu fais deux fois appel à mysql_query : c'est une fois de trop. Tu devrais supprimer le premier appel pour avoir
$sql="ta requête"; mysql_query($sql);au lieu de
$sql=mysql_query("ta requête"); mysql_query($sql);
Quand tout ça marchera, il faudra songer à passer à mysqli_ ou PDO car mysql_ est vraiment, vraiment déconseillé maintenant.
mariang
Messages postés
30
Date d'inscription
lundi 21 mars 2011
Statut
Membre
Dernière intervention
24 avril 2016
1
23 avril 2016 à 19:14
23 avril 2016 à 19:14
bonsoir,
mer revoilà, une fois de plus vers vous...
donc, le père, pour répondre à toi... si tu veux encore m'aider, bien sûr...
"1 - As-tu un message d'erreur ? " => non, je n'ai pas de message d'erreur
"2 - Tu mets action="longecote.php" dans ton formulaire" => non, c'est une erreur ma page s'appelle "acc_longecote.php"
"il ne faut pas faire header('Location: longecote.php');" => j'ai supprimé
et pour 4 et 5 j'ai fait les modif...
Ca, c'était pour répondre...
J'ai refait des modifications dont voici la nouvelle page.
Déjà, un bon point pour moi, qui ne le sera pas pour toi car tu va y trouver des erreurs, mais ENFIN, ma table longecote enregistre les messages...
Par contre, mon nouveau souci, et j'ai cherché, c'est que maintenant, je n'ai plus accès à ma page directement.
j'aimerai quand on a "posté" le message, aller directement sur ma page "acc_longecote.php" ; hors, je reste sur la page "annonce" mais toute blanche...
peux-tu m'aiguiller ?
promis, dès que j'aurai ces pages en fonction, pour la semaine prochaine, je me mettrai au pdo
je te redonne mon code
comment basculer directement sur la page où l'annonce s'affichera ?
mer revoilà, une fois de plus vers vous...
donc, le père, pour répondre à toi... si tu veux encore m'aider, bien sûr...
"1 - As-tu un message d'erreur ? " => non, je n'ai pas de message d'erreur
"2 - Tu mets action="longecote.php" dans ton formulaire" => non, c'est une erreur ma page s'appelle "acc_longecote.php"
"il ne faut pas faire header('Location: longecote.php');" => j'ai supprimé
et pour 4 et 5 j'ai fait les modif...
Ca, c'était pour répondre...
J'ai refait des modifications dont voici la nouvelle page.
Déjà, un bon point pour moi, qui ne le sera pas pour toi car tu va y trouver des erreurs, mais ENFIN, ma table longecote enregistre les messages...
Par contre, mon nouveau souci, et j'ai cherché, c'est que maintenant, je n'ai plus accès à ma page directement.
j'aimerai quand on a "posté" le message, aller directement sur ma page "acc_longecote.php" ; hors, je reste sur la page "annonce" mais toute blanche...
peux-tu m'aiguiller ?
promis, dès que j'aurai ces pages en fonction, pour la semaine prochaine, je me mettrai au pdo
je te redonne mon code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Annonce Météo</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> </head> <body> <font face="Comic Sans MS" size="4" > <div align="center"> <!-- On commence le formulaire --> <?php include_once ('fonctions/injection.php'); //include ('fonctions/injection.php'); if (isset($_POST['go']) && $_POST['go']=='L\'ajouter au site') { // si la variable n'est pas vide, on fera notre insertion dans la base if ((!empty($_POST['Message']))) { // on se connecte à notre base mysql_connect ("localhost", "login-site", "mdp"); mysql_select_db ("longecote"); // on prepare notre requête d'insertion des données $Message = mysql_real_escape_string(htmlspecialchars($_POST['Message'])); $sql = "INSERT INTO longecote VALUES ('','" . $Message . "')"; // on lance la requête et on impose un message d'erreur mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); // on ferme la connexion à la base de données mysql_close(); // on termine le script courant exit(); }} // on entre dans le cas où le formulaire s'affichera). ?> <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES); ?>" method="post"> <div> <font face="Comic Sans MS" size="4" color="#006699"><b> <b>Bonjour. <br />Selon la météo, taper l'annonce pour le longe-côte / marche dans l'eau du mardi.</b> <br /><br /> <br /><br /> <div> <fieldset><legend>Saisir l'annonce</legend> <br /> <textarea rows="7" name="Message" id="Message" cols="66"><?php if (!empty($_POST['Message'])) : echo htmlspecialchars($_POST['Message']); endif; ?></textarea> <br /><br /> </fieldset> <br /><br /><input type="submit" name="go" value="L'ajouter au site" /><br /> <br /><br /> </font> </div> </form> </body> </html>
comment basculer directement sur la page où l'annonce s'affichera ?
Utilisateur anonyme
24 avril 2016 à 10:35
24 avril 2016 à 10:35
Ça y est presque, du moins il me semble.
Tu restes sur une page blanche parce que tu as retiré le
MAIS il y a un mais. Un petit, je te rassure.
La fonction header DOIT être appelée avant l'envoi des données (code HTML et echo du PHP) au client.
Donc avant ta balise<!DOCTYPE>
Il faut même faire attention à ne pas laisser une simple ligne vide avant la première balise <?php
Il faut donc remettre le traitement PHP au début, comme tu l'avais fait dans ton message initial.
Tu restes sur une page blanche parce que tu as retiré le
header("Location...". Je t'avais dit de le retirer parce que c'était une redirection vers la page elle-même, ce qui n'avait pas de sens. Si c'est vers une autre page, il faut le remettre.
MAIS il y a un mais. Un petit, je te rassure.
La fonction header DOIT être appelée avant l'envoi des données (code HTML et echo du PHP) au client.
Donc avant ta balise<!DOCTYPE>
Il faut même faire attention à ne pas laisser une simple ligne vide avant la première balise <?php
Il faut donc remettre le traitement PHP au début, comme tu l'avais fait dans ton message initial.
mariang
Messages postés
30
Date d'inscription
lundi 21 mars 2011
Statut
Membre
Dernière intervention
24 avril 2016
1
24 avril 2016 à 14:36
24 avril 2016 à 14:36
je te remercie grandement pour ton aide et ta patience.
par contre, j'ai remplacé la ligne header() par une redirection javascript.
et ça fonctionne...
Quand j'aurai mis ma tête au repos... je verrai pour tout remettre en pdo bien que j'ai déjà essayé en suivant un tuto apparemment bien fait mais j'ai des messages d'erreur qu'il faut que j'arrive à comprendre et à corriger.
En attendant, encore un énorme MERCI pour ton écoute
par contre, j'ai remplacé la ligne header() par une redirection javascript.
et ça fonctionne...
Quand j'aurai mis ma tête au repos... je verrai pour tout remettre en pdo bien que j'ai déjà essayé en suivant un tuto apparemment bien fait mais j'ai des messages d'erreur qu'il faut que j'arrive à comprendre et à corriger.
En attendant, encore un énorme MERCI pour ton écoute
9 avril 2016 à 23:09
Cf l'article de FAQ à propos de l'obsolescence (et dangerosité) de l'extension MySQL.