Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
6141 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

pb variable php/mysql

n°1275158
rut
Posté le 30-12-2005 à 22:32:21  profilanswer
 

Reprise du message précédent :
print_r($_GET);  avant $id_destinataire... donne : Array ( )

mood
Publicité
Posté le 30-12-2005 à 22:32:21  profilanswer
 

n°1275159
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-12-2005 à 22:34:40  profilanswer
 

BOn ben là ça veut dire que ta page message.php est appelée sans paramètres. Il n'y a pas le ?id=16 dans ton URL


---------------
Gamertag: CoteBlack YeLL
n°1275160
rut
Posté le 30-12-2005 à 22:39:30  profilanswer
 

pourtant avant d'envoyer cest bien message.php?id_destinataire=16 et une fois le message envoyer , ca revien sur message.php avec comme echo , meesage bien envoyer...
 
tu as vu l' "erreur" que j'ai citer avaant?

n°1275163
naceroth
Posté le 30-12-2005 à 22:56:19  profilanswer
 

Franchement, j'ai l'impression qui n'y a personne qui a pris la peine de lire un truc que j'ai écrit le 25 décembre :D
 
Je vais encore le faire plus clair, tu veux utiliser ton id_destinataire après la soumission du formulaire. Parfait. Maintenant regarde à quelle adresse tu soumets le dit formulaire :

Code :
  1. action="<?php echo $_SERVER['PHP_SELF'];


 
Super. Sauf que $_SERVER['PHP_SELF'], ça ne comprend pas le Query_String de la page courante, la solution simple (et donnée le 25 donc), c'était de caser ton id_destinataire comme champs caché de ton form, il serait soumis en même temps qui lui, plus de soucis, tu le récupères comme membre de $_POST :)

n°1275165
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-12-2005 à 23:08:57  profilanswer
 

arf :/ parce que ça n'a pas été fait ?! Bon ben on pouvait chercher lgtps ... Je n'ai pas lu les premiers posts, j'aurais dû. Je pensais que c'est un lien <a href="message.php?id=16"> ... si j'avais fais gaffe que c'était un formulaire :D
 
Merci naceroth


---------------
Gamertag: CoteBlack YeLL
n°1275167
rut
Posté le 30-12-2005 à 23:16:48  profilanswer
 

hum' , la je suis perdu ...
 
je ne sais pas quoi faire , moi j'ai une page qui montre tout les membres , j'obtien des liens tel que apercu.php?id=1 , sur celle la , on vois les infos de la personne et un lien pour lui envoyer un message , message.php?id_destinataire=1 .  
 
 
voici donc le form :   <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="hidden" name="action" value="inserer" />
    <p><textarea cols=60 rows=11 input type="text" name="message" /></textarea> </p>
    <p><input type="submit" name="Submit" value="Envoyer" /></p>
    </form>
que dois je mettre exactement  a la place de <?php echo $_SERVER['PHP_SELF']; ?>   ?
 
merci :)

n°1275168
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-12-2005 à 23:18:47  profilanswer
 

rien
 
par contre rajoute un champs hidden
 
<input type="hidden" value="<?=$_GET['id_destinataire']?>">


---------------
Gamertag: CoteBlack YeLL
n°1275169
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-12-2005 à 23:21:14  profilanswer
 

euh, attends, ya autre chose là ... ton form method il est en POST et tu veux récupérer la valeur avec un GET ?
 
Oula, je comprends plus rien moi :/


---------------
Gamertag: CoteBlack YeLL
n°1275170
naceroth
Posté le 30-12-2005 à 23:24:35  profilanswer
 

Tu changes rien à l'action, tu dois juste ajouter un truc style

Code :
  1. <?php if (isset($_GET['id_destinataire']){ $valeur = $_GET['id_destinataire']; }
  2. else { $valeur = ''; }
  3. echo '<input type="hidden" name="id_destinataire" value='.$valeur.' />';
  4. ?>


 
entre deux balises <form>.
 
Et dans la partie insertion dans la BD, tu récupères avec

Code :
  1. $id_destinataire = $_POST['id_destinataire'];

n°1275171
naceroth
Posté le 30-12-2005 à 23:25:40  profilanswer
 

Dj YeLL a écrit :

euh, attends, ya autre chose là ... ton form method il est en POST et tu veux récupérer la valeur avec un GET ?
 
Oula, je comprends plus rien moi :/


 
Euh, non, ça c'est plutôt vous qui lui avez donné ce mauvais conseil :D

Message cité 1 fois
Message édité par naceroth le 30-12-2005 à 23:25:55
mood
Publicité
Posté le 30-12-2005 à 23:25:40  profilanswer
 

n°1275173
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-12-2005 à 23:27:36  profilanswer
 

naceroth a écrit :

Euh, non, ça c'est plutôt vous qui lui avez donné ce mauvais conseil :D


 
Bah écoutes, quand il faisait ses tests avec echo $_GET etc... ça marchait ... mais il mélangeait 2 chose là ...
 
Liste membre -> GET -> message.php -> validation formulaire -> POST


---------------
Gamertag: CoteBlack YeLL
n°1275175
rut
Posté le 30-12-2005 à 23:32:20  profilanswer
 

naceroth je dois mettre "<?php if (isset($_GET['id_destinataire']){ $valeur = $_GET['id_destinataire']; }else { $valeur = ''; }echo '<input type="hidden" name="id_destinataire" value='.$valeur.' />';?> " dans le formulaire? je suis perdu

n°1275176
naceroth
Posté le 30-12-2005 à 23:34:11  profilanswer
 

Ouaip

n°1275178
rut
Posté le 30-12-2005 à 23:42:25  profilanswer
 

ainsi ?  
 
 <form method="post" action="<?php if (isset($_GET['id_destinataire']){ $valeur = $_GET['id_destinataire']; }else { $valeur = ''; }echo '<input type="hidden" name="id_destinataire" value='.$valeur.' />';?>">
    <input type="hidden" name="action" value="inserer" />
    <p><textarea cols=60 rows=11 input type="text" name="message" /></textarea> </p>
 
    <p><input type="submit" name="Submit" value="Envoyer" /></p>
    </form>
 
 
se qui me donne une erreur

n°1275180
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-12-2005 à 23:45:16  profilanswer
 

rut a écrit :

ainsi ?  
 
 <form method="post" action="<?php if (isset($_GET['id_destinataire']){ $valeur = $_GET['id_destinataire']; }else { $valeur = ''; }echo '<input type="hidden" name="id_destinataire" value='.$valeur.' />';?>">
    <input type="hidden" name="action" value="inserer" />
    <p><textarea cols=60 rows=11 input type="text" name="message" /></textarea> </p>
 
    <p><input type="submit" name="Submit" value="Envoyer" /></p>
    </form>
 
 
se qui me donne une erreur


 
Euh ... là tu as tout mis dans ton action="" ...


---------------
Gamertag: CoteBlack YeLL
n°1275181
naceroth
Posté le 30-12-2005 à 23:46:15  profilanswer
 

tu ne changes rien à l'action et tu mets le code entre les deux balises je te dis !
 

Code :
  1. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  2. <?php if (isset($_GET['id_destinataire']){ $valeur = $_GET['id_destinataire']; }else { $valeur = ''; }echo '<input type="hidden" name="id_destinataire" value='.$valeur.' />';?>
  3.     <input type="hidden" name="action" value="inserer" />
  4.     <p><textarea cols=60 rows=11 input type="text" name="message" /></textarea> </p>
  5.     <p><input type="submit" name="Submit" value="Envoyer" /></p>
  6.     </form>


 
(c'est marrant, j'ai honte d'avoir contribué à un code aussi crade  [:helldiver] )


Message édité par naceroth le 30-12-2005 à 23:47:22
n°1275182
rut
Posté le 30-12-2005 à 23:50:23  profilanswer
 

ok , ca me donne ca : Parse error: parse error in c:\weblocal\v.1\message.php on line 128
 
line 128=<?php if (isset($_GET['id_destinataire']){ $valeur = $_GET['id_destinataire']; }else { $valeur = ''; }echo '<input type="hidden" name="id_destinataire" value='.$valeur.' />';?>
   

n°1275184
naceroth
Posté le 30-12-2005 à 23:51:50  profilanswer
 

Euh, ouais, j'ai oublié une ) : (isset($_GET['id_destinataire']) devient (isset($_GET['id_destinataire'])), autant pour moi.

n°1275186
rut
Posté le 30-12-2005 à 23:54:49  profilanswer
 

je n'y crois pas mes yeux! :D
 
tout fonctionne !
 
merci beaucoup a toi naceroth et aussi a Dj yell et les autre, merci du fond du coeur :)
 

n°1275193
Dj YeLL
$question = $to_be || !$to_be;
Posté le 31-12-2005 à 00:12:59  profilanswer
 

Tu peux remplacer tout ton bloc par ça, ça fera déjà un peu plus propre :
 

<?php
$valeur = isset($_GET['id_destinataire']) ? $_GET['id_destinataire'] : '';
?>
 
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="action" value="inserer" />
<p><textarea cols=60 rows=11 input type="text" name="message"></textarea> </p>
<input type="hidden" name="id_destinataire" value="<?=$valeur?>" />
<p><input type="submit" name="Submit" value="Envoyer" /></p>
</form>  
 

Message cité 1 fois
Message édité par Dj YeLL le 31-12-2005 à 00:13:35

---------------
Gamertag: CoteBlack YeLL
n°1275198
rut
Posté le 31-12-2005 à 00:20:37  profilanswer
 

merci c'est noté

n°1275224
naceroth
Posté le 31-12-2005 à 02:57:40  profilanswer
 

Dj YeLL a écrit :

Tu peux remplacer tout ton bloc par ça, ça fera déjà un peu plus propre :
 

<?php
$valeur = isset($_GET['id_destinataire']) ? $_GET['id_destinataire'] : '';
?>
 
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="action" value="inserer" />
<p><textarea cols=60 rows=11 input type="text" name="message"></textarea> </p>
<input type="hidden" name="id_destinataire" value="<?=$valeur?>" />
<p><input type="submit" name="Submit" value="Envoyer" /></p>
</form>  
 



 
Osez dire "plus propre" avec un <?=, tu mérites des baffes toi :D

n°1275245
Dj YeLL
$question = $to_be || !$to_be;
Posté le 31-12-2005 à 10:45:30  profilanswer
 

naceroth a écrit :

Osez dire "plus propre" avec un <?=, tu mérites des baffes toi :D


 
C'est toujours mieux que si c'était pire :o
 
:D
 
Bon ben sinon tu peux toujours faire un :
 
$champ_hidden = '<input type="hidden" name="id_destinataire" value="' . $valeur . '" />';
 
et dans ton formulaire faire un <?php echo $champ_hidden; ?> alors :D
 
Mieux vaut essayer de séparer le PHP et le HTML le plus possible, mais bon ...


---------------
Gamertag: CoteBlack YeLL
n°1275394
rut
Posté le 31-12-2005 à 17:17:36  profilanswer
 

merci les gars :D

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[MySQL] Variable dans une procédure[C#] Datagrid et variable Time (Mysql)
pb actualisation d'une variable mysqlMin max par variable MYSQL/PHP
SELECT/Mysql : syntaxe avec 1 seule variable sur 2 colones ? [PHP/MySQL] Afficher une fiche avec une url variable
[Resolu][PHP] Passer une variable dans une requete mysql_query()[mysql] Undefined variable: PHPSESSID
update spécial, variable dynamique et mysqlConcaténer nom de variable et chaine de caract. dans une requête MYSQL
Plus de sujets relatifs à : pb variable php/mysql


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)