begin process at 2012 05 30 17:37:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Passage de variables via formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Passage de variables via formulaire

mardi 25 octobre 2011 à 10:42:58 | Passage de variables via formulaire

jnkfou

Bonjour,
je suis en train de creer une page qui permettrais de modifier le profil de l'utilisateur (c'est a partir un d'un blog wordpress que j'ai modifie afin de paraitre a un site internet plus classique.

J'ai donc fait un formulaire qui permet de modifier ces valeurs mais je n'arrive pas a faire passer ces variables sur la page definie dans action de mon formulaire:

voici la page avec mon formulaire:
Code PHP :
<h1>Edit my Profile</h1>

<form id="edit" method="post" action="//localhost/wordpresstest/test_to_remove.php" >
	<table>
		<tr>
			<td>
				<label for="username">Username :</label>
			</td>	
			<td>
				<input type="text" class="disabledbutton" name="username" id="username" value="<?php echo wp_get_current_user()->user_login?>" disabled="disabled" size="40" maxlength="10" /> 
				(the user name can't be changed)
			</td>	
		</tr>
		<tr>
			<td>
				<label for="firstname">First Name :</label>
			</td>	
			<td>
				<input type="text" name="firstname" id="firstname"  size="40" maxlength="30" /> 
			</td>	
		</tr>
		<tr>
			<td>
				<label for="lastname">Last Name :</label>
			</td>	
			<td>
				<input type="text" name="lastname" id="lastname"  size="40" maxlength="30" /> 

			</td>	
		</tr>
		<tr>
			<td>
				<label for="email">Email :</label>
			</td>	
			<td>
				<input type="text" name="email" id="email" value="<?php echo wp_get_current_user()->user_email?>" size="40" maxlength="40" /> 
			</td>	
		</tr>
	</table>
	<br>
	<div align="center" ><input type="submit" value="modify"/></div>
</form>



et la page test_to_remove.php
Code PHP :
<?php
 echo test1;
  //récupération des valeurs des champs:
if (isset($_POST['username'])){
		$username     = $_POST['username'] ;
		echo BRAVO;
} else{
			echo 'pas de username';
}
  $firstname    = $_POST["firstname"] ;

  $lastname     = $_POST["lastname"] ;

  $email        = $_POST["emai"] ; 
echo $username;  
echo test2;

  //connection au serveur:
  $cnx = mysql_connect( "localhost", "root", "octis" ) ;
 
  //sélection de la base de données:
  $db = mysql_select_db( "octiswordpress" ) ;
 
  //création de la requête SQL:
  $sql = "UPDATE wp_users SET user_firstname='STEPHANE', user_lastname='$lastname', user_email='$email' WHERE user_login='$username'" ; 
   //exécution de la requête SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
  //affichage des résultats, pour savoir si l'insertion a marchée:
  if($requete)
  {
    echo("La modif a été correctement effectuée") ;
  }
  else
  {
    echo("L'insertion à échouée") ;
  }
?>


Il y a pas mal d'echo afin de voir ce qui n'allait pas, lorsque je submit le formulaire, je ne rentre pas dans ma boucle isset($_POST['username']
(je n'ai fait que le isset pour username afin de tester...)

Mon code doit etre assez moche Je suis assez debutant dans tout ce qui est php et sql donc je code tres maladroitement en essayant d'arriver a mon resultat. Je galere pas mal, si quelqu'un a une petite aide a m'apporter je lui en serait tres reconnaissant. Je suis assez debut dans tout ce qui est php
mardi 25 octobre 2011 à 11:34:04 | Re : Passage de variables via formulaire

nemo_1

Chalute,

Bon voilà ma petite contribution.

Fait le même test pour le firstname oule lastname ... juste pour voir un truc du genre:
Code PHP :
<?php
   echo (!empty($_POST['firstname'])) ? $_POST['firstname'] : "Bon ba problème :)";
?>


Maintenant dans ton formulaire:

<input type="text" class="disabledbutton" name="username" id="username"
value="<?php echo wp_get_current_user()->user_login?>"
disabled="disabled" size="40" maxlength="10" />

Où est definie la fonction <?php echo wp_get_current_user()->user_login?> ?

Dailleurs ce code me semble très bizarre car une function qui instancie une class et appele directement une variable n'est pas la facon la plus simple de faire pour un novice.

Pour test; met des valeur des firstname lastname et dans la page php fait des tests sur les posts pour voir si tu recoit des valeurs.

Soit ta fonction dans le username a une erreur, soit regarde la page blannche que tu as dans test_to_remove.php pour voir s'il nya pas d'erreur dans le CODE SOURCE de cette page.

Bon courage.
mardi 25 octobre 2011 à 11:45:13 | Re : Passage de variables via formulaire

jnkfou

J'ai essaye ce que tu m'a dis, et effectivement ca m'affiche bien le firstname (desole je pensais avoir teste ou alors c'etait avec l'email mais c'est bien idiot vu que c'est pareil que username hehe)

je suppose donc que c'est bien un soucis avec get_current_user! (c'est une fonction WordPress que j'ai deja utilise dans d'autres pages, je vais donc revoir cela!)

Neanmoins, ca ne m'a pas ajoute les donnees dans la base. Normal... je n'ai pas reccupere le user_login!

Merci pour ta reponse! Vous saurez vite si j'ai reussi
mardi 25 octobre 2011 à 12:04:18 | Re : Passage de variables via formulaire

nemo_1

Pour le deboggage un conseil (ou plusieurs lol)

fait des var_dump($ma_var) a tout va dès qu'un truc cloche.
si tu a une erreur sql fait un echo de ta requete du genre echo $query; tu prend cette requette et l'essaie dans un dbms (phpmyadmin ou autre) et voit si tu as un retour.
Si oui donc ta requete est bonne et ton erreur vient après.

Si non bon ba cherche l'erreur dans ta requete.

en gros faites des echos/var_dump() dès qu'un truc ne tourne pas rond :)
mardi 25 octobre 2011 à 12:36:48 | Re : Passage de variables via formulaire

jnkfou

Bon en fait le get_current_user fonctionne puisque lorsque je met un
Code PHP :
<?php echo wp_get_current_user()->user_login; ?>

dans ma page, ca m'affiche bien le username, et en plus, dans la case text de mon input username
Code PHP :
<input type="text" class="disabledbutton" name="username" id="username" value="<?php echo wp_get_current_user()->user_login?>" disabled="disabled" size="40" maxlength="10" />


j'ai aussi le username qui s'affiche..

Je sais plus trop quoi faire...

si j'utilise ca: $_POST['username'], username ne doit pas forcement etre une colonne de ma base de donnee?? j'ai essaye de remplacer les username par des user_login (nom de ma colonne dans ma bdd) mais bizarrement ca ne m'affiche plus rien dans ma zone de texte input...

Ba etrangement je viens de refaire le test en mettant aussi l'email, et l'email passe...

Desole, j'ecris mon post et je teste meme temps que me viennent les idees
Le fait que le input:username soit en mode disabled aparement fait que la variable ne passe pas dans test_to_remove.php! (je viens de verifier... en enlevant le disabled ca marche...)

Mais du coup, il y a un autre moyen pour empecher l'utilisateur de modifier (j'aimerais garder la zone un peu opaque, style non modifiable et pas juste printer le username en disant que c'est pas modifable... Je dois plus etre tres clair...)

Bref si quelqu'un a une petite idee!
(merci encore nemo_1)
mardi 25 octobre 2011 à 12:43:01 | Re : Passage de variables via formulaire

jnkfou

Du coup oui ca marche, et ca modifie bien la bdd juste que le username est modifiable...
Merci pour le echo $query, j'y avais pas pense et c'est plus pratique!
mardi 25 octobre 2011 à 13:39:09 | Re : Passage de variables via formulaire

nemo_1

Salut,

Met un <input type="hidden" value="ton user info ici" />

Tu peux mettre le type en hidden/readonly comme tu veux.

L'utilisateur ne le vera pas sur son formulaire et ne pourra pas le modifier.

Mais encore une fois, tout ce qui se passe coté client, le client peux le modifier donc gaffe.

Tu peux avoir le login du client sans le mettre dans un input:

tu met dans test_to_remove.php

$login = wp_get_current_user()->user_login;

J'ai pas penser au disabled mais tu as raison, le post ne get pas un input en mode disabled (j'ai appris 2 choses avec toi aujourd'hui lol)

Ce qui est bien avant même de commencer à coder, fait toi un petit dessin de tes pages et des différentes communications situationnelles.

Tu veras si tu as besoin de passer tel ou tel info si c'est primordial ou pas et après tu code.

Tu as toujours besoin d'un blueprint (croquis schema diagramme ...) de ton interface avant de commencer à coder cela te facilite grandement la tache.

C'est comme si tu construisait ta maison et à la fin tu te dit pourquoi pas mettre les toilettes labas :).

Bon courage.
mardi 25 octobre 2011 à 13:46:56 | Re : Passage de variables via formulaire

nemo_1

Looool, mes 2 phrases sont totalement contradictoires :)

L'utilisateur ne le vera pas sur son formulaire et ne pourra pas le modifier.

Mais encore une fois, tout ce qui se passe coté client, le client peux le modifier donc gaffe.

En gros il peut le modifier avec un minimum de connaissance donc evite celà si tu le peux :)
jeudi 27 octobre 2011 à 03:54:04 | Re : Passage de variables via formulaire

jnkfou

Okok, merci beaucoup pour ton aide en tout cas et mon petit formulaire commence a fonctionner. J'ai rencontrer un nouveau petit probleme, c'est que si un utilisateur essaie d'acceder a ma page test_to_remove.php directement par la barre d'URL sans passer par la page avec le formulaire... Du coup la requete se fait avec les champs vides et vide la base de donnee lol.

Le meilleur moyen est-il d'executer la requete si et seulement si les champs ne sont pas vides? ou il y a un moyen aussi d'empecher un utilisateur d'acceder a la page par url et seulement par le passage par le submit?

Merci d'avance!


Cette discussion est classée dans : page, code, variables, php, formulaire


Répondre à ce message

Sujets en rapport avec ce message

pb dans mon code [ par attentio ] salut !!!bon ...G une petit soucis dans mon code de la page formulaire.php.je vous explique ... G une premiere page index.php qui me renvoie une liste Problème de formulaire et récupération de variables [ par shukudai ] Bonjour, j'écris ce sujet pour chercher de l'aide au secours SOS!!!!!!! En fait voila, j’ai un problème au niveau de la base de données. En fait, j’a un problème avec mon formulaire en utilisant php et mysql [ par lebienestrare ] Bonjour tout le monde,j'ai un problème avec ma base de données(connexion entre php et mysql),le problème est: J'ai créé un site en php,j'ai fait une f Variables de session perdues [ par Benz ] Bonjour,Une question relative à l'utilisation des variables de session.Dans une page a.php, j'ai le code suivant en haut de page, avant tout code HTML Récupérer du code html saisie dans un input [ par coba5 ] Bonjour,J'aimerai qu'un visiteur insere le lien d'une vidéo dans un formulaire, qu'il clique sur le bouton inserer la vidéo et que la vidéo s'affiche Transmettre des variables PHP à travers un formulaire [ par lolo038 ] Bonjour,Je vous explique mon problème : je possède à un certain moment sur ma page un certains nombres de variables PHPs, ainsi qu'un formulaire en ba Comment insérer du code PHP dans une page HTML [ par christie49 ] Comment [b]intégrer[/b] un bout de [b]code PHP [/b]dans une [b]page HTML[/b] et [b][u]pouvoir transmettre les variables javascripts à mon code PHP [/u 2 formulaire en conflit [ par scromania ] bonjour, Voila dans la cas ou l'utilisateur et de niveau =9 alors une page (include)et en plus. [code=php]if ($visiteur == 9){ include("modules/Page Mon formulaire ne s'affiche pas dans ma page php [ par brfrance ] Bonjour, Bonjour, Mon formulaire html (voir ci dessous) ne s'affiche pas dans ma page php. formulaire :[code=html] " name="commentaire"> code php exécuté deux fois [ par thierry la fronde ] bonjour, je souhaitais exposer un paradoxe : J'ai une requête pour mysql dans un fichier php et elle s'exécute deux fois avec Firefox ET Netscape. Par


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales