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 :

Récupération d'une variable dans un lien


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut Récupération d'une variable dans un lien
    Bonsoir,
    Je suis en plein développement d'une agence immobilière
    Chaque inscrits peuvent poster leur avis, sur les maisons.
    Pour cela je récupère le numéro de la maison et son adresse.
    Le lien me permettant de récupérer ses variables est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <?php echo "<td><a href='donnezavis.php?adresse=$adresse&numeromaison=$numeromaison'>Donnez votre avis</a></td>";?>
    Voici mon code :
    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
     
    	<form name="avis" action="donnezavis.php" method = "POST">
    	<input type="hidden" name="suite" value= "1">
    	<table border="1">
    <?php
     
     
    		$result=mysql_query("SELECT Nom, NumeroInscription FROM inscription WHERE Nom ='".$_SESSION['pseudo']."';");
    	    while($row = mysql_fetch_array($result))
    		{
    			?><tr>
    			<td>Votre nom d'inscrit : </td>
    			<td><input type="text" disabled="disabled" value =" <?php echo $row[0] ?>"></td></tr><br>
     
    			<?php
     
    		}
     
    	$adresse = mysql_real_escape_string($_GET['adresse'])  ;
    	?>
    	<tr>
    	<td>L'adresse de la maison : </td>
    	<td><input type = "text" disabled="disabled" value = "<?php echo $adresse ?>"></td></tr><br>
     
     
     
    <tr>
    	<td>Votre avis : </td>
    	<td><textarea cols=30 rows=10 name="avis"></textarea></td></tr></table>
    	<input type="submit" value="Envoyer mon avis">
    	<input type="hidden" name="suite" value="1">
    	</form>
    	<?php
    	if (isset($_POST['suite']))
    {
    if ($_POST['suite'] == 1)
    	{
    	$avis = $_POST['avis'];
    	$numeromaison = mysql_real_escape_string($_GET['numeromaison'])  ;
    	echo $numeromaison;
    	$req = "INSERT INTO avis SET NumeroMaison = '".$numeromaison."' , NumeroInscription = '".$row[1]."' , AvisInscrit = '".$avis."'";
    	$resultat = mysql_query($req);
    	echo "INSERT INTO avis SET NumeroMaison = '".$numeromaison."' , NumeroInscription = '".$row[1]."' , AvisInscrit = '".$avis."'";
    	}
    }
    Une fois que je veux faire mon insert, il ne prends pas le numéro de la maison, ni le numéro de l'inscrit.
    Il m'affiche undefined index.
    Je ne comprends pas.
    Je vous remercie pour votre aide

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    t'es sûr que la variable s'affiche bien ici ? (donc dans la barre d'adresse).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo "<td><a href='donnezavis.php?adresse=$adresse&numeromaison=$numeromaison'>Donnez votre avis</a></td>";?>
    Teste aussi t'as quoi dans $_GET :


  3. #3
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut
    Avant de cliquer sur le bouton pour insérer dans la base de données, je vois bien le numéro de la maison et l'adresse de la maison.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    http://localhost/GALERIE/donnezavis.php?adresse=12%20rue%20des%20templiers&numeromaison=3
    Mais lorsque je clique sur mon bouton sa m'affiche undefined index.
    Au risque de paraitre un peu bête, je n'ai pas compris à quoi servait :
    Merci pour votre réponse en tout cas

  4. #4
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Ca permet d'afficher le contenu du tableau $_GET comme ça tu peux vérifier que tout est bien passé en get.
    Le undefined index il est bien à cette ligne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $numeromaison = mysql_real_escape_string($_GET['numeromaison'])  ;

  5. #5
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut
    J'ai deux undefined index :
    Un pour le numéro de la maison et un autre pour l'adresse de la maison
    Pour ce qui est du var_dump($GET) cela me donne :

  6. #6
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Alors,
    si je comprends bien tu fais 2 traitements sur la même page en 2 fois, c'est ça ?
    Le truc c'est que quand tu postes le 2e formulaire tes variables passées en get n'existent plus. Donc quand tu entres dans ton test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_POST['suite'] == 1)
    $_GET est vide. Donc soit tu les repasse en get dans le formulaire, soit tu les stockes en session. Pour les repasser une 2e fois en get tu peux faire un truc du style, mais c'est pas très propre si t'arrives sur la page et que les valeurs sont pas initialisées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="avis" action="donnezavis.php?adresse=<?php echo $adresse; ?>&numeromaison=<?php echo $numeromaison; ?>" method="POST">

  7. #7
    Membre actif Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Points : 288
    Points
    288
    Par défaut
    Oui c'est bien cela, je récupère le numéro de la maison ainsi que le numéro de l'inscrit.
    Avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	<form name="avis" action="donnezavis.php?adresse=<?php echo $adresse; ?>&numeromaison=<?php echo $numeromaison; ?>" method="POST">
    Mon insert ne marche toujours pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	if (isset($_POST['suite']))
    {
    if ($_POST['suite'] == 1)
    	{
     
    	$avis = $_POST['avis'];
    	$req = "INSERT INTO avis SET NumeroMaison = '".$numeromaison."' , NumeroInscription = '".$row[1]."' , AvisInscrit = '".$avis."'";
    	$resultat = mysql_query($req);
    	echo "INSERT INTO avis SET NumeroMaison = '".$numeromaison."' , NumeroInscription = '".$row[1]."' , AvisInscrit = '".$avis."'";
    	}
    }
    Pour ce qui est des sessions se serait un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $_SESSION['adresse'] = 
    		 $adresse = mysql_real_escape_string($_GET['adresse'])  ;
    et ensuite mettre dans mon insert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	$req = "INSERT INTO avis SET NumeroMaison = '".$_SESSION['adresse']."' , NumeroInscription = '".$row[1]."' , AvisInscrit = '".$avis."'";

Discussions similaires

  1. [MySQL] Problème avec la récupération d'une variable dans un lien pour un panier
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 23/06/2011, 13h58
  2. probleme de passer une variable dans un lien
    Par _momo dans le forum Struts 1
    Réponses: 4
    Dernier message: 29/08/2007, 15h54
  3. [Dates] Récupération d'une variable dans whois ndd
    Par Arawn94 dans le forum Langage
    Réponses: 12
    Dernier message: 07/06/2007, 14h54
  4. Réponses: 3
    Dernier message: 06/05/2007, 20h11
  5. Réponses: 3
    Dernier message: 29/05/2006, 23h46

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