Probleme avec formulaire.

Résolu
gjeanely Messages postés 26 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 4 novembre 2005 - 3 nov. 2005 à 11:51
gjeanely Messages postés 26 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 4 novembre 2005 - 4 nov. 2005 à 17:29
Bonjour à tous ,

j'ai une probleme avec un formulaire , je n'arrive pas à faire afficher mes varible ($pseudo , $email , ...) dans celui-ci . je m'explique :

C'est une page proteger qui affiche un formulaire , et je voudrais que dans ce formulaire il s'affiche toute les infos du membres relative à son ' id ' , pour qu'il puisse les modifier par la suite.

voici un bout du code :

----------------------------------------------------------------------------------------
else{show_form();} // Si le formulaire n'a pas ete soumis ou pas de code entre


if($er!='' && isset($_POST["email"])){show_form($pseudo,$passe,$email,$er);}
else if($er!='' && !isset($_POST["email"])){show_form('','','',$er);}


//************ La fonction d'affichage du formulaire
function show_form($pseudo="",$passe="",$email="",$er='')
{


echo '
'.$er.'

<form action="'.$_SERVER["PHP_SELF"].'" method="post">
votre pseudo :,
'$pseudo',

----

Votre email* :,


<table>
<tr>
<td>Entrez votre mot de passe* :

</td>
<td></td>
</tr>
<tr>
<td></td>
</tr>table>
</form> ';
}
-----------------------------------------------------------------------------------

J'ai mis en rouge 2 essais que j'ai fais qui se sont revéllé sans succé . Si vous avez de quoi eclairer ma lanterne , je vous en remerçie bien d'avance.

Trés cordialement.
Jean

15 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 nov. 2005 à 12:02
Hello,

php n'interprète pas les variables entre simple quotes.

Exemple rapide:

$chaine = 'Hello World';

echo 'affiche : $chaine '; // va afficher : affiche : $chaine

echo "affiche : $chaine"; // va afficher : affiche : Hello World

echo 'affiche', $chaine; // va afficher : affiche : Hello World

echo 'affiche'.$chaine // va afficher : affiche : Hello World

echo 'affiche'$chaine; // va afficher sans doute une parse error...
3
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
3 nov. 2005 à 12:04
Bonjour,



Vous avez quelques soucis de syntaxes, a mon avis causés par une légère incompréhension :



Quelle différence entre ' et " ?

' encadre un texte brut (mais brut-brut)

" encadre un texte analysé par PHP



Bref

<?php

$hop = 'pouet';

echo 'hop=$hop'; // hop=$hop

echo "hop=$hop"; // hop=pouet

?>





Donc ici :

<td>'.$pseudo.'</td>

name="email" value="'.$pseudo_membre.'" />





Bon appétit !
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 nov. 2005 à 12:14
2mn26 de retard, J_G ;-)
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
3 nov. 2005 à 12:17
Il faut que je prenne des cours de dactylographie...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gjeanely Messages postés 26 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 4 novembre 2005
3 nov. 2005 à 12:23
merci pour vos reponse , si j'ai bien saisie je dois remplacer echo ' code ' par echo " code " si je veux que mes variable soit interpreté ?
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
3 nov. 2005 à 12:28
Voui!



Non seulement pour que les variables soit interprétées, mais aussi les caractères spéiaux !!! (\n, \t, \r, ...)
0
gjeanely Messages postés 26 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 4 novembre 2005
3 nov. 2005 à 12:33
je vous remerci de votre aide , je vais mettre sa en application et tester pour vois si j'ai bien compris.

@ bientot
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 nov. 2005 à 13:06
Le mieux étant encore d'écrire :

echo 'message', $variable, 'suite de la chaine';
0
gjeanely Messages postés 26 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 4 novembre 2005
3 nov. 2005 à 17:39
j'ai essaye un peu tous se que vous m'avez expliqué , j'ai preferé la dernière mais je n'arrive pas , enfin cela fonctionne si je fait ca :

$pseudo = 'ok';
echo '
'.$er.'

<form action="'.$_SERVER["PHP_SELF"].'" method="post">
<table class="Tablerd">
<tr>
<td>votre pseudo :

</td>
<td>', $pseudo ,'</td>
</tr>
<tr>
<td></td>
</tr>table>
</form> ';

la j'ai bien ok qui s'affiche dans la variable $pseudo , mais quand je mais le nom de la variable qui contient le pseudo du membre , rien ne s'affiche alors que si je fait :
echo "$pseudo"; en dehors du formulaire , la sa affiche le pseudo .

merci
0
gjeanely Messages postés 26 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 4 novembre 2005
3 nov. 2005 à 18:13
j'ai trouvé le probleme qui empecher les variable de s'affiche voici le probleme trouver :


//************ La fonction d'affichage du formulaire
function show_form($pseudo= "",$er='')
{


echo '
'.$er.'

<form action="'.$_SERVER["PHP_SELF"].'" method="post">
<table>
<tr>
<td>Votre pseudo :

</td>
<td></td>
</tr>
<tr>
<td></td>
</tr>table>
</form> ';
}
-----------------------------------------------------------------------------------
le probleme ici sont les : { } , de la function show_form que j'ai colorié en orange , j'ai corrigé comme ceci :

-------------------------------------------------------------------------


//************ La fonction d'affichage du formulaire
function show_form($pseudo ="",$er= '')
{
}
echo '
'.$er.'

<form action ="'.$_SERVER["PHP_SELF"].'" method="post">
<table>
<tr>
<td>Votre pseudo :

</td>
<td></td>
</tr>
<tr>
<td></td>
</tr>table>
</form> ';

-----------------------------------------------------------------------------------
j'ai fermé le crochets de la function juste aprés son ouverture , et la pas de probleme les variables passe sans probleme ,
je voudrais savoir si la fuction du formulaire va fonctionner comme sa ou elle ne marche plus ?
est si il est possible de passe les variable par la function ?

merci
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 nov. 2005 à 18:17
Heu...

Il est trop tard pour ça, là...désolé, lol. Je ne me sens pas de me
lancer dans toutes les explications nécessaires ce soir. Si personne ne
t'a répondu demain, je m'en charge, promis...mais juste : tu aurais
sérieusement besoin de lire des tutos sur les bases de php. Et de
programmation en général, à vrai dire. Ca t'aiderait à avancer plus
vite par la suite :-)

Et je réponds juste rapide : non, ta fonction ne "marchera" pas...enfin
si...si on veut...elle n'a rien à faire, alors elle ne fera rien.

On reprendra demain, ou toi avec un autre ce soir.



A plus, bonne soirée :-)
0
gjeanely Messages postés 26 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 4 novembre 2005
3 nov. 2005 à 18:24
Je te remercie beaucoup , je vais encore me penche la dessus cette nuit , sa va me permettre de mieux comprendre , passe une bonne soire . @demain peut etre .
0
gjeanely Messages postés 26 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 4 novembre 2005
4 nov. 2005 à 01:26
bonjour , j'ai normalement reussi a finir mon bout de code , voici l'extrait :
il fallais en faite rajouter "$pseudo_membre" , dans les ( ) de else(show_form .
Maintenant quand la function est lancé il appel les argument que j'ai déclarer auparavant dans show_form.
----------------------------------------------------------------------------------------
else{show_form("$pseudo_membre");} // Si le formulaire n'a pas ete soumis ou pas de code entre
if($er!='' && isset($_POST["email"])){show_form($pseudo,$passe,$email,$er);}
else if($er!='' && !isset($_POST["email"])){show_form('','','',$er);}


//************ La fonction d'affichage du formulaire
function show_form($pseudo_membre='',$er='')
{


echo '
'.$er.'

<form action="'.$_SERVER["PHP_SELF"].'" method="post">
<table>
<tr>
<td>Votre pseudo :

</td>
<td></td>
</tr>
<tr>
<td></td>
</tr>table>
</form> ';
}
-----------------------------------------------------------------------------------
Voila j'espere ne pas me trompe et avoir bien compris grace a votre aide .
Merci à vous.

Trés cordialement.
Jean
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 nov. 2005 à 17:08
Hello,



2 choses :



Quand on définit une fonction demandant des arguments, en effet, il faut lui en passer quand on l'appelle :-)

Quand cette fonction a défini des arguments par défauts (comme la
tienne), au cas où...si on ne lui en passe pas lors de l'appel, elle va
utiliser les valeurs par défaut.

En l'occurence, là, ce sont 2 chaînes vides. C'est pour ça que tu n'avais rien.



Ensuite, inutile de mettre des guillemets ici :

show_form("$pseudo_membre");



Ecris ceci :

show_form($pseudo_membre);



Les guillemets ne servent pas dans ce cas. Ils servent pour définir des chaines de caractères, ou les afficher.



De même, dans le corps de ta fonction, tu dois écrire ceci :



function show_form($pseudo_membre='',$er='')
{ echo '
'.$er.'


<form action="'.$_SERVER["PHP_SELF"].'" method="post">

<table>

<tr>

<td>Votre pseudo :

</td>

<td>value="'.$pseudo_membre.'" /></td>

</tr>

<tr>

<td></td>

</tr>table>

</form> ';

}



C'est plus propre.
0
gjeanely Messages postés 26 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 4 novembre 2005
4 nov. 2005 à 17:29
Salut,

Merci pour ces explication final , c'est vrai que cela fais plus propres.

@bientôt et bonne soiré
0
Rejoignez-nous