OVH Cloud OVH Cloud

renvoyer un numerique au serveur [newbee]

7 réponses
Avatar
soixanteu
bonjours, j'adapte un logiciel en appli web (PHP).
je charge une requete mysql dans un tableau html, et j'airais besoin de

recupérer l'identifiant (un int) de l'enregistrement sur lequel
l'utilisateur a cliqué.
pour ce faire, je pense que javascript s'impose, mais je ne sait pas
comment renvoyer une variable en javascript. (get, post?? je connait
pas...)


TABLE>
<TR>
<TD>
=>un renvoi ici : ex : a_id =1
</TD>
<TD>
=>un autre ici ex : a_id = 2
</TD>
</TR>
</TABLE>


je doit créer un lien, mias je met quoi dedans comme instructions??


desolé pour la lourdeur de ma question, mais je suis un VRAI newbee!

7 réponses

Avatar
CrazyCat
wrote:
je charge une requete mysql dans un tableau html, et j'airais besoin de


Non, on ne charge pas une requete dans un tableau, on affiche le
résultat de la requete dans un tableau.

recupérer l'identifiant (un int) de l'enregistrement sur lequel
l'utilisateur a cliqué.


La question n'est pas claire, il manque des informations primordiales:
- a quoi ressemble ta requète et que fait-elle par rapport à cet
identifiant?
- est-ce un soucis pour l'envoit ou la récupération de ce identifiant?

pour ce faire, je pense que javascript s'impose, mais je ne sait pas
comment renvoyer une variable en javascript. (get, post?? je connait
pas...)


Non, tu es dans le NG "php"

Maintenant, voila plus ou moins la solution.

Tes liens doivent être (pour faire quelque chose de simple) du type
"page.php?id=XX" (XX étant ton identifiant).

Et dans page.php, tu n'as qu'à récupérer la valeur de id en faisant:
$id = $_GET["id"];
(ou $id = $_REQUEST["id"] pour ne pas te limiter au get)

Voila, et lire les bases d'un langage n'est pas toujours débué de bon sens.

--
Découvrez Original War: http://www.original-war.org
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.crazy-irc.net

Avatar
Guillaume Bouchard
CrazyCat wrote:
Tes liens doivent être (pour faire quelque chose de simple) du type
"page.php?id=XX" (XX étant ton identifiant).

Et dans page.php, tu n'as qu'à récupérer la valeur de id en faisant:
$id = $_GET["id"];
(ou $id = $_REQUEST["id"] pour ne pas te limiter au get)



Juste une chose, suite au thread enflammé plus haut

if(is_numeric($_REQUEST["id"])){
$id = $_REQUEST["id"];
} else {
die('Espece de pirate !');
}

Voila, et lire les bases d'un langage n'est pas toujours débué de bon sens.


J'ajouterais même que c'est obligatoire. De même que comprandre ce qui
tourne autour du langage en question (le comportement déconecté de http,
l'html, le principe des requetes sur le serveur...).

--
Guillaume.

Avatar
Bruno Baguette

Juste une chose, suite au thread enflammé plus haut

if(is_numeric($_REQUEST["id"])){
$id = $_REQUEST["id"];
} else {
die('Espece de pirate !');
}


Je ne suis pas tout à fait d'accord, relisez la documentation de la
fonction is_numeric.

Voici ce que je propose, pour ma part, en reprenant votre code :


// On vire les espaces superflus
$id = trim($_REQUEST['id']);

if(strlen($id)>0)
{
// Il y a bien un id communiqué
// ==> On vérifie s'il est valide
if(ctype_digit($id)==TRUE)
{
// L'id est correct (entier numérique positif)
}
else
{
// L'id n'est pas valide
// ==> On unset la variable
unset($id);
// ==> Et on colle un message d'erreur
echo('Espece de pirate !');
}
}
else
{
// L'id est manquant
// ==> On unset la variable
unset($id);
// ==> action (id par defaut, message d'erreur ou autre)
}


En espérant que ca aide,

--
Bruno BAGUETTE -

Avatar
Guillaume Bouchard
Bruno Baguette wrote:
Je ne suis pas tout à fait d'accord, relisez la documentation de la
fonction is_numeric.


Là tu m'interpelles. la doc ne disant rien de particulier, je ne vois
pas ou est le problème ?

En lisant les commentaires, on se rend compte que la fonction accepte
les +, les ., les e et quelques autres cochonneries. Donc il est vrai
que ce n'est pas un pur numeric.

Donc en fait cela depend de ce que l'on attend.

if(ctype_digit($id)==TRUE)


Très bonne idee, j'adopte dès maitenant.

Merci.

--
Guillaume.

Avatar
ftc
Bruno Baguette wrote:

Je ne suis pas tout à fait d'accord, relisez la documentation de la
fonction is_numeric.



Là tu m'interpelles. la doc ne disant rien de particulier, je ne vois
pas ou est le problème ?

En lisant les commentaires, on se rend compte que la fonction accepte
les +, les ., les e et quelques autres cochonneries. Donc il est vrai
que ce n'est pas un pur numeric.

Donc en fait cela depend de ce que l'on attend.

if(ctype_digit($id)==TRUE)





Il faut aussi savoir que ctype_digit renvoie true si la chaine $id est
vide, donc si on a absolument besoin d'un numérique, il faut faire:

if ( ctype_digit( $id ) && ! empty( $id ) )


Avatar
Olivier Miakinen
Le 06/06/2005 13:14, Guillaume Bouchard répondait à Bruno Baguette :

if(ctype_digit($id)==TRUE)


Très bonne idee, j'adopte dès maitenant.


Pour être sûr qu'il soit vraiment vrai que la fonction ctype_digit() ait
vraiment retourné une valeur vraie, il serait plus prudent d'écrire :
if ((ctype_digit($id)==TRUE)==TRUE)
voire :
if ((TRUE==((ctype_digit($id)==TRUE)==TRUE))==TRUE)

Sinon, quand on est flemmard comme moi on se contente de :
if (ctype_digit($id))

;-)

--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.


Avatar
soixanteu
Je suis heureux que mon pos vous ai enflammés!

perso ma solution a ete :

echo "<td> <A href="?" . $this->clef . "=" . $this->row[$this->clef]
."">" . $this->row[$this->col[$j]] . "</td>";

avec $this->clef : le nom de l'identifiant,
$this->row[$this->clef] le resultat.
et $this->row[$this->col[$j]] le texte sur lequel appliquer le lien

pour recuperer :
c'est en cours... :)
merci de vos reponses, en fait mon pbp etait de transmettre des
données sans connaitre l'adresse de la page : il suffit dene pas la
mettre : <a href = "?<var>" /> suffit.
merci