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

PHP & Base de données Discussion :

Pb pour récuperer une variable


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Pb pour récuperer une variable
    Bonjour,

    Le but de ce script est d'ajouter le terme "Achat" dans la table 'Objet' sur la colonne 'Satut', ainsi que le nom de l'acheteur dans la colonne 'NomAcheteur'.

    La page 'traitement1.php' est une menu déroulant qui affiche les objets de la personne sélectionné sur la page précédente, ainsi qu'un checkbox a la fin de chaque ligne. Lorsque l'utilisateur choisie l'objet qui désir acheter à la personne sélectionné, il doit cliquer sur "envoyer".

    Ensuite il est redirigé sur "fenetre.php"

    Cette page vérifie si l'objet n'a pas déjà était acheté, sinon il ajoute 'Achat' et 'NomAcheteur' comme dit au début dans la base de données.

    Enfaite le problème est que je n'arrive pas à récupérer l'objet sélectionné dans le menu déroulant, enfin il me semble. Voici mes scripts:

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    <?php
    	session_start();
    	if (!isset($_SESSION['login'])) {
    	header ('index.php');
    	exit();
    	}
    	include("config.php")
    	?>
     
    <?php
    mysql_connect($host, $user, $password); 
    mysql_select_db ($database) or die ("connection imposible");
     
    $rq=$_POST['Personne'];
    $ki=$_SESSION['login'];
     
     
    if ($_POST['envoi']=="Voir objet"){
    $Verif="SELECT user,ami FROM Amis WHERE user='$ki' AND ami='$rq'";
    $ty=mysql_query($Verif);
    $data = mysql_fetch_array($ty);
    if ($data){
    	echo "<form action='fenetre.php' method='post' >";
    	$rz="SELECT nom,categorie,vignette,lien FROM Objet INNER JOIN Membre ON Objet.id_Membre=Membre.id_Membre WHERE login='$rq'";
    	$result=mysql_query($rz) or die (" Execution de la requete impossible");
    	$rq=ucfirst($rq);
    	echo "<h1>$rq</h1>";
    	echo "<table cellspacing='15'>";
    	echo "<tr><td colspan='4'><hr></td></tr>";
    	while ($ligne=mysql_fetch_assoc($result))
    	{ extract($ligne);
    	echo "<tr>\n
    		<td>$nom</td>\n
    		<td>$categorie</td>\n
    		<td>$vignette<\td>\n
    		<td>$lien<\td>\n
    		<td><input type='checkbox' name='Acheter[]' value='".$ligne['nom']."'></td>";
     
    	echo "<tr><td colspan='3'><hr></td></tr>\n";
    	}
    	echo "<input type='submit'";
    	echo "</form>\n";
    	echo "</table>\n";
    	}
    	else{
    	echo "Ce membre ne fait pas partie de vaut amie, ajouter le pour voir c'est objet";
    	}
    	}
    if ($_POST['envoi']=="Ajouter en amis"){
     
    	echo "vous, $ki, avez ajouter $rq à vos amis";
    	$rqami='INSERT INTO Amis VALUES ("'.mysql_escape_string($ki).'","'.mysql_escape_string($rq).'")' or die ("impossible d'ajouter un ami");
    	mysql_query($rqami) or die ("erreur2.");
     
    	}
    ?>
    <html>	
    	<head>
    	<title> bienvenue dans votre espace pour voir vaut amis </title>
    	</head>
    	<body>
    <p> <a href='amis.php' > retour </a> </p>
    </body>
    </html>
    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
     
    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    	header ('index.php');
    	exit();
    }
    include("config.php")
    ?>
     
     
    <?php 
    mysql_connect($host, $user, $password); 
    mysql_select_db ($database) or die ("connection imposible");
    include("traitement1.php");
     
     
    foreach (Acheter as $valeur){
    $rt="SELECT Statut FROM Objet WHERE nom='$valeur'";
    $res=mysql_query($rt);
    $pi=mysql_fetch_assoc($res);
    if($pi[0]="NULL"){
    echo "l'objet $valeur est déja acheté";
    }
    else{
    $qui=$_SESSION['login']
    $sql="UPDATE Objet SET Statut='Achat',NomAcheteur='$qui' WHERE nom='$valeur'";
    mysql_query($sql) or die ("erreur2.");
     
    }
     
    echo "<h4> Vous avais confirmé votre achat </h4>";
    }
     
    ?>
    <html>	
    	<head>
    	<title> bienvenue dans votre espace pour acheter un objet </title>
    	</head>
    	<body>
    <p> <a href='traitement1.php' > retour </a> </p>
    </body>
    </html>
    Merci si vous pouvez me sortir de cette galère

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je pense que tu verras un problème ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach (Acheter as $valeur){
    Au passage, active l'affichage de la totalité des erreurs quand tu developpes, cette ligne aurait du t'avertir d'une constante non définie.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    foreach ($Acheter as $valeur){
    $rt="SELECT Statut FROM Objet WHERE nom='$valeur'";
    $res=mysql_query($rt);
    $pi=mysql_fetch_assoc($res);
    if($pi[0]="NULL"){
    echo "l'objet $valeur est déja acheté";
    }
    else{
    $qui=$_SESSION['login'];
    $sql="UPDATE Objet SET Statut='Achat',NomAcheteur='$qui' WHERE nom='$valeur'";
    mysql_query($sql) or die ("erreur2.");
     
    }
    J'ai un peu modifié la partie du foreach.

    L'erreur est la suivante:
    Warning: Invalid argument supplied for foreach()

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le retour du formulaire est dans la variable $_POST
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ($_POST['Acheter'] as $valeur){
    Encore une fois, configure ton serveur pour afficher toutes les erreurs, ta correction egalement doit provoquer une erreur puisque la variable $Acheter n'existe pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    J'ai modifier ce que vous m'avais dit, et j'ai afficher les toutes les erreurs ( je connaissais pas cette possibilité désolé).

    Voila donc le résultat:
    Notice: A session had already been started - ignoring session_start() in /home/students/mhumbe/public_html/traitement1.php on line 2

    Notice: Undefined index: Personne in /home/students/mhumbe/public_html/traitement1.php on line 14

    Notice: Undefined index: envoi in /home/students/mhumbe/public_html/traitement1.php on line 18

    Notice: Undefined index: envoi in /home/students/mhumbe/public_html/traitement1.php on line 49
    retour
    l'objet un joué est déjà acheté
    Vous avais confirmé votre achat

    retour

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour toutes ces erreurs, c'est un problème de logique de ton 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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?php
    mysql_connect($host, $user, $password); 
    mysql_select_db ($database) or die ("connection imposible");
    $ki=$_SESSION['login'];
     
    if (isset($_POST['envoi'])) {
     
    $rq=mysql_real_escape_string($_POST['Personne']);
     
    if ($_POST['envoi']=="Voir objet"){
     
    $Verif="SELECT user,ami FROM Amis WHERE user='$ki' AND ami='$rq'";
    $ty=mysql_query($Verif);
    $data = mysql_fetch_array($ty);
    if ($data){
    	echo "<form action='fenetre.php' method='post' >";
    	$rz="SELECT nom,categorie,vignette,lien FROM Objet INNER JOIN Membre ON Objet.id_Membre=Membre.id_Membre WHERE login='$rq'";
    	$result=mysql_query($rz) or die (" Execution de la requete impossible");
    	$rq=ucfirst($rq);
    	echo "<h1>$rq</h1>";
    	echo "<table cellspacing='15'>";
    	echo "<tr><td colspan='4'><hr></td></tr>";
    	while ($ligne=mysql_fetch_assoc($result))
    	{ extract($ligne);
    	echo "<tr>\n
    		<td>$nom</td>\n
    		<td>$categorie</td>\n
    		<td>$vignette<\td>\n
    		<td>$lien<\td>\n
    		<td><input type='checkbox' name='Acheter[]' value='".$ligne['nom']."'></td>";
     
    	echo "<tr><td colspan='3'><hr></td></tr>\n";
    	}
    	echo "<input type='submit'";
    	echo "</form>\n";
    	echo "</table>\n";
    	}
    	else{
    	echo "Ce membre ne fait pas partie de vaut amie, ajouter le pour voir c'est objet";
    	}
    	}
    elseif ($_POST['envoi']=="Ajouter en amis"){
     
    	echo "vous, $ki, avez ajouter $rq à vos amis";
    	$rqami="INSERT INTO Amis VALUES ('$ki','$rq')" or die ("impossible d'ajouter un ami");
    	mysql_query($rqami) or die ("erreur2.");
     
    	}
    }
    ?>
    <html>	
    	<head>
    	<title> bienvenue dans votre espace pour voir vaut amis </title>
    	</head>
    	<body>
    <p> <a href='amis.php' > retour </a> </p>
    </body>
    </html>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Oui mais le problème le script là marche très bien il ajoute bien les amis et affiche bien toute les objets de la personne sélectionné.

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    en quoi est-ce un problème ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Oui ca n'est pas un problème, mais je ne sais pas comment le modifier pour que la page "fenetre.php" fonctionne.

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Qu'est ce qui ne fonctionne pas ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Soucis pour récuperer mes variables ...
    Par R'SKaP dans le forum Langage
    Réponses: 13
    Dernier message: 23/01/2006, 20h04
  2. [Tableaux] récuperer une variable tableau passé par URL
    Par molesqualeux dans le forum Langage
    Réponses: 2
    Dernier message: 23/12/2005, 01h12
  3. Réponses: 3
    Dernier message: 11/11/2005, 12h59
  4. [PHP-JS] Récuperer une variable javascript..
    Par gwendy dans le forum Langage
    Réponses: 3
    Dernier message: 17/10/2005, 21h24
  5. Pb pour arrondir une variable Single
    Par Celia1303 dans le forum Access
    Réponses: 2
    Dernier message: 13/10/2005, 11h39

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