Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/04/2007, 12h58   #1
Invité régulier
 
Inscription : juin 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 45
Points : 8
Points : 8
Par défaut [SQL] php récupération données formulaire + requête sql

Bonjour,
Mon problème est que j'arrive pas à récupérer les données d'un formulaire pour pouvoir exécuter une requete par la suite.

Au fait, on récupère les informations à partir d'un formulaire qu'on modifie via un lien URL après.

Voici le code source:

commande.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?
$sql="SELECT * FROM table_commande WHERE etat_commande='non'";
$res_select = mysql_query($sql);
$site=mysql_fetch_array($res_select);
 
<form action="commande.php">
<tr>
  <td><center>
    <select name="paiement">
      <option value="0" selected><?=$site["paiement_com"]?></option>
        <? if ($site["paiement_com"]=="cheque"){ ?>
          <option value="1">CB</option>
	<? } 
	    else if ($site["paiement_com"]=="CB"){ ?>
		<option value="1">cheque</option>
	      <? }
 }?>				
		</select></center></td>
<td><a href="modif_com.php?type=<?=$_POST['paiement']?>?>" onclick="javascript:if(!confirm('Etes-vous sûr de vouloir modifier cette commande?')) return false;">Modifier</a></td>
</tr>
</form>
?>
modif_com.php
Code :
1
2
3
4
5
6
7
8
 
<?
 
if(isset($_GET['type'])){$paiement = $_GET['type']; } 
$sql = "UPDATE $table_commande SET paiement_com = '$paiement'";
$req = mysql_query($sql);
 
?>
cesoir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 13h00   #2
Membre actif
 
Avatar de Azazel.fr
 
Inscription : mars 2007
Messages : 170
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 170
Points : 177
Points : 177
Code :
1
2
3
4
5
6
7
<?
 
if(isset($_GET['type'])){$paiement = $_GET['type']; }
$sql = "UPDATE ".$table_commande." SET paiement_com = '".$paiement."'";
$req = mysql_query($sql);
 
?>
gare aux injections sql avec ce type de code !

Code :
$paiement = htmlentities($_GET['type']);
Code :
$sql = "UPDATE ".$table_commande." SET paiement_com = '".mysql_real_escape_string($paiement)."'";
__________________
http://www.bordeauxstunt.com
Azazel.fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 13h18   #3
Invité régulier
 
Inscription : juin 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 45
Points : 8
Points : 8
non ce n'est pas ca... j'ai toujours le même problème
cesoir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 13h21   #4
Membre actif
 
Avatar de Azazel.fr
 
Inscription : mars 2007
Messages : 170
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 170
Points : 177
Points : 177
houla !
j'avais pas vu la première partie !
tu fais un lien avec type=$_POST... sans avoir posté la page ???
la valeur de type doit etre vide dans ton cas...
__________________
http://www.bordeauxstunt.com
Azazel.fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 13h23   #5
Invité régulier
 
Inscription : juin 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 45
Points : 8
Points : 8
une question: vous pouviez m'expliquer pourquoi dans commande.php quand je fais un
Code :
echo $_POST['paiement'];
il m'affiche comme erreur "Undefined index: paiement "

edit: si si j'ai rajouté dans form, method="post"
cesoir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 13h25   #6
Membre actif
 
Avatar de Azazel.fr
 
Inscription : mars 2007
Messages : 170
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 170
Points : 177
Points : 177
ben ta variable n'est pas posté.
ça vient de quelle page ? de la meme ?
il faut soumettre un formulaire à un moment ou à un autre pour faire passer une variable en POST
__________________
http://www.bordeauxstunt.com
Azazel.fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 13h29   #7
Invité régulier
 
Inscription : juin 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 45
Points : 8
Points : 8
oui oui de commande.php

j'ai bien un formulaire avec method="post" dans commande.php
cesoir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 13h57   #8
Membre actif
 
Avatar de Azazel.fr
 
Inscription : mars 2007
Messages : 170
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 170
Points : 177
Points : 177
ben moi je vois un form avec una action mais de method.
et je ne vois pas de submit non plus...
__________________
http://www.bordeauxstunt.com
Azazel.fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 14h46   #9
Invité de passage
 
Inscription : juillet 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 5
Points : 3
Points : 3
Si j'ai bien compris ce que vous cherchiez à faire il faut

Changer la balise d'ouverture du formulaire qui est :
Code :
<form action="commande.php">
Par :
Code :
<form action="modif_com.php" method="POST">
et remplacer :
Code :
<a href="modif_com.php?type=<?=$_POST['paiement']?>?>" onclick="javascript:if(!confirm('Etes-vous sûr de vouloir modifier cette commande?')) return false;">Modifier</a>
Par :
Code :
<input type="submit" onclick="javascript:if(!confirm('Etes-vous sûr de vouloir modifier cette commande?')) return false;" value="Modifier">
Et dans le fichier modif_com remplacer les $_GET['type'] par des $_POST['paiement']

La valeur retourner par le formulare sera la valeur (value) de l'élément sélectionné.

Sinon, je ne sais pas si c'est normal mais vous avez 2 options à la même valeur (1)...

Bonne chance
Vinssent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2007, 15h00   #10
Invité régulier
 
Inscription : juin 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 45
Points : 8
Points : 8
c'est réglé j'ai fait une erreur avec post et get... et j'ai rajouté un bouton submit au lieu de l'URL pour passer ma requete...

mercii
cesoir est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h37.


 
 
 
 
Partenaires

Hébergement Web