PHP Parse error

besoin d'aide php -  
{psycho.} Messages postés 114 Statut Membre -
Bonjour,

J'ai une erreur PHP pour l'un de mes codes. Voici l'erreur :

Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /www/110mb.com/m/o/n/-/s/i/t/e/mon-site/htdocs/fichier.php on line 43

Et voici le code :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<?php
$url = "http://www.site.com/"; // Your website address
$country = $_POST['country'];
$habbo = $_POST['habboname'];
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Status Signature</title>
<style type="text/css">
<!--
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
}
-->
</style> <script src="chrome://skype_ff_toolbar_win/content/injection_graph_func.js" id="injection_graph_func" charset="utf-8" type="text/javascript"></script> <script id="_nameHighlight_injection" type="text/javascript"></script>
<link class="skype_name_highlight_style" href="chrome://skype_ff_toolbar_win/content/injection_nh_graph.css" type="text/css" rel="stylesheet" charset="utf-8" id="_injection_graph_nh_css" />
<link href="chrome://skype_ff_toolbar_win/content/skypeplugin_dropdownmenu.css" type="text/css" rel="stylesheet" charset="utf-8" id="_skypeplugin_dropdownmenu_css" />
<script src="chrome://skype_ff_toolbar_win/content/injection_graph_func.js" id="injection_graph_func" charset="utf-8" type="text/javascript"></script>
<script id="_nameHighlight_injection" type="text/javascript"></script>
</head>
<body spellcheck="false">
<center>
<form method="POST">
<strong>Habbo Name</strong> <input type="text" name="habboname" size="20" /><br />
<br />
<strong>Country</strong> <select size="1" name="country">
<option value="au">Australia</option>
<option value="ca">Canada</option>
<option value="sg">Singapore</option>
<option value="uk">United Kingdom</option>
<option value="us">USA</option>
</select><br />
<br />
<input type="submit" value="Submit" name="send" />
</form>
<br />
<?
if($habbo){
echo "<img src="$url/sig/$country/$habbo" alt="Broken?"><br /><br />";
?> <strong>Direct Link:</strong><br />
<input type="text" name="web" size="20" onfocus="this.select()" value="<? echo "$url/sig/$country/$habbo"; ?>" /><br />
<br />
<strong>Forum Code:</strong><br />
<input type="text" name="web" size="20" onfocus="this.select()" value="[img]<? echo "$url/sig/$country/$habbo"; ?>/img" /><br />
<br />
<strong>Forum Code:</strong><br />
<input type="text" name="web" size="20" onfocus="this.select()" value="<img src="<? echo "$url/sig/$country/$habbo"; ?>" >" /><br />
<br />
<?
}
?> </center>
</body>
</html>

Merci de m'aider :)
A voir également:

7 réponses

artragis Messages postés 510 Statut Membre 146
 
il aurait été gentil de nous donner ce qu'était la ligne 43...
sinon voila ce que j'ai noté comme erreur :
echo "<img src="$url/sig/$country/$habbo" alt="Broken?"><br /><br />";
tes guillemets sont mal placés, voici deux solutions équivalentes mais qui devraient marcher (tu m'excuse mais par habitude je mets des parenthèses pour echo, c'est pas obligatoire)
solution 1 :
echo ("<img src=\"$url/sig/$country/$habbo\" alt=\"Broken?\"><br /><br />"); 

les guillemets du HTML sont précédées d'un anti slash (\) comme ça ils sont interprétés comme des caractères et non comme des éléments de echo

Solution 2 :
echo ('<img src="' . $ur . 'l/sig/' . $country . '/' . $habbo . '" alt="Broken?"><br /><br />'); 

solution avec les apostrophes, beaucoup plus claire mais un peu plus longue
0
Erwan59 Messages postés 256 Statut Membre 43
 
Bonjour,
essayez en remplacant
echo "<img src="$url/sig/$country/$habbo" alt="Broken?"><br /><br />";
par
echo '<img src="$url/sig/$country/$habbo" alt="Broken?"><br /><br />';
à la ligne 43.
Il ne faut pas utiliser le même signe de ponctuation pour délimiter l'echo que pour délimiter l'url de l'image et le nom de l'image.

Merci de me dire si ça fonctionne ou non :)
Bonne continuation.
0
{psycho.} Messages postés 114 Statut Membre 8
 
Hem... Le parseur est gentil, il te dit quelle ligne pose problème : la 43. Là, honnêtement, j'ai méchamment la flemme de chercher la ligne 43 dans ton pavé, donc soit tu re-postes juste la ligne en question (ce qu'il aurait été plus judicieux de faire dès le début) avec éventuellement la ligne d'avant, soit tu cherches, parce qu'à tous les coups c'est juste une virgule oubliée entre deux variables dans un appel de fonction, ou un point virgule à la ligne précédente.
0
{psycho.} Messages postés 114 Statut Membre 8
 
En fait t'as du bol, mes yeux sont tombés sur ça :
echo "<img src="$url/sig/$country/$habbo" alt="Broken?"><br /><br />";

et je suis prêt à parier que c'est la ligne 43! Parce qu'en effet, ça, ça pose problème pour la simple et bonne raison que tu utilises des guillemets dans une chaîne elle même délimitée par... des guillemets. Donc soit tu mets des simples quotes (') ou des backslashes (\), et ça devrait aller!
En résumé, ça c'est mal :
echo "<img src="$url/sig/$country/$habbo" alt="Broken?"><br /><br />";

Mais ça c'est bien :
echo "<img src=\"$url/sig/$country/$habbo\" alt=\"Broken?\"><br /><br />";

echo "<img src='$url/sig/$country/$habbo' alt='Broken?'><br /><br />";

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
{psycho.} Messages postés 114 Statut Membre 8
 
Pu**** ça fait deux fois que mon message ne passe pas?!
0
besoin d'aide php
 
Lorsque j'édite et je mets ton code, j'ai la même erreur mais a la ligne 43. Aussi, une fois que je sauvegarde le fichier, voila le code :

if($habbo){
echo "<img src="$url/sig/$country/$habbo" alt='Broken?'><br /><br />";
?> <strong>Direct Link:</strong><br />

Les slash disparaissent. A noter que je fais le test sur 110mb.com . Que faire ?
0
{psycho.} Messages postés 114 Statut Membre 8
 
Tu es sûr que tu a mis les "\" ?! je ne les vois pas dans ce que tu as recopié, il y a toujours
src="..." 

au lieu de :
src=\"...\"
ou src='...' 

Le mieux pour éviter les quiproquos étant d'utiliser les '
0