Nous sommes actuellement le 12 Juil 2026, 20:05

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 
Auteur Message
 Sujet du message: Texte trop long?
MessagePublié: 11 Jan 2005, 17:46 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 19 Sep 2002, 14:29
Message(s) : 572
Localisation : Saint-Georges de Beauce
Bonjour,

j'ai un script qui permet d'ajouter des recettes dans ma base de données. Lorsque les recettes ne sont pas trop longues, tout fonctionne très bien. Si les recettes sont plus longues, il ne les enregistre pas...

Voici la structure d'une des mes tables (mes 3 tables sont semblables):

Image

Voici un aperçu de ma page:

Image

Voici l'erreur que j'obtient:

Image

Et maintenant, voici les scripts:
---ajouter_plats.php---
Code :
<?
echo "<html>

<head>
<title>Ajout de plat</title>
<script type=text/javascript>
function ChangeStatut(formulaire) {
if(formulaire.regagree.checked == true) {formulaire.validation.disabled = false }
if(formulaire.regagree.checked == false) {formulaire.validation.disabled = true }
}
</script>
</head>

<body>

<p align=center><b><u><font size=2 face=Verdana>Ajout d'un plat</font></u></b></p>
<p align=center>&nbsp;</p><form action=ajouter_plats2.php METHOD=post>
<table border=0 width=100%>
  <tr>
    <td width=50% align=right><font face=Verdana size=2>Référence(s):</font></td>
    <td width=50%><input type=text name=ref size=60></td>
  </tr>
  <tr>
    <td width=50% align=right><font face=Verdana size=2>Nom:</font></td>
    <td width=50%><input type=text name=nom size=60></td>
  </tr>
  <tr>
    <td width=50% align=right><font face=Verdana size=2>Temps de
      préparation:</font></td>
    <td width=50%><input type=text name=temps size=60></td>
  </tr>
  <tr>
    <td width=50% align=right><font face=Verdana size=2>Portions:</font></td>
    <td width=50%><input type=text name=portions size=60></td>
  </tr>
  <tr>
    <td width=50% align=right><font face=Verdana size=2>Ingrédients:</font></td>
    <td width=50%><textarea name=ingredients rows=9 cols=54></textarea></td>
  </tr>
  <tr>
    <td width=50% align=right><font face=Verdana size=2>Instructions:</font></td>
    <td width=50%><textarea name=instructions rows=9 cols=57></textarea></td>
  </tr>
  <tr>
    <td width=50% align=center>
      <p align=right><font face=Verdana size=2>Image</font>:</td>
    <td width=50% align=center>
      <p align=left><input type=text name=image size=60></td>
  </tr>
  <tr>
    <td width=100% align=center colspan=2><input type=checkbox name=regagree value=valeur onClick=ChangeStatut(this.form) /><font face=Verdana size=2 color=black> Toutes les infos sont exactes.<br><input type=submit name=validation value=Ajouter disabled /></td>
  </tr>
</table>";
echo "<br><br><div align=center><font face=Verdana size=3 color=black><A HREF=javascript:window.close()>Fermer la fenetre</A>";
echo "</form>
</body>

</html>";
?>


---ajouter_plats2.php---
Code :
<?php
include('config.php3');
mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbbase);
$ref = $_POST['ref'];
$nom = $_POST['nom'];
$temps = $_POST['temps'];
$portions = $_POST['portions'];
$ingredients = $_POST['ingredients'];
$instructions = $_POST['instructions'];
$image = $_POST['image'];
$sql = "INSERT INTO plats (ref, nom, temps, portions, ingredients, instructions, image) VALUES ('$ref', '$nom', '$temps', '$portions', '$ingredients', '$instructions', '$image')";
$res = mysql_query ($sql);
if(!$res) {
echo "<div align=center><font face=Verdana size=3 color=red>Erreur lors de l'ajout!<br>";
} else {
echo "<div align=center><font face=Verdana size=2 color=black>Les informations suivantes ont été inscrites dans la base de donnée:<br><br>";
echo "<div align=center><font face=Verdana size=2 color=black><u>Nom:</u> $nom<br><u>Référence:</u> $ref<br><u>Temps:</u> $temps<br><u>Portions:</u> $portions<br><u>Ingrédients:</u> $ingredients<br><u>Instructions:</u> $instructions<br><u>Image:</u> <img src=img_rec/$image><br>";
}
mysql_close();
echo "<br><br><div align=center><font face=Verdana size=3 color=black><A HREF=javascript:window.close()>Fermer la fenetre</A>";
?>


Lorsque je vais dans PHPMyAdmin et que je l'insère manuellement, tout fonctionne très bien..

Je ne comprends pas!

Merci de m'aider!

A++

PS: Désolé si le post vous semble long mais j'ai tout mis au lieu de vous le redire par la suite..

_________________
-+-Inazad-+-


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 11 Jan 2005, 18:09 
Hors-ligne
A réponse à tout!
A réponse à tout!
Avatar de l’utilisateur

Inscription : 14 Mars 2002, 22:24
Message(s) : 3308
Localisation : Québec
Probablement qu'il y a une gestion des erreurs dans php admin qui coupe le texte avant de le réajouter.

_________________
Linux 2.6.22 debian gcc 4.2
KDE 3.5.7 / xorg-x11 7.3


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 11 Jan 2005, 22:16 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 08 Jan 2002, 11:08
Message(s) : 575
Change ceci:


$res = mysql_query ($sql);
if(!$res) {
echo "<div align=center><font face=Verdana size=3 color=red>Erreur lors de l'ajout!<br>";
} else {
echo "<div align=center><font face=Verdana size=2 color=black>Les informations suivantes ont été inscrites dans la base de donnée:<br><br>";
echo "<div align=center><font face=Verdana size=2 color=black><u>Nom:</u> $nom<br><u>Référence:</u> $ref<br><u>Temps:</u> $temps<br><u>Portions:</u> $portions<br><u>Ingrédients:</u> $ingredients<br><u>Instructions:</u> $instructions<br><u>Image:</u> <img src=img_rec/$image><br>";
}


Par ceci et dit nous ce que tu obtiens:


$message = mysql_error() . "\n";
echo 'Message d'erreur: $message';


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 12 Jan 2005, 17:38 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 19 Sep 2002, 14:29
Message(s) : 572
Localisation : Saint-Georges de Beauce
Voici ma page avant:

Image

Et voici l'erreur que j'obtient:

Code :
Message d\'erreur: '.Erreur de syntaxe près de 'huile d'olive 4 oeufs 4 c. à soupe (60ml) de crème 35% 1/4 c.' à la ligne 1 .'


Vous remarquerez que c'est dans les ingrédients que ça coince...

Merci!

A++

_________________
-+-Inazad-+-


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 12 Jan 2005, 17:50 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 22:38
Message(s) : 5949
Localisation : Quebec
C'est ton apostrohpe le problème. C'est un bog bien connue facile à resoudre. Il te suffit d'utiliser les fonctions stripslashes() et addslashes()

Quand tu enregistres, procédes comme celà :
Code :
$ingredients = addslashes($_POST['ingredients']);


Et quand tu veux le faire afficher :
Code :
echo stripslashes($ingredients);

_________________
Herakles Informatique Inc
Collaborateur pour HardGamers


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 13 Jan 2005, 11:47 
Hors-ligne
Fidèle
Fidèle

Inscription : 06 Jan 2003, 19:14
Message(s) : 689
Je connais bien l'utilité de addslashes(), que j'utilise tout le temps, mais jamais je n'ai utilisé stripslashes. C'est vraiment utile avec les versions courantes ?

Quand tu ajoutes avec addslashes('j'aime') il va faire la requête en tant que set champ1 = 'j\'aime', et une fois dans la bd il sera sous "j'aime". Quand tu le reprends avec SELECT et pour l'afficher, il n'y a donc pas besoin de faire stripslashes..

_________________
Comparateur de prix informatique - InfoPrix.ca


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 13 Jan 2005, 17:33 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 19 Sep 2002, 14:29
Message(s) : 572
Localisation : Saint-Georges de Beauce
Il a raison.

J'ai essayé comme vous avez dit et tout fonctionne!

Merci!

Si j'ai d'autres problèmes, je vous le redirai!

_________________
-+-Inazad-+-


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 13 Jan 2005, 19:23 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 22:38
Message(s) : 5949
Localisation : Quebec
Siger a écrit:
Je connais bien l'utilité de addslashes(), que j'utilise tout le temps, mais jamais je n'ai utilisé stripslashes. C'est vraiment utile avec les versions courantes ?

Quand tu ajoutes avec addslashes('j'aime') il va faire la requête en tant que set champ1 = 'j\'aime', et une fois dans la bd il sera sous "j'aime". Quand tu le reprends avec SELECT et pour l'afficher, il n'y a donc pas besoin de faire stripslashes..


Étrange parce qu'il ne retire pas toujours le \ tout seul, c'est pour ça que je prefere rajouter le stripslashes.

_________________
Herakles Informatique Inc
Collaborateur pour HardGamers


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
cron
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site