Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 11/05/2007, 14h01   #1
Membre actif
 
Avatar de copin
 
Inscription : mai 2005
Messages : 205
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mai 2005
Messages : 205
Points : 151
Points : 151
Par défaut Passage variable formulaire

Bonjour à tous.

J'ai un petit problème concernant le passage d'une variable d'une page à une autre pour effectué une requete

Voila. Dans ma première page j'ai listé le contenu d'una table avec région répétée. Jusque la tout la bien. Pour chaque elements listé j'ai placé un bouton modifier quand je clique sur modifié je souhaite passé l'identifiant vers la seconde page pour faire une restriction et afficher uniquement l'enregistrement correspondant à l'identifiant.

Dans la première page j'ai donc:
Code :
1
2
3
4
5
6
 
<form action="modifnosdomaines.php?var=<? echo $var; ?>" method="get" name="modif">
         <td width="1178" ><input type="hidden" name="dom_id" value="<?php $row_Recordset1["dom_id"];?>"/><? $var=$_GET["dom_id"]; ?>
        <?php echo $row_Recordset1['dom_titre'];?> </td>
      <td width="188" align="center"><input type="submit" name="Submit" value="Modifier" /></td>
	  	</form>
Dans la seconde page je souhaite récupérer ma variable et effectuer ma requete:

Code :
1
2
3
4
5
6
7
8
9
10
11
 <?php require_once('../Connections/connexion.php'); ?>
<?php 
$var=@$_GET["dom_id"]; 
?>
<?php
mysql_select_db($database_connexion, $connexion);
$query_Recordset1 ="SELECT * FROM domaines where dom_id=".$var."";
$Recordset1 = mysql_query($query_Recordset1, $connexion) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
Le problème se situe au moment du passage à la seconde page. Le navigateur affiche une erreur. Je pense que s'est parce que ma variable est vide mais je vois pas pourquoi. Je pense que ca doit etre une erreur toute conne.

D'avance merci
copin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 14h24   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
Bonjour

Si il s'agit de passer d'un script à un autre, à ta place je laisserais tomber le GET pour utiliser la méthde POST.
Mais bon, en essayant par get, je pense qu'il n'est pas nécessaire d'indiquer dans l'action le passage de la variable; Et tu devrais éviter de reprendre la variable dans le formalaire qui la soumet. (je ne suis pas sûre d'être très claire là...)
Code php :
1
2
3
4
<form action="modifnosdomaines.php" method="get" name="modif">
         <td width="1178" ><input type="hidden" name="dom_id" value="<?php echo $row_Recordset1['dom_id'];?>"/><?php echo $row_Recordset1['dom_titre'];?> </td>
      <td width="188" align="center"><input type="submit" name="Submit" value="Modifier" /></td>
</form>
moi j'aurais plutôt fait ça comme ça (avec POST):
Code php :
1
2
3
4
<form action="modifnosdomaines.php" method="post" name="modif">
         <td width="1178" ><input type="hidden" name="dom_id" value="<?php echo $row_Recordset1['dom_id'];?>"/><?php echo $row_Recordset1['dom_titre'];?> </td>
      <td width="188" align="center"><input type="submit" name="Submit" value="Modifier" /></td>
</form>
et
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php require_once('../Connections/connexion.php'); ?>
<?php 
if (isset ($_POST['dom_id'])){
	$var=$_POST['dom_id']; 
?>
<?php
	mysql_select_db($database_connexion, $connexion);
	$query_Recordset1 ="SELECT * FROM domaines where dom_id=".$var."";
	$Recordset1 = mysql_query($query_Recordset1, $connexion) or die(mysql_error());
	$row_Recordset1 = mysql_fetch_assoc($Recordset1);
	$totalRows_Recordset1 = mysql_num_rows($Recordset1);
}
?>
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h18.


 
 
 
 
Partenaires

Hébergement Web