Un point virgule dans une include = bug ...

Fermé
master - 2 sept. 2011 à 21:03
 Master - 3 sept. 2011 à 08:44
Bonjour,

J'ai un petit souci, j'ai fait un script de chargement aléatoire, mais j'ai un problème avec l'include qui dois m'afficher la page aléatoire, ou image, mais dans le cas présent c'est une page:

<?php include("$nom[$algo];"); ?>

Le ; de $algo fait bugger le code, j'ai essayer include(".$nom[$algo];"); mais en vingt.

Si quel qu'un a la soluce ...

Merci

A voir également:

5 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
Modifié par avion-f16 le 2/09/2011 à 22:03
Les 3 erreurs "Warning" sont générées car $nom[$algo] est vide.

Dans ce code :
<img src="images/<?echo $nomimages[$affimage];?>" border=0 width=50 height=50 alt="Image aléatoire">

Le point-virgule est utilisé pour montrer que l'instruction « echo » est finie.

« malgres qu'il y a du code a coriger, je l'ai coriger »
Où vois-tu du code à corriger ? Il est correct.
Il y a moyen de l'améliorer un peu, mais il est fonctionnel.

Voici ce je te propose pour insérer des pages :
<?php
$urls = array(
    'page1.html',
    'page2.html',
    'page3.html',
);

$nbimages = count($urls) - 1;

srand((double)microtime()*1000000);
$index = rand(0, $nbimages);

include $urls[$index];
?>

La pensée mène le monde.
1
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
2 sept. 2011 à 21:06
Salut,

Pourquoi un point-virgule ?
Ça se place uniquement après une instruction.
Là, t'es dans une chaine de caractères.

Puis les guillemets sont facultatifs.
<?php include($nom[$algo]);
0
Re:

J'ai essayer, et ça fonctionne pas:

Warning: include() [function.include]: Filename cannot be empty in /var/www/vhosts/****.eu/httpdocs/pub/pub.php on line 24

Warning: include() [function.include]: Filename cannot be empty in /var/www/vhosts/****.eu/httpdocs/pub/pub.php on line 24

Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.:') in /var/www/vhosts/****.eu/httpdocs/pub/pub.php on line 24
________

Pourquoi un point virgule ?:

J'ai suivit ce tutoriel http://www.allhtml.com/articles/detail/255 , malgres qu'il y a du code a coriger, je l'ai coriger, puis modifier pour afficher des pages a la place des images (rien de bien compliquer) et je veut transformer le:

<img src="images/<?echo $nomimages[$affimage];?>" border=0 width=50 height=50 alt="Image aléatoire">

En include ....

Merci cordial'
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
3 sept. 2011 à 00:47
j'ecouterai avion a ta place, mais juste pour corriger ta synthaxe:

<?php include("'.$nom[$algo].'"); ?>
0

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

Posez votre question
Ça marche merci beaucoup vraiment. (:

Merci a vous deux. C'est vraiment sympa.
0