[PHP] Syntaxe
Heliard
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
Heliard Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Heliard Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde, je suis plus ou moins débutant en PHP, ce qui fait que je n'ai pas encore tout les bons réflexes.
M'améliorant j'ai essayé d'économiser les lignes de codes avec une boucle for, mais au final je passe plus de temps à comprendre pourquoi j'ai : Parse error: syntax error, unexpected "quelque chose" à chaque fois qu'à faire mon site web...
Voici la dernière version du code qui me pose problème :
<?php
$tab1 = array("name", "surname", "adress", "postal_code", "city", "country", "email", "phone");
$tab2 = array("First name", "Last name", "Adress", "postal code", "City", "Country", "eMail", "Phone");
for($i=0; $i=8; $i++)
{
echo $tab2[$i];
echo " : ";
echo ("<input type =\"text\" name=\"".$tab1[$i]."\" value=\""if( isset($_SESSION[$tab1[$i]])){ echo $_SESSION[$tab1[$i]]; } "\"/>");
echo (($error[$i]==1)?"<font color=red>*</font>":"");
}
<input type="submit" value="Send" />
?>
Le problème se situe au niveau de l'input... je pense avoir régler la plus part des problèmes de syntaxes (parfois sans trop savoir pourquoi), mais le if ne passe toujours pas.
Voici en HTML ce que ça donnerait (ce code a été testé, il fonctionne) :
First name : <input type="text" name="first_name" value="<?php if(isset($_SESSION['first_name'])) echo $_SESSION['first_name']; ?>" /><?php echo (($error[1]==1)?"<font color=red>*</font>":""); ?><br />
J'espère que quelqu'un arrivera à résoudre mon petit problème, sinon ben je le avec ferai mon patté de code tout moche :(
M'améliorant j'ai essayé d'économiser les lignes de codes avec une boucle for, mais au final je passe plus de temps à comprendre pourquoi j'ai : Parse error: syntax error, unexpected "quelque chose" à chaque fois qu'à faire mon site web...
Voici la dernière version du code qui me pose problème :
<?php
$tab1 = array("name", "surname", "adress", "postal_code", "city", "country", "email", "phone");
$tab2 = array("First name", "Last name", "Adress", "postal code", "City", "Country", "eMail", "Phone");
for($i=0; $i=8; $i++)
{
echo $tab2[$i];
echo " : ";
echo ("<input type =\"text\" name=\"".$tab1[$i]."\" value=\""if( isset($_SESSION[$tab1[$i]])){ echo $_SESSION[$tab1[$i]]; } "\"/>");
echo (($error[$i]==1)?"<font color=red>*</font>":"");
}
<input type="submit" value="Send" />
?>
Le problème se situe au niveau de l'input... je pense avoir régler la plus part des problèmes de syntaxes (parfois sans trop savoir pourquoi), mais le if ne passe toujours pas.
Voici en HTML ce que ça donnerait (ce code a été testé, il fonctionne) :
First name : <input type="text" name="first_name" value="<?php if(isset($_SESSION['first_name'])) echo $_SESSION['first_name']; ?>" /><?php echo (($error[1]==1)?"<font color=red>*</font>":""); ?><br />
J'espère que quelqu'un arrivera à résoudre mon petit problème, sinon ben je le avec ferai mon patté de code tout moche :(
A voir également:
- [PHP] Syntaxe
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Alert php ✓ - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
- Trouver erreur de syntaxe fichier txt ✓ - Forum PHP
4 réponses
Tu devrais mettre ton if avant :
if( isset($_SESSION[$tab1[$i]])){
$tmp = $_SESSION[$tab1[$i]];
}else{
$tmp = '';
}
echo "<input type =\"text\" name=\"".$tab1[$i]."\" value=\"".$tmp."\"/>";
if( isset($_SESSION[$tab1[$i]])){
$tmp = $_SESSION[$tab1[$i]];
}else{
$tmp = '';
}
echo "<input type =\"text\" name=\"".$tab1[$i]."\" value=\"".$tmp."\"/>";
echo ("<input type =\"text\" name=\"".$tab1[$i]."\" value=\""if( isset($_SESSION[$tab1[$i]])){ echo $_SESSION[$tab1[$i]]; } "\"/>");
Il doit te manquer un point pour concaténer la fin (j'ai rien pour développer en php ici, donc je peux pas vérifier ^^):
echo ("<input type =\"text\" name=\"".$tab1[$i]."\" value=\""if( isset($_SESSION[$tab1[$i]])){ echo $_SESSION[$tab1[$i]]; } ."\"/>");
Et puis, après relecture, ton histoire d'echos imbriqués, là, ca ne me dit rien qui vaille ... :O
Je confirme que ça ne fonctionne toujours pas.
Le problème c'est au niveau de la syntaxe, en ce moment par exemple le nom exact de mon erreur c'est :
Parse error: syntax error, unexpected T_IF
En gros il aime pas mon IF...
Pour ce qui est de l'echo imbriqué... c'est ma faute l'idée de viré le deuxième ne m'a même pas traversé l'esprit alors qu'il ne sert à rien théoriquement.....
Donc voici au dernière nouvelle la ligne de code :
echo ("<input type =\"text\" name=\"".$tab1[$i]."\" value=\""if( isset($_SESSION[$tab1[$i]])){ $_SESSION[$tab1[$i]]; }. "\"/>");
Le problème c'est au niveau de la syntaxe, en ce moment par exemple le nom exact de mon erreur c'est :
Parse error: syntax error, unexpected T_IF
En gros il aime pas mon IF...
Pour ce qui est de l'echo imbriqué... c'est ma faute l'idée de viré le deuxième ne m'a même pas traversé l'esprit alors qu'il ne sert à rien théoriquement.....
Donc voici au dernière nouvelle la ligne de code :
echo ("<input type =\"text\" name=\"".$tab1[$i]."\" value=\""if( isset($_SESSION[$tab1[$i]])){ $_SESSION[$tab1[$i]]; }. "\"/>");
Merci beaucoup jeangilles, après avoir lu cette astuce, ça me parait en fait logique et inévitable.
J'ai corrigé des erreurs de syntaxe qui suivent voici le nouveau code :
<?php
$tab1 = array("name", "surname", "adress", "postal_code", "city", "country", "email", "phone");
$tab2 = array("First name", "Last name", "Adress", "postal code", "City", "Country", "eMail", "Phone");
for($i=0; $i<8; $i++)
{
echo $tab2[$i];
echo " : ";
if( isset($_SESSION[$tab1[$i]]))
{
$tmp = $_SESSION[$tab1[$i]];
}
else
{
$tmp = '';
}
echo "<input type =\"text\" name=\"".$tab1[$i]."\" value=\"".$tmp."\"/>";
$star .= ($error[$i]==1)? "<font color=red>*</font>":"";
echo $star;
echo '<br/>';
}
echo "<input type=\"submit\" value=\"Send\" />";
?>
J'ai corrigé des erreurs de syntaxe qui suivent voici le nouveau code :
<?php
$tab1 = array("name", "surname", "adress", "postal_code", "city", "country", "email", "phone");
$tab2 = array("First name", "Last name", "Adress", "postal code", "City", "Country", "eMail", "Phone");
for($i=0; $i<8; $i++)
{
echo $tab2[$i];
echo " : ";
if( isset($_SESSION[$tab1[$i]]))
{
$tmp = $_SESSION[$tab1[$i]];
}
else
{
$tmp = '';
}
echo "<input type =\"text\" name=\"".$tab1[$i]."\" value=\"".$tmp."\"/>";
$star .= ($error[$i]==1)? "<font color=red>*</font>":"";
echo $star;
echo '<br/>';
}
echo "<input type=\"submit\" value=\"Send\" />";
?>