IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

probleme de renvoi de donnée avec post ou session [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut probleme de renvoi de donnée avec post ou session
    Bonjour,
    j'ai un souci de renvoi de donnée, j'ai utiliser post et les sessions je n'arrive a rien je ne comprend pas cela devrai fonctionner.
    le butter est de selectionner une personne et l'id de la personne doit etre renvoyer sur une autre page, en sachant que les personnes sont afficher par une boucle de la base de donnée vers un radio. et comme il y a une boucle je me retrouve avec autant de radio qu'il y a des personne dans la base de donnée. a l'affichage tout va bien mais pas de renvoi...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <?php
       include_once("head.php");
       ?>
     
       <body>
       <?php
       include_once("en_tete.php");
       include_once("menu.php");
       ?>
     
       <div id="corps">
    <p>
       <h2>Benhamed fait une éléction de délégué !</h2><br />
    	<h2>Vote pour un candidat !</h2><br /><br />
     <h3>
    	<form action="calcule.php" method="post">
    		<p>
    			<?php
    				include ("connect_bdd.php");
     
    				$req = "SELECT * FROM candidat";
    				$rep = mysql_query($req);
    				while($row_rep = mysql_fetch_assoc($rep))
    				{
    					$id=$row_rep['ID_CANDIDAT'];
    					echo $id;
    					echo "<input type=\"radio\" name=\"vote\" value=\"".$id."\" id=\"".$row_rep['ID_CANDIDAT']."\" /> <label for=\"".$row_rep['ID_CANDIDAT']."\">".$row_rep['NOM_CANDIDAT']." ".$row_rep['PRENOM_CANDIDAT']."</label><br />";
    				}
    			?>
     
    			<input type="submit" value="Voter" /><br/><br/><br/><br/>
    		</p>
    	</form>  
    </h3>
    </p>
    </div>
     
       </div>
       <?php
       include_once("pied.php");
       ?>
     
       </body>
    </html>

    voila l'autre page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
     
    	//$id_candidat = $_POST["$row_rep[\'ID_CANDIDAT\']"];
    	$id=$_POST["$id"];
    	echo $id;
    ?>

    merci d'avance!

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 121
    Points : 136
    Points
    136
    Par défaut
    Si tu fais:
    $id=$_POST["$id"];
    Au moment ou PHP va interpréter $_POST["$id"] il va voir $id et va tenter de remplacer $id par sa valeur mais elle n'en a pas ici. PHP doit donc générer une notice que tu n'affiches pas.
    Tu le verrais avec un error_reporting(E_ALL); au debut de ton script.

    De plus, tu as écris:
    echo "<input type=\"radio\" name=\"vote\" value=\"".$id."\" id=\"".$row_rep['ID_CANDIDAT']."\" />[...]
    Donc le nom de la variable POST est "vote", tu obtiendras donc l'id souhaité avec $_POST['vote'].

    j'ai supposé que ton problème était celui-ci car tu as dit qu'il y avait un problème au renvoi mais il ne semble pas en avoir car même si tu nouas rien dit (on joue aux devinettes avec vous), je peux supposer que ton 2eme fichier s'appelle "calcule.php", le form est bien déclaré et le bouton submit correct alors l'envoi des données vers cette page est correct, c'est l'affichage de la donnée qui foire.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut
    effectivement en remplacent $_POST['$id'] par $_POST['vote']
    cela fonction mais je pensait que cela étais la values="" ou le id="" qui renvoyait la valeur?
    et si javais mit $id=$_POST["$id"] avec $id a la place du poste, je suppose que j'aurai pu sélectionner tout les nom en même temps, mais comment récupérer la valeur de l'autre coté qui n'est pas initialisé, peut être avec des sessions?

    en tout grand merci pour cette aide précieuse cela ma grandement aidé.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut
    bonjour,
    je suis toujours sur les meme pages sauf que je ne veux pas renvoyer les memes informations par sessions sur 4 pages. la personne se connecte, j'arrive sur une validation_connection ou je rentre ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    session_start();
    	$_SESSION['nom']=$_POST['nom'];
    	$_SESSION['prenom']=$_POST['prenom'];
    	$_SESSION['pass']=$_POST['pass'];
     
    	$nom = htmlspecialchars ($_POST["nom"]);
    	$prenom = htmlspecialchars ($_POST["prenom"]);
    	$pass = htmlspecialchars ($_POST["pass"]);
    en sachant que je me sert des meme $_POST pour creer a la fois des sessions mais aussi des variables.
    je met le session_start() en haut de chaque page que je veux traverser, et le tout sans espace devant et bien devant la balise <html>
    puis sur la page que je veux récupérer je met ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    session_start();
     
    	$nom = htmlspecialchars ($_SESSION["nom"]);
    	$prenom = htmlspecialchars ($_SESSION["prenom"]);
    	$pass = htmlspecialchars ($_SESSION["pass"]);
     
    	$id_can=$_POST["vote"];
     
    	echo $nom;
    	echo $prenom;
    	echo $pass;
    	echo $id_can;
    a savoir que $id_can est la valeur de ma question d'avant que je récupere simplement par $_post

    je ne comprend pas mon erreur, les tuto disent bien de faire comme cela...
    merci d'avance pour votre aide.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 428
    Points : 123
    Points
    123
    Par défaut
    bien il semblerai que cela se soit débloquer tout seul, j'ai tout de meme modifier ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    session_start();
    	$_SESSION['nom']=$_POST['nom'];
    	$_SESSION['prenom']=$_POST['prenom'];
    	$_SESSION['pass']=$_POST['pass'];
    
    	$nom = htmlspecialchars ($_SESSION['nom']);
    	$prenom = htmlspecialchars ($_SESSION['prenom']);
    	$pass = htmlspecialchars ($_SESSION['pass']);
    voila voila bonne soirée

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 121
    Points : 136
    Points
    136
    Par défaut
    Si tu passes tes données par formulaire comme ça, vérifies à bien éviter les exceptions.
    Par exemple: Un utilisateur rempli le formulaire et rempli jusqu'à la 3 pages (1er onglet, p.e) puis ouvre à nouveau le premier formulaire et modifie les données (2ème onglet), il faut que ton script puisse éviter les erreurs s'il revient sur le premier onglet.
    Mais de manière général, on évite les formulaires sur plusieurs pages car c'est lourd, chiant pour l'utilisateur et c'est beaucoup moins sécurisé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme de stockage de données avec un ByteArrayOutputStream
    Par nonoRedDevils dans le forum Java ME
    Réponses: 7
    Dernier message: 28/02/2007, 10h56
  2. Réponses: 7
    Dernier message: 22/05/2006, 14h44
  3. Réponses: 4
    Dernier message: 09/05/2006, 08h55
  4. Réponses: 7
    Dernier message: 16/01/2006, 09h23
  5. Réponses: 4
    Dernier message: 02/06/2005, 13h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo