|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Lycéen Inscription : mars 2006 Messages : 21 ![]() |
Salut !
Je fais mes premiers pas dans le monde du développement Web, et je dois déjà avouer que c'est beacuoup plus fun Bref Je viens de rencontrer un problème contre lequel je lutte depuis 1 journée Je voudrais faire un scripts de news pour mon futur site, pour me faciliter la tâche, en utilisant les bases de données. J'essaie de faire un test .Je créée une table news, et mets 3 champs : ID(INT auto-increment), titre (longtext), contenu (longtext). Je créée une page contenant 1 champ de texte et une zone de texte, puis le formulaire envoie le tout à une autre page ecriture.php en POST qui est censée récupérer les 2 variables, et les écrire dasn la base de données. Voici le problème : si l'une des 2 informations est trop longue, rien n'est écrit (mais alors DU TOUT, même pas des champs vides) dans la BDD. Quelqu'un pourrait-il m'expliquer pourquoi ? Merci |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() |
sans code, c'est dur
Es-tu sûr de bien récupérer les variables dans ton ecriture.php (genre un ptiti echo après traitement pour voir leur contenu) Si ces variables ont le bon contenu, alors c'est ta requete de mise à jour de BDD qui plante Mais sans code, on ne peut deviner la solution |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Lycéen Inscription : mars 2006 Messages : 21 ![]() |
C'est vrai c'est un peu facile de ma part de vous donner le rpoblème comme ça
Voilà le code, il y a 2 pages, une page envoi qui envoie les informations, une autre qui els récupère et qui les écrit ds la BDD : PAGE D'ENVOI DES DONNEES : ====================== <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Document sans titre</title><head> <body> <p class="Style1" align="center">ECRITURE DE NEWS </p> <p class="Style1" align="center"> </p> <form id="form1" name="form1" method="post" action="ecriture.php"> Titre de la news :<br /> <label> <input type="text" name="titre" maxlength="30" size="80"/> </label> <p>Contenu :<br /> <label> <textarea name="contenu" rows="18" cols="150"></textarea> </label> </p> <p> </p> <p> <label> <input type="submit" name="Submit" value="Valider" /> </label> </p> </form> <p align="left" class="Style2"><br /> <br /> </body> </html> PAGE DE RECEPTION ET D'ECRITURE : =========================== <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Document sans titre</title> </head> <body> <p> <? $titre = $_POST["titre"]; $contenu = htmlentities($_POST["contenu"]); print $titre."<br>".$contenu ; mysql_connect('localhost','root',''); mysql_select_db("site"); mysql_query("INSERT INTO news VALUES('','".$titre."','".$contenu."')"); mysql_close(); ?> </p> <p> </p> <p><a href="envoi.php">Retour</a></p> </body> </html> Voilà c'est à peu près tout merci d'avance |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() Laurent WillemsExpert Stop/Start Inscription : septembre 2002 Messages : 2 551 ![]() |
Le problème se situe au niveau des guillemets de la requête sql
Citation:
Citation:
2) tu n'es pas obligé de mentionné le champ id dans ta requête insert -> ce dernier se remplira automatiquement étant donné qu'il est auto-increment. 3) je te conseille d'ajouter le nom des champs dans la requête insert pour avoir une meilleure visibilité. |
||
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Lycéen Inscription : mars 2006 Messages : 21 ![]() |
Désolé mais ça ne marche toujours pas ...
Je crois que c'est du àa la longueur du texte ... |
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé Sénior
![]() Laurent WillemsExpert Stop/Start Inscription : septembre 2002 Messages : 2 551 ![]() |
As-tu un erreur qui s'affiche sur ta page?
Pourrais-tu modier la partie correspondante de ton code par celle-ci Code :
|
||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Lycéen Inscription : mars 2006 Messages : 21 ![]() |
J'ai enfin trouvé
Le texte ne s'écrit pas dans la base de données à cause des apostrophes qui entravent la commande SQL Il faut donc que j'écrive : $contenu=addslashes($_POST["contenu"]); Merci beacoup à tous |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com