Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/06/2006, 10h43   #1
Invité de passage
 
Inscription : février 2006
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 59
Points : 4
Points : 4
Envoyer un message via MSN à ahmet57
Par défaut [Conception] probleme 1er enregistrement

Bonjout tout le monde,

voila mon problème :

a partir des données que je récupère je fais un update d'une table --

Ca fonctionne très bien à part pour le premier enregistrement :
voila le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$Output[$j] .= "<form method='POST' name='envoyer$IdIco' ction='envoi_commentaire.php?aydi=$IdIco'>";
// je récupère les valeurs depuis la requete
    $ChampTexte1 = $ctItem["stru_comment1"];
   $ChampTexte2 = $ctItem["stru_comment2"];
   if ($AutoriserEcriture == True)// si on a l'autorisation d'écrire on peut saisir dans les champs et on affiche le bouton pour modifier
   {
      $Output[$j] .= "<td width='3' height='5'><input type='text' name='txtCommentaire1$IdIco' value=\"$ChampTexte1\" maxlength='3' size='3'>";
      $Output[$j] .= "<td width='1%' height='5'><input type='text' name='txtCommentaire2$IdIco' value=\"$ChampTexte2\" size='30'>";
      $Output[$j] .= "<td><input type='submit' name='btnCommentaire2$IdIco' value='$IdIco' style='width:50;height:20;'></td>";
      $Output[$j] .= "</form>";
   }
   else// affichage seulement des champs de saisie et on n'affiche pas le bouton modifier
   {
      $Output[$j] .= "<td width='3' height='5'><input type='text' name='txtCommentaire1$IdIco' value=\"$ChampTexte1\" maxlength='3' size='3' readonly>";
      $Output[$j] .= "<td width='1%' height='5'><input type='text' name='txtCommentaire2$IdIco' value=\"$ChampTexte2\" size='30' readonly>";
      $Output[$j] .= "</form>";
}
Je ne comprend pas pourquoi ca ne fonctionne pas, en fait lorsque je clique sur le bouton de submit, pour tout les enregistrements, ca me renvoie bioen à la page envoie_commentaire.php?aydi=$IdICo sauf pour le premier enregistrement.

Pourtant lors de l'affichage, je récupère bien les bonnes valeurs, même pour le 1er enregis.

Quelqu'un aurait une idée ???

Merci
ahmet57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 10h51   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
dans ta balise form, il y a écrit "ction" au lieu de "action"
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 10h54   #3
Invité de passage
 
Inscription : février 2006
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 59
Points : 4
Points : 4
Envoyer un message via MSN à ahmet57
non ca c'était juste un mauvais copier coller je pense parceque dans le code executé y'a bien action.

sinon j'ai pas de message d'erreur. le problème c'est que je sais pas pourquoi mais pour le premier enregistrement, le formulaire ne me renvoie pas à la page qui a dans 'action'.
Mais pour les enregistrements suivant ca focntionnne très bien ...
ahmet57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 11h15   #4
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
La première fois que tu affiches le formulaire, quand tu vérifies ton code HTML généré, il est bien normal ? notamment les trucs affichés avec des variables PHP comme $IdIco ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 11h25   #5
Invité de passage
 
Inscription : février 2006
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 59
Points : 4
Points : 4
Envoyer un message via MSN à ahmet57
$IdIco me renvoi bien l'id du premier enregistrement.
meme les champs texte du premier enregistrement sont correct.
c'est juste que je sais pas pourkoi mais pour le premier enregistremnt, je crois qu'il n'ouvre pas le fichier qu'il y a dans action ....
Il fait une sorte de rafraichissmeent de la page en changeant quelques paramètres d'affichage mais ca ne change rien dans la base de données.

Mais pourkoi est ce que ca fonctionne très bien pour tout les autres enregistrements ??? .....
ahmet57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 11h34   #6
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Tu peux montrer le code de modification de la base de données ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 11h40   #7
Invité de passage
 
Inscription : février 2006
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 59
Points : 4
Points : 4
Envoyer un message via MSN à ahmet57
voila la page envoi_commentiatre.
je ne pense pas qu'il y ait des problème dans cette page vu que ca fonctionne pour tout les enregistremetn a part le premier mais qui c'est ....


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// recupération de l'id, et des commentaires saisit dans l'écran 
if (isset($_GET["aydi"])) {$aydi = $_GET["aydi"];} 
else{$aydi = 1;} 
if (isset($_POST["txtCommentaire2$aydi"])){$Comment2 = $_POST["txtCommentaire2$aydi"];} 
else{$Comment2 = "";} 
if (isset($_POST["txtCommentaire1$aydi"])) 
{$Comment1 = $_POST["txtCommentaire1$aydi"];} 
else{$Comment1 = "";} 
 
// ajout d'un slash devant chaque caractère qui en besoins pour etre insérer dans une requete pour les champs de commentaire 
$champ1 = addslashes($Comment1); 
$champ2 = addslashes($Comment2); 
// mise a jour des commentaires de l'id selectionné 
$sql = "UPDATE structure SET stru_comment1 = '$champ1', stru_comment2 = '$champ2' WHERE stru_id = $aydi "; 
// Erreur si pas réussi update 
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
 
// récupération de l'url qui a appelé ce fichier php 
$url = $HTTP_REFERER; 
// redirection vers cette url 
header ("Location: $url");

merci
ahmet57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 12h49   #8
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Fais un echo de $sql avant ou après le mysql_query, et vérifie qu'il y a bien une requête correcte dedans. Teste-la dans phpmyadmin.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 14h06   #9
Invité de passage
 
Inscription : février 2006
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 59
Points : 4
Points : 4
Envoyer un message via MSN à ahmet57
laisse tomber ce probleme .

est ce que tu pourrais regarder monautre problème stp.

c'est une nouvelle discution sur le rafraichissement d'une page
ahmet57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h56.


 
 
 
 
Partenaires

Hébergement Web