OVH Cloud OVH Cloud

Pb de passage de parametres

2 réponses
Avatar
herve
Bonjour,

Je suis entrain de réaliser une inscription en ligne à des réunions.
Chaque réunion est enregistrée dans une base de donnée.
Dans un premier script (inscription1), je les affiche dynamiquement et je
les associe à un formulaire et un champ caché
qui prend comme valeur la clef primaire de la réunion.
Quand une personne veut s'inscrire à une réunion, elle appuit sur le bouton
submit correspondant.
Et la ça coince... Je n'arrive pas à récupérer la valeur du champ caché.
Pourtant quand je regarde le source de inscription1, la valeur s'affiche.

Voici le script inscription1.php
$db=mysql_connect('SERVEUR', 'NOM', 'PASSE');
mysql_select_db('BASE',$db);
$sql="SELECT * FROM rencontres";
$req=mysql_query($sql) or die ('Erreur SQL
!<br>'.$sql.'<br>'.mysql_error());

while($data = mysql_fetch_array($req)) {
echo "<table border=\"1\" width=\"600\" align=\"center\">\n";
echo "<tr>\n";
echo "<form name=\"f".$data['id']."\" method=\"POST\"
action=\"inscription_reunion2.php\">\n";
echo "<input type=\"hidden\" name=\"num\" value=\"".$data['id']."\">\n";
echo "<td width=\"100\" class=\"normal\"
align=\"center\">".$data['date']."</td>\n";
echo "<td width=\"240\" class=\"normal\"
align=\"center\">".$data['theme']."</td>\n";
echo "<td width=\"80\" class=\"normal\"
align=\"center\">".$data['lieu']."</td>\n";
echo "<td width=\"80\" class=\"normal\"
align=\"center\">".$data['horaire']."</td>\n";
echo "<td align=\"center\" width=\"100\"><input type=\"submit\" value=\"Je
m'inscrit\"> </td>\n";
echo "</tr></table><br>\n";
}

Dans inscrioption2, j'essaie juste pour l'instant d'afficher la valeur $num
:
echo '$num';

Merci pour vos réponses !
Hervé

2 réponses

Avatar
Guillaume Bouchard

$db=mysql_connect('SERVEUR', 'NOM', 'PASSE');


Gestion d'erreur !

$db = mysql_connect(...) or die(mysql_error());

mysql_select_db('BASE',$db);


Gestion d'erreur !!

$db = mysql_connect(...) or die(mysql_error());


while($data = mysql_fetch_array($req)) {
echo "<table border="1" width="600" align="center">n";
echo "<tr>n";
echo "<form name="f".$data['id']."" method="POST"
action="inscription_reunion2.php">n";
echo "<input type="hidden" name="num" value="".$data['id']."">n";
echo "<td width="100" class="normal"
align="center">".$data['date']."</td>n";
echo "<td width="240" class="normal"
align="center">".$data['theme']."</td>n";
echo "<td width="80" class="normal"
align="center">".$data['lieu']."</td>n";
echo "<td width="80" class="normal"
align="center">".$data['horaire']."</td>n";
echo "<td align="center" width="100"><input type="submit" value="Je
m'inscrit"> </td>n";
echo "</tr></table><br>n";


C'est ce genre de pavé qui m'horifie quand je relit un code.
Tu sais qu'il existe les simples quotes qui seront bien plus adapaté a
ton probleme

echo '<table border="1" width="600" align="center">'."n";
echo '<tr>'."n";
echo '<form name="f'.$data['id'].'" method="POST"
action="inscription_reunion2.php">'."n";
echo '<input type="hidden" name="num" value="'.$data['id'].'">'."n";
echo '<td width="100" class="normal"
align="center">'.$data['date'].'</td>'."n";
echo '<td width="240" class="normal"
align="center">'.$data['theme'].'</td>'."n";
echo '<td width="80" class="normal"
align="center">'.$data['lieu'].'</td>n'."n";
echo '<td width="80" class="normal"
align="center">'.$data['horaire'].'</td>'."n";
echo '<td align="center" width="100"><input type="submit" value="Je
m'inscrit"> </td>'."n";
echo '</tr></table><br>'."n";

Bon je ne parlerais pas de la qualité du html, ce n'est pas le sujet.

echo '$num';


Alors la je rigole... Tu a sans doute pas testé ton code, tu aurais vu
qu'il t'affichais textuelement '$num'...

Entre simples quotes, les vars php ne sont pas remplacé.
Une variable n'a rien a faire dans une chaine

echo $num;

Puis je te conseille de lire

http://phpinfo.net/articles/article_globals.html

Pour reglé le prochain probleme qui se posera surement.

--
Guillaume.

Avatar
Gg
On 07 Jul 2003 12:30:05 GMT, Guillaume Bouchard wrote:

echo '<table border="1" width="600" align="center">'."n";


."n"... bon sang, mais c'est bien sur... Voilà la solution à mon problème
:-)
parce que entre simple quote, le n s'afficher tel quel dans la page.



--
GéraLd : http://gerald.fauvelle.free.fr
| Photos : http://www.gg.free.fr
| myStats : Système de statistiques
| Version 1.0.8 - http://my.stats.free.fr