variable entre quotes

Eléphanteau du PHP | 27 Messages

23 août 2010, 17:24

Bonjour,
J'ai une variable ($segtSelect) qui peut prendre comme valeur : '1C' , '1D', '1E', etc... (avec impérativement les quotes de chaque coté du chiffre et de la lettre).
Le problème est que lorsque j'affecte un bouton à une instruction de chargement de nouvelle page avec transmission de la variable, comme cela :

Code : Tout sélectionner

<button value='Essa' onClick=location='http://10.226.16.89/eddy_new/essai3.php?segt=<?php echo "$segtSelect";?>'> essai3 </button>
le bouton est inactif. Par contre lorsque la variable est sous la forme 1C, 1D ou 1E sans les quotes, le bouton fonctionne.
Auriez-vous une idée ?
Merci

ViPHP
ViPHP | 5462 Messages

23 août 2010, 17:26

pas besoin de mettre des quotes
<?php echo $segtSelect;?>
par contre pour le html c'est mieux de mettre des double-quotes

Mammouth du PHP | 686 Messages

23 août 2010, 17:53

Essai comme ceci
<button value="Essa" onClick=location="http://10.226.16.89/eddy_new/essai3.php?segt=<?php echo urlencode($segtSelect);?>">
                     essai3
                     </button>
et pour recupèrer ta variable utilise urldecode();

ViPHP
ViPHP | 5462 Messages

23 août 2010, 17:55

pas sur que ca marche ca
onClick=location=

Mammouth du PHP | 686 Messages

23 août 2010, 18:02

pas sur que ca marche ca
onClick=location=
Effectivement lol j'ai pas relu son code ...

Ca ca devrai être mieux
<button value="Essa" onClick="document.location.href='http://10.226.16.89/eddy_new/essai3.php?segt=<?php echo urlencode($segtSelect);?>;'">
                     essai3
                     </button>

Eléphanteau du PHP | 27 Messages

24 août 2010, 10:27

Super, merci pour ces réponses,
En effet le bouton fonctionne et la variable est transmise dans l'autre page, mais hélàs lorsque je l'utilise dans ce code :

Code : Tout sélectionner

$segt3=urldecode($segtSelect); echo $segt3; $user=""; $password=""; $database="eddypart"; $conn=odbc_connect($database,$user,$password,"SQL_CUR_USE_IF_NEEDED"); $sqlDateData="select * from eddypart where agcepo='toto' and segt='$segt3'"; $result8=odbc_exec($conn, $sqlDateData);
ça ne fonctionne pas. Même si l'echo de $segt3 renvoi bien la valeur attendue, le select ne fonctionne pas (avec ou sans quotes autour de $segt3).
Merci d'avance.

Mammouth du PHP | 686 Messages

24 août 2010, 13:03

C'est dans ta requete SQL que ca veut pas marcher ?
Parce que dans ce cas rajoute cette ligne juste après $conn=odbc_connect($database,$user,$password,"SQL_CUR_USE_IF_NEEDED");
$segt3 = mysql_real_escape_string($segt3);

ViPHP
ViPHP | 5462 Messages

24 août 2010, 13:18

C'est dans ta requete SQL que ca veut pas marcher ?
Parce que dans ce cas rajoute cette ligne juste après $conn=odbc_connect($database,$user,$password,"SQL_CUR_USE_IF_NEEDED");
$segt3 = mysql_real_escape_string($segt3);
odbc avec mysql ?

Mammouth du PHP | 686 Messages

24 août 2010, 14:04

odbc avec mysql ?
Oups en effet, je lit un peu trop vite les codes sources ...

addslashes devrai suffire
$segt3 = addslashes($segt3);

Eléphanteau du PHP | 27 Messages

26 août 2010, 09:47

Ok, merci à tout le monde, c'est tout bon.

Mammouth du PHP | 686 Messages

26 août 2010, 10:34

Ok, merci à tout le monde, c'est tout bon.
20/20 alors ! :pouce:
Résolu donc ! :wink: