Une variable que je ne sais pas récupérer à la page suivante

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Une variable que je ne sais pas récupérer à la page suivante

par Sebe » 10 févr. 2006, 17:53

Heu c'etait moi l'invité ...

il est clair que sur ta page deux , $colname_insertion est tjrs a -1 donc ton if n'est jamais réalisé ....
Rajoute un
echo 'getinser:'.$_GET['inser'].'<br>';
pour voir la valeur qu'il prend ...
Salut et merci

Voici l'echo de la requête
SELECT t5.id_course, t5.nom_course, t5.date, t6.ID_classement, t6.acrho_course_id_course, t6.ref_dossard, t6.temps, t6.moyenne, t6.point, t6.place FROM acrho_course AS t5, acrho_classement AS t6 WHERE t5.id_course = '-1' AND t6.acrho_course_id_course = '-1'-1getinser:
Un petit info venant de ma planéte ... je n'ai pas abandonné (oui, on ne m'entend plus trop parler) mais j'explore d'autres pistes me permettant d'y voir plus clair dans mon script (sa mise en page, ...!)
Et merci à tous

par PhilippeP » 10 févr. 2006, 17:42

Heu c'etait moi l'invité ...

il est clair que sur ta page deux , $colname_insertion est tjrs a -1 donc ton if n'est jamais réalisé ....
Rajoute un
echo 'getinser:'.$_GET['inser'].'<br>';
pour voir la valeur qu'il prend ...

par Sebe » 09 févr. 2006, 12:52

sur ta page 1 tu as :
if (isset($_GET['class'])) 
Sur la page 0 et pour passer sur la page 1, j'ai utilisé cette manière
<a href="classement_edition.php?class=<?php echo $row_class['id_course']; ?>"><?php echo $row_class['nom_course']; ?></a>
et sur ta page 2 :
if (isset($_GET['inser']) && ($_GET['inser']!='') ) {
la difference est pas dans la requete ...
Sur la page 1 pour passer à la page 2, j'ai utilisé cette manière
<a href="classement_insertion.php?inser=<?php echo $row_classement['t5.id_course']; ?>">Ajouter une entr&eacute;e au tableau </a>
Lorsque l'on s'est rendu compte que la valeur était nul (ce qu'elle normalement pas être), on y a ajouté ceci
&& ($_GET['inser']!='') ) {
C'est pour cette raison que je suis persuadé que l'erreur vient du pasage de la variable mais je ne trouve pas ce qui se passe!
Merci

par Invité » 09 févr. 2006, 12:31

sur ta page 1 tu as :
if (isset($_GET['class'])) 
et sur ta page 2 :
if (isset($_GET['inser']) && ($_GET['inser']!='') ) {
la difference est pas dans la requete ...

Re: Sessions

par Sebe » 09 févr. 2006, 11:27

Et en parlant de SQL as tu essayés ça?
PHP:
"WHERE t5.id_course = '".$colname_insertion."' AND t6.acrho_course_id_course = '".$colname_insertion."'";


Bàv,

DJe
Non, je n'avais pas essayé mais en remplaçant ma ligne par ce que tu me proposes, j'ai cet 'echo' là:
SELECT t5.id_course, t5.nom_course, t5.date, t6.ID_classement, t6.acrho_course_id_course, t6.ref_dossard, t6.temps, t6.moyenne, t6.point, t6.place FROM acrho_course AS t5, acrho_classement AS t6 WHERE t5.id_course = '-1' AND t6.acrho_course_id_course = '-1'-1
Merci

par Sebe » 09 févr. 2006, 11:23

Petit Rappel:
affichage de la requete générée pour verifier si elle est complète ou s'il y a des erreurs apparentes. :wink:
Salut et merci pour vos réponses car je commencais un peu à sécher,
A la page 1 [classement_edition.php], j'ai ajouté 2 lignes à ma requête:
<?php require_once('../Connections/kainbuye.php');
$colname_classement = "-1";
if (isset($_GET['class'])) {
  $colname_classement = (get_magic_quotes_gpc()) ? $_GET['class'] : addslashes($_GET['class']);
}
mysql_select_db($database_kainbuye, $kainbuye);
$query_classement = "SELECT t5.id_course, 
                  		t5.nom_course,
						t5.date,
						t5.lieu,
						t5.kilometrage,
						t5.nbre_part,
						t6.ID_classement,
						t6.acrho_course_id_course,
						t6.ref_dossard,
						t6.temps,
						t6.moyenne,
						t6.point,
						t6.place ".
				"FROM acrho_course AS t5,
				      acrho_classement AS t6 ". 
				"WHERE t5.id_course = ".$colname_classement." ".
						"AND t6.acrho_course_id_course = t5.id_course ".
						" ".
				"ORDER BY t6.place ASC";
				echo $query_classement; // <----- ICI 
				echo $colname_classement; // <----- ICI
$classement = mysql_query($query_classement, $kainbuye) or die(mysql_error());
$row_classement = mysql_fetch_assoc($classement);
$totalRows_classement = mysql_num_rows($classement);
?>
Et j'obtiens ce message:
SELECT t5.id_course, t5.nom_course, t5.date, t5.lieu, t5.kilometrage, t5.nbre_part, t6.ID_classement, t6.acrho_course_id_course, t6.ref_dossard, t6.temps, t6.moyenne, t6.point, t6.place FROM acrho_course AS t5, acrho_classement AS t6 WHERE t5.id_course = 2 AND t6.acrho_course_id_course = t5.id_course ORDER BY t6.place ASC2
A ma page 2 [classement_insertion.php]:
<?php require_once('../Connections/kainbuye.php');
$colname_insertion = "-1";
if (isset($_GET['inser']) && ($_GET['inser']!='') ) { 
  $colname_insertion = (get_magic_quotes_gpc()) ? $_GET['inser'] : addslashes($_GET['inser']); 
} 
mysql_select_db($database_kainbuye, $kainbuye);
$query_insertion = "SELECT t5.id_course, 
                  		t5.nom_course,
						t5.date,
						t6.ID_classement,
						t6.acrho_course_id_course,
						t6.ref_dossard,
						t6.temps,
						t6.moyenne,
						t6.point,
						t6.place ".
				"FROM acrho_course AS t5,
				      acrho_classement AS t6 ". 
				"WHERE t5.id_course = ".$colname_insertion." ".
						"AND t6.acrho_course_id_course = t5.id_course ".
						" ";
				echo $query_insertion; // <----- ICI 
				echo $colname_insertion; // <----- ICI
$insertion = mysql_query($query_insertion, $kainbuye) or die(mysql_error());
$row_insertion = mysql_fetch_assoc($insertion);
$totalRows_insertion = mysql_num_rows($insertion);
?>
Et j'ai ce message:
SELECT t5.id_course, t5.nom_course, t5.date, t6.ID_classement, t6.acrho_course_id_course, t6.ref_dossard, t6.temps, t6.moyenne, t6.point, t6.place FROM acrho_course AS t5, acrho_classement AS t6 WHERE t5.id_course = -1 AND t6.acrho_course_id_course = t5.id_course -1
Les requêtes étant sensiblement les mêmes, je devrais avoir la même chose et pourtant ... il y a un problème de passage de variable!

Merci

Sessions

par DJe » 09 févr. 2006, 10:19

Est-ce qu'on ne s'égare pas?
Il me semblait que sebe demandait le passage d'une variable d'une page à une autre...
J'ai vaguement parcouru la thread, je ne suis pas très au courant de sont problème.
En tout cas, concernant le passage de paramètres d'une page à l'autre j'utiliserai une session, et effectivement pour inclure une source (user) dans un SQL, vaut toujours mieux vérifier les caractères spéciaux...

Et en parlant de SQL as tu essayés ça?
PHP:
"WHERE t5.id_course = '".$colname_insertion."' AND t6.acrho_course_id_course = '".$colname_insertion."'";


Bàv,

DJe

par Truc » 09 févr. 2006, 01:07

Petit Rappel:
affichage de la requete générée pour verifier si elle est complète ou s'il y a des erreurs apparentes. :wink:

par Sebe » 08 févr. 2006, 16:08

au lieu d'utiliser adslaches tu peut utiliser mysql_real_escape_string
http://fr2.php.net/manual/fr/function.m ... string.php
Je ne l'avais pas vu ... je regardes cela tout à l'heure!

Merci

par Sebe » 08 févr. 2006, 16:02

didgar,
Non, cela n'apporte rien de nouveau.


jeff,
C'est quelque chose que Cyrano m'avait demandé de faire lors d'un problème que j'avais eu avec un script ... je trouve cela plus beau, donc je continus!


Merci à vous deux pour essayer de me venir en aide

par jeff » 08 févr. 2006, 15:44

hmm c'est quoi tout ces points :lol:
tu n'est pas obliger de concatener
$query_insertion = 'SELECT t5.id_course,
                          t5.nom_course,
                        t5.date,
                        t6.ID_classement,
                        t6.acrho_course_id_course,
                        t6.ref_dossard,
                        t6.temps,
                        t6.moyenne,
                        t6.point,
                        t6.place 
                FROM acrho_course AS t5,
                      acrho_classement AS t6 
                WHERE t5.id_course = '.$colname_insertion.'
                        AND t6.acrho_course_id_course = t5.id_course';
au lieu d'utiliser adslaches tu peut utiliser mysql_real_escape_string
http://fr2.php.net/manual/fr/function.m ... string.php

par didgar » 08 févr. 2006, 15:41

Salut !

Sans conviction mais on sait jamais !

Moi je remplacerais ça :
"WHERE t5.id_course = ".$colname_insertion." ".
                        "AND t6.acrho_course_id_course = t5.id_course ".
                        " ";
par ça :
"WHERE t5.id_course = '".$colname_insertion."' AND t6.acrho_course_id_course = t5.id_course ";
A+

Didier

Une variable que je ne sais pas récupérer à la page suivante

par Sebe » 08 févr. 2006, 14:55

Salut,

J'ai un petit soucis avec mes scripts ... je voudrais faire passer une variable mais pour déterminer un classement en fonction de l'id_course!
Mon passage ce fait ainsi:
<a href="classement_insertion.php?inser=<?php echo $row_classement['t5.id_course']; ?>">Ajouter une entr&eacute;e au tableau </a>
et voici le résultat sur la 2ème page:
You have an error in your SQL syntax near 'AND t6.acrho_course_id_course = t5.id_course ' at line 11
Comment est-ce que je sais que la variable est nul? Avec un coup de main, on a ajouter un complément à ma requête ...
voici ma requête
<?php require_once('../Connections/kainbuye.php');
$colname_insertion = "-1";
if (isset($_GET['inser'])) { 
  $colname_insertion = (get_magic_quotes_gpc()) ? $_GET['inser'] : addslashes($_GET['inser']); 
} 
mysql_select_db($database_kainbuye, $kainbuye);
$query_insertion = "SELECT t5.id_course, 
                  		t5.nom_course,
						t5.date,
						t6.ID_classement,
						t6.acrho_course_id_course,
						t6.ref_dossard,
						t6.temps,
						t6.moyenne,
						t6.point,
						t6.place ".
				"FROM acrho_course AS t5,
				      acrho_classement AS t6 ". 
				"WHERE t5.id_course = ".$colname_insertion." ".
						"AND t6.acrho_course_id_course = t5.id_course ".
						" ";
$insertion = mysql_query($query_insertion, $kainbuye) or die(mysql_error());
$row_insertion = mysql_fetch_assoc($insertion);
$totalRows_insertion = mysql_num_rows($insertion);
?>
La partie qui a été modifiée et qui permet de passer à la page suivante mais, vous l'imaginez bien, ne me permet pas d'accéder au dit classement
if (isset($_GET['inser']) && ($_GET['inser']!='') ) { 
  $colname_insertion = (get_magic_quotes_gpc()) ? $_GET['inser'] : addslashes($_GET['inser']); 
} 
Si quelqu'un pouvez me donner une piste pour orienter mes recherches, ce serait sympatique

Merci