probleme de fermeture { et de ( et de ;

Eléphant du PHP | 62 Messages

03 mars 2015, 17:00

onjour à tous

J'ai un problème avec les { et les (

J'ai cette programmation

Code : Tout sélectionner

if (isset($_GET['taguada']) && strpos($url, 'collier')!==false) { // lien depuis le mailing echo do_shortcode( '[sociallocker id="270"]<div><iframe width="95%" height="315px" src="//www.youtube.com/embed/'.$txt[1][0].'?version=3&autoplay=1&controls=0&showinfo=0&hl=fr_FR&rel=0" frameborder="0" allowfullscreen></iframe></div> <div>'.randomtext('pub') .'</div>[/sociallocker]' ); }
Maintenant je voudrais l'écrire comme cela

Code : Tout sélectionner

if (isset($_GET['taguada']) && strpos($url, 'collier')!==false) { // lien depuis le mailing echo do_shortcode( '[sociallocker id="270"]<div><iframe width="95%" height="315px" src="//www.youtube.com/embed/'.$txt[1][0].'?version=3&autoplay=1&controls=0&showinfo=0&hl=fr_FR&rel=0" frameborder="0" allowfullscreen></iframe></div> echo <div>'.randomtext('pub') .'</div>[/sociallocker]' ); }
Seulement voila ça me met des erreur parce que les { et ( et les ; ne sont pas bien fermés

et je n'y arrive pas tout seul

Est-ce que quelqu'un pourrait m'aider SVP à mettre les fermeture de } et ) et ; correctement

Merci beaucoup pour votre aide

ViPHP
xTG
ViPHP | 7331 Messages

03 mars 2015, 17:12

Tu nous as recopié deux fois le même code. ;)

Eléphant du PHP | 62 Messages

03 mars 2015, 21:41

Non ce n'est pas le même code dans le 2ème le div tout en bas commence par un echo,

En fait le code que je voudrai mettre serai celui-ci

Code : Tout sélectionner

// lien depuis le mailing echo do_shortcode( '[sociallocker id="270"]<div><iframe width="95%" height="315px" src="//www.youtube.com/embed/'.$txt[1][0].'?version=3&autoplay=1&controls=0&showinfo=0&hl=fr_FR&rel=0" frameborder="0" allowfullscreen></iframe></div> if (isset($_GET['taguada']) && strpos($url, 'collier')!==false) { echo <div>'.randomtext('pub') .'</div>[/sociallocker]' ); }
C'est à dire commencer par le echo shortcode et mettre les conditions ensuite

Merci pour l'aide que vous pourrez m'apporter pour la fermeture correcte des balises } ou ) ou ;

Nestecha
Invité n'ayant pas de compte PHPfrance

03 mars 2015, 23:15

// lien depuis le mailing
$sDivOrNot = (isset($_GET['taguada']) && strpos($url, 'collier')) ? '<div>'.randomtext('pub').'</div>' : '';
echo do_shortcode( '[sociallocker id="270"]<div><iframe width="95%" height="315px" src="//www.youtube.com/embed/'.$txt[1][0].'?version=3&autoplay=1&controls=0&showinfo=0&hl=fr_FR&rel=0" frameborder="0" allowfullscreen></iframe></div>'.$sDivOrNot.'[/sociallocker]');
Ca devrait fonctionner.

Pour la correction pure et dure de tes codes, seul le dernier code que tu as posté présente des erreurs.

Mammouth du PHP | 2278 Messages

04 mars 2015, 10:02

Pour les accolades, il suffit de les numéroter de les indenter et de les commenter

Code : Tout sélectionner

while (bidule)//_________________________________________tant que bidule est juste {//1 if (truc)___________________________si truc est juste {//2 }}//2 else______________________________si truc est faux {//2 }}//2 fin (if truc foreach(d as e)//pour chaque élément de d {//2 }//2 fin foreach }//1 fin while (bidule) J'ai eu des étudiants en C qui commençaient par mettre les accolades avant tout codage: if () { } else { }
Pour les parenthèses, en aérant un peu et en les comptant on y arrive mieux
$g = f ($x (t ($h,$in,o($m)))
Il peut être plus simple de sortir les appels de fonctions (ca permet aussi de vérifier que la fonction fait bien son boulot
$z =o($m);
$g = f ($x (t ($h,$in,$z))
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 2278 Messages

04 mars 2015, 10:07

Ajoutons qu'employer un éditeur à coloration syntaxique comme bluefish ou un bidule comme Eclipse sont des plus considérables (ces choix parce qu'ils sont libres, gratuits et multiplateformes)
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 62 Messages

04 mars 2015, 10:51

J'y suis presque mais j'ai encore une erreur en ligne 57 sur le elseif
Parse error: syntax error, unexpected '{', expecting '(' in /home/user/www/w/monsite/wp-content/themes/stuffy/single.php on line 57

Code : Tout sélectionner

preg_match_all("`com\/watch\?v=([^&]+)&feature`i", $content, $txt); // lien depuis le mailing echo do_shortcode( '[sociallocker id="270"]<div><iframe width="95%" height="315px" src="//www.youtube.com/embed/'.$txt[1][0].'?version=3&autoplay=1&controls=0&showinfo=0&hl=fr_FR&rel=0" frameborder="0" allowfullscreen></iframe></div>' ); $url = $_SERVER["REQUEST_URI"]; if (isset($_GET['taguada']) && strpos($url, 'collier')!==false) { echo ("<div>'.randomtext('pub') .'</div>[/sociallocker]'" ); } elseif { ( isset($_GET['fluxor']) || isset($_GET['maily'])) && strpos($url, 'collier')!==false && strpos($url, 'chainette')!==false } { echo ("<div>'.randomtext('pub') .'</div>[/sociallocker]'" ); } else { echo "<div><a href='http://eepurl.com/bdUDgj' target='_blank'><img src='http://www.monsite.com/img/email_30s_4min.gif'></a></div>"; }
Pourriez vous m'aider à le terminer Merci beaucoup

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

04 mars 2015, 11:25

Bonjour,

Le message d'erreur est relativement explicite :

Code : Tout sélectionner

unexpected '{', expecting '('
Qu'as tu essayé pour corriger le problème ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 2278 Messages

04 mars 2015, 12:43

if ( machin)
{
}
elseif (truc)
{

}
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD