Se connecter avec
S'enregistrer | Connectez-vous

probleme pour recuperer checked pour radio sous php

Dernière réponse : dans Programmation

bonjour a tous,

je vais vous expliquer mon probleme:

j'ai des bouton radio au nombres de 4: Aucune, Lien internet,lien pdf, lien internet et pdf.

$db['publi'] correspond a la value du bouton ,je fais un test pour savoir a quel bouton il correspond, et normalement il checked la value correspondante.

et a chaque fois j'ai le message suivant qui s'affiche:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\publi\detail.php on line 267

et voici le code( entre <? ?>) qui pose probleme:



echo "<input type=\"radio\" class=\"graph\" if ($db['publi']==0) { checked;}name=\"publi\" value=\"0\" > Aucune\n";
echo "<br><input type=\"radio\" class=\"graph\" if ($db['publi']==1) { checked;} name=\"publi\" value=\"1\" > Lien internet\n";
echo "<br><input type=\"radio\" class=\"graph\" if ($db['publi']==2) { checked;}name=\"publi\" value=\"2\" > Lien pdf\n";
echo "<br><input type=\"radio\" class=\"graph\" if ($db['publi']==3) { checked;} name=\"publi\" value=\"3\" > Lien internet et pdf\n";

Car je ne vois pas ou se situe l'erreur

Merci de votre aide.
Lassé par la pub ? Créez un compte

bonsoir,

j'ai modifier mon code en :

<?
if ($db['publi']==3) {
$check3="Checked";
} elseif ($db['publi']==2) {
$check2="Checked";
} elseif ($db['publi']==1) {
$check1="Checked";
} else {
$check0="Checked";
}

echo $db['publi'];



line 282 echo "<input type=\"radio\" class=\"graph\" name=\"publi\" value=\"0\"$check0 >\n";
line 283 echo "<br><input type=\"radio\" class=\"graph\" name=\"publi\" value=\"1\"$check1 >\n";
line 284 echo "<br><input type=\"radio\" class=\"graph\" name=\"publi\" value=\"2\"$check2 >\n";
line 285 echo "<br><input type=\"radio\" class=\"graph\" name=\"publi\" value=\"3\"$check3 >\n";
?>

mais cette fois ci j'ai un autre type d'erreur:


Notice: Undefined variable: check0 in c:\program files\easyphp1-8\www\mutageme\detail.php on line 282

o Aucune

Notice: Undefined variable: check1 in c:\program files\easyphp1-8\www\mutageme\detail.php on line 283

o Lien internet

o Lien pdf

Notice: Undefined variable: check3 in c:\program files\easyphp1-8\www\mutageme\detail.php on line 285

o Lien internet et pdf

je n'ai pas l'erreur pour le bouton radio checked


et ceci que se soit pour IE que FF.

merci de m'aider


j'ai aussi un autre probleme:

normalement il s'agit d'une fenetre non redimensionnable:

sous firefox elle peut etre redimentionnee et l'actualisation ne se fait pas correctement.
je suis obligé de quitter la fenetre puis de la rouvrir et d'appuyer sur F5 pour que l'actualisation soit correct.

alors que sous IE actualisation correct.

aidez moi s'il vous plait

Bonsoir,

C'est normal.
par exemple, si la valeur 2 est coché, alors $check2 vaut "Checked". Mais que vaut $check0, $check1 et$check3 ?
C'est le sens du message d'erreur. undefined variable (variable indéfinie)

il faut donner des valeurs à $check0, $check1, $check2 et $check3 pour le cas ou ils ne sont pas coché.

donc :
  1. <?
  2. if ($db['publi']==3) {
  3. $check3="Checked";
  4. }else {
  5. $check3="";
  6. }
  7. ?>


tu peux utliser cette syntaxe, un peut plus lisible :
  1. <?
  2. $check1 = ($db['publi']==1) ? "checked" : "";
  3. $check2 = ($db['publi']==2) ? "checked" : "";
  4. $check3 = ($db['publi']==3) ? "checked" : "";
  5. ?>


A bientôt,

Gillou

merci pour l'aide ,

j'ai mis ce code:

<?
$check0="";
$check1="";
$check2="";
$check3="";

if ($db['publi']==3) {
$check3="Checked";
} elseif ($db['publi']==2) {
$check2="Checked";
} elseif ($db['publi']==1) {
$check1="Checked";
} else {
$check0="Checked";
}

echo $db['publi'];



echo "<input type=\"radio\" class=\"graph\" name=\"publi\" value=\"0\"$check0 > Aucune\n";
echo "<br><input type=\"radio\" class=\"graph\" name=\"publi\" value=\"1\"$check1 > Lien internet\n";
echo "<br><input type=\"radio\" class=\"graph\" name=\"publi\" value=\"2\"$check2 > Lien PDF\n";
echo "<br><input type=\"radio\" class=\"graph\" name=\"publi\" value=\"3\"$check3 > Lien internet et PDF\n";


?>


mais je crois que ton code est beaucoup plus optimisé

Merci

Duocore

merci pour l'aide ,

j'ai mis ce code:

<?
$check0="";
$check1="";
$check2="";
$check3="";

if ($db['publi']==3) {
$check3="Checked";
} elseif ($db['publi']==2) {
$check2="Checked";
} elseif ($db['publi']==1) {
$check1="Checked";
} else {
$check0="Checked";
}

echo $db['publi'];



echo "<input type=\"radio\" class=\"graph\" name=\"publi\" value=\"0\"$check0 > Aucune\n";
echo "<br><input type=\"radio\" class=\"graph\" name=\"publi\" value=\"1\"$check1 > Lien internet\n";
echo "<br><input type=\"radio\" class=\"graph\" name=\"publi\" value=\"2\"$check2 > Lien PDF\n";
echo "<br><input type=\"radio\" class=\"graph\" name=\"publi\" value=\"3\"$check3 > Lien internet et PDF\n";


?>


mais je crois que ton code est beaucoup plus optimisé

Merci

Duocore
Lassé par la pub ? Créez un compte
Tom's guide dans le monde