Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPA

alex34
Invité n'ayant pas de compte PHPfrance

05 juin 2005, 18:55

bonjour à tous !!

donc voila mon blem



// Requete d'insertion MYSQL
$requete2 = "UPDATE variable_acc SET var1='$data['id_prom']' where id_var='1'";


j avais resolu le probleme en faisant

$par3=$data['id_accueil']

// Requete d'insertion MYSQL
$requete2 = "UPDATE variable_acc SET var1='$par3' where id_var='1'";


comme ca ca fonctionne mais pas sous easyphp 1-7
j ai une erreur :

Notice: Undefined variable: par8 in c:\easyphp1-7\www\Mysite\admin\modif.php on line 60

Merci !!

ViPHP
fab
ViPHP | 2657 Messages

05 juin 2005, 18:59

Faudrai nous montrer le bout de code concerner ... dans le message d'erreur il parle de la variable par8 là on voit par3
Au passage aussi il existe des balises
 c'est pas pour rien :)

alex34
Invité n'ayant pas de compte PHPfrance

05 juin 2005, 19:11

// Requete d'insertion MYSQL
$requete2 = "UPDATE variable_acc SET [b]var1='$data['id_prom']' [/b]where id_var='1'";
j avais resolu le probleme
$par3=$data['id_accueil']
// Requete d'insertion MYSQL
$requete2 = "UPDATE variable_acc SET [b]var1='$par8'[/b] where id_var='1'";
comme ca ca fonctionne sous easyphp1-6 mais pas sous easyphp 1-7
j ai une erreur :
Notice: Undefined variable: par8 in c:\easyphp1-7\www\Mysite\admin\modif.php on line 60

En fait mon probleme est dans l''encapsulation de la variable en gras !!

sinon je n ai pas mis tout le code car je voulais cibler le probleme
Merci !!

voila aussi tout le code
<?
include('config_galerie.php');
$id2 = @$_POST["submit"];
$id_3 = @$_POST["id_1"];

//echo $id;
echo $id2;
echo $id_3;
if ($id2=="Supprimer")
{// Requete d'insertion MYSQL
$requete = "delete from promotions where id_prom=('$id_3') limit 1";
// Execution de cette requete dans la base galerie
$execution = mysql_db_query("galerie", $requete);
echo "Les donnees ont etaient effacées de la base de donnés !!!";
}
else
{// on crée la requête SQL
$sql = "SELECT * FROM promotions where id_prom=('$id_3')";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {    // on affiche les informations de l'enregistrement en cours
//echo '<tr><td>url_image_mini</td><td>url_image_norm</td><td>lb_commentaire</td></tr>';

$par8=$data['id_prom'];
$par3=$data['lb_comm'];
$par4=$data['lb_comm1'];
$par5=$data['lb_comm2'];
$par6=$data['lb_comm3'];
$par7=$data['url_img'];

//echo $data['id_prom'];
//echo $prem;
// echo '<input type="text" name="textfield" value = '$par1'>';
 //<div align="center"><table width="40%" border="1"><tr><td height ="40">'..'</td>'.'<td>'.$data['url_image_norm'].'</td>'.'<td>'.$data['lb_commentaire'].'</td></tr></div>';
    }
}
// Requete d'insertion MYSQL
$requete2 = "UPDATE variable_acc SET var1='$par8' where id_var='1'";

// Execution de cette requete dans la base galerie
$execution2 = mysql_db_query("galerie", $requete2);

mysql_close();
//la fin ici 2lignes en dessous
?>
<div align="center">
  <table width="" border ="1" bgcolor="C5C7C7">
  <form method='post'  action='enreg_promo.php'  name='modif'>
    <tr><td><div align="center"><b><font size="5">Faites vos modifications !!! </font></b></div></p><center>
    </tr></td>
    </table>
    <table width="0%" border ="1" bgcolor="C5C7C7">
     <p>&nbsp</p> <div align="center">
           <tr><td bgcolor="EAECEC"><div align="center"><b>Lien de la photo</b></div></td>
      </div>
    </tr><tr>
      </tr>
      <tr><td><div align="center"><textarea name="photo" cols="30" rows="6" wrap="PHYSICAL" ><? echo $par7; ?></textarea>
        <br></div></td></tr>
	  <tr><td bgcolor="EAECEC"><div align="center"><b>Paragraphes</b></div></td>
      </div>
                  <tr><td><div align="center"><textarea name="comment" cols="30" rows="6" wrap="PHYSICAL" ><? echo $par3; ?></textarea>
        <br></div></td></tr>
   <tr><td><div align="center"><textarea name="comment1" cols="30" rows="6" wrap="PHYSICAL" ><? echo $par4; ?></textarea>
        <br></div></td></tr>
           <tr><td><div align="center"><textarea name="comment2" cols="30" rows="6" wrap="PHYSICAL" ><? echo $par5; ?></textarea>
        <br></div></td></tr>
           <tr><td><div align="center"><textarea name="comment3" cols="30" rows="6" wrap="PHYSICAL" ><? echo $par6; ?></textarea>
        <br></div></td></tr>
  </table>
</div><p>&nbsp</p>
<div align="center"><input type='submit' value='Modifier'></div>

<?
echo $espace; ?>
<a href="acceuil_admin.php">Retour</a>
</center>
</form>
Modération :
Code réédité par mes soins en affichage (php).

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 juin 2005, 19:11

Voici deux écritures correctes :
$requete2 = "UPDATE variable_acc SET var1='".$data['id_prom']."' WHERE id_var=1";

// ou

$par3 = $data['id_accueil'];
$requete2 = "UPDATE variable_acc SET var1='".$par3."' WHERE id_var=1";

alex34
Invité n'ayant pas de compte PHPfrance

05 juin 2005, 19:17

je viens d'essayer tes 2 ecritures mais cela ne fonctionne toujours po !

ViPHP
fab
ViPHP | 2657 Messages

05 juin 2005, 19:20

faut faire pareil avec les autres requetes
exemple remplace :
$requete2 = "UPDATE variable_acc SET var1='$par8' where id_var='1'"; 
par
$requete2 = "UPDATE variable_acc SET var1='" .$par8. "' where id_var='1'"; 

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 juin 2005, 19:20

Déjà, dans les deux exemples que tu indiquais et que je t'ai corrigés,
tu utilisais deux variables différentes : $data['id_prom'] et $data['id_accueil']

Tu peux commencer par vérifier ça...

Et quel est ton message d'erreur ?

alex34
Invité n'ayant pas de compte PHPfrance

05 juin 2005, 19:22

ps les erreurs !!!!

:lol:
1 ecriture :

Notice: Undefined variable: data in c:\easyphp1-7\www\ledpc\admin\modif_promo.php on line 62

2 ecriture :

Notice: Undefined variable: par3 in c:\easyphp1-7\www\ledpc\admin\modif_promo.php on line 62

ViPHP
fab
ViPHP | 2657 Messages

05 juin 2005, 19:27

je pense avoir compris, ta requete sql ne retourne aucune enregistrement donc
while($data = mysql_fetch_assoc($req)) 
$data est vide donc les variables $parX aussi

pour vérifier que ta requete renvoi bien un enregistrement au minimum utilise la fonction : mysql_num_rows

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 juin 2005, 19:28

En regardant ton code en globalité :
- félicitations pour avoir commenté ton code
mais
- tes indentations ne sont pas claires
- tes imbrications de balises sont truffées d'erreurs
<tr><td><b><i>... </i></b></td></tr> // CORRECT
<tr><td><b><i>... </b></tr></i></td> // INCORRECT

Eléphanteau du PHP | 33 Messages

05 juin 2005, 19:35

quand j'ai ce probleme, je fais un mysql_fetch_row, et ca fonctionne...

alex34
Invité n'ayant pas de compte PHPfrance

05 juin 2005, 19:36

merci je ne le savais pas je prog en amateur....

je vais remedier à ceci !!

merci encore

egalement au moderateur !!! :lol:

je cliquerais sur les balise pour les corps de message en php c vraiment plus lisible[/php]

ViPHP
fab
ViPHP | 2657 Messages

05 juin 2005, 19:41

c'est résolu ?

alex34
Invité n'ayant pas de compte PHPfrance

05 juin 2005, 20:00

non tjrs pas ...


arrive po avec mysql_num_rows

pourais tu m'expliquer comment faire avec cette fonction par rapport a mon code car la je nage un peu !!

ViPHP
fab
ViPHP | 2657 Messages

05 juin 2005, 20:14

if(mysql_num_rows($req)) {
  // c'est bon il y a un enregistrement plus qu'a faire la boucle
}
else {
 // pas d'enregistrement
}