Pourquoi ma page php fonctionne pas sur l'heb

Résolu
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   -  
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   - 16 janv. 2009 à 12:29
Bonjour,
Le site que j'ai fait,surtout la page de photos,fonctionne en local avc easyphp,je viens de mettre en ligne et cette page ne réagit pas au lien qui est prévu....
§je suis chez lionsheartdesign....
Ils ont des pages php qui fonctionnent
Si klkun a une idée...
merci
A voir également:

36 réponses

toto
 
Bonjour

Peut-être l'erreur la plus classique : le respect des majuscules/minuscules.
Il est sans importance sur ton PC parce que tu travailles sous windows et que windows n'en tient pas compte, mais le système d'exploitation de ton hébergeur en tient sans doute compte, lui.
0
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   1
 
c'est a dire les majuscules?
a quel niveaux?
0
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   1
 
est ce que les slash devant le chemin peuvent etre un probleme?
genre
echo "<h3><a href=?page=images/" . $list['name'] . "/diapo>" . $list['name'] ."</a></h3><br>";
Merci
0
toto
 
Les slash ne posent pas de problèmes (sauf si on s'en sert mal, bien sûr ;-) ). Je parlais des noms des pages, car ces noms sont en fait le plus souvent des noms de fichiers. Si tu as créé une page Machin.php sur ton PC windows, peu importe qu'en local tu l'appelles par Machin.php ou MACHIN.php. Mais chez ton hébergeur il faut absolument respecter Machin.php. Et si ton programme crée des liens, ou utilise des "include", ces liens et ces include doivent respecter la casse.
0

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

Posez votre question
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   1
 
La casse est respectée
voilà le code des pages appelées...probleme peut etre ds les chemins.

page showpic.php

<tr>
<td colspan="3"><h1>Here are the sold frames</h1></td>
</tr>
<tr>
<td height="21"></td>
</tr>
<tr>
<td colspan="3" align="center"><br>
<?php
function filelist ($startdir="./", $searchSubdirs=1, $directoriesonly=0, $maxlevel="all", $level=1) {
$ignoredDirectory[] = ".";
$ignoredDirectory[] = "..";
$ignoredDirectory[] = "_vti_pvt";
$ignoredDirectory[] = "_vti_cnf";
$ignoredDirectory[] = "_private";
global $directorylist;
if (is_dir($startdir)) {
if ($dh = opendir($startdir)) {
while (($file = readdir($dh)) !== false) {
if (!(array_search($file,$ignoredDirectory) > -1)) {
if (filetype($startdir . $file) == "dir") {
$directorylist[$startdir . $file]['dir'] = 1;
$directorylist[$startdir . $file]['name'] = $file;
}}}
closedir($dh);
}}
return($directorylist);
}
$files = filelist("images/",1,1);
foreach ($files as $list) {
echo "<h3><a href=?page=images/" . $list['name'] . "/diapo>" . $list['name'] ."</a></h3><br>";
}?>
</td>
</tr>

page diapo.php

<tr>
<td colspan="3"><h1><?php echo str_replace('images/', '',str_replace('/diapo', '', $_GET['page']));?></h1></td>
</tr>
<tr>
<td height="5"></td>
</tr>
<tr>
<td colspan="3" align="center">
<table align="center"><tr>
<?php
$extensions_autorisees = array('jpg','jpeg','gif','png');
$totalimg = 0;
$page = str_replace('diapo', '', $_GET['page']); // on recupere le chemin du fichier index et on enleve index du nom pour en avoir que le chemin repertoire
$dir = $page;
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
$ext = substr(strrchr($file, "."), 1);
if (in_array(strtolower($ext),$extensions_autorisees)){
$totalimg ++;
}}}
closedir($dh);
}
if (isset($_GET['id'])) // le id permet de faire savoir à la page index quelle page on affiche
$id = $_GET['id'];
else
$id = 1; // si l'id ne contient rien, il s'agit alors de la premiere page
$lmax = 4; // nombre d'image par ligne
$hmax = 8; // nombre de colonnes max par page
$nbpagemax = ceil($totalimg / ($lmax * $hmax)); //on calcul le nombre de page max
function miniature($picture,$rep,$fext) // début de la fonction qui genere les miniatures
{
if (file_exists($rep . "tb/mini_" . $picture) == false) {
if ($fext == "jpg") { $source = imagecreatefromjpeg($rep . $picture);}
elseif ($fext == "gif") { $source = imagecreatefromgif($rep . $picture);}
else { $source = imagecreatefrompng($rep . $picture);}
$destination = imagecreatetruecolor(100, 80); // On crée la miniature vide
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
imagejpeg($destination, $rep . 'tb/mini_' . $picture);
}
} //fin de la fonction
$page = str_replace('diapo', '', $_GET['page']); // on recupere le chemin du fichier index et on enleve index du nom pour en avoir que le chemin repertoire
$dir = $page;
if (file_exists($dir . "tb/") == false) { //on verifie ensuite si on possede un dossier tb dans le dossier image
mkdir ($dir . "tb/", 0777); // si ce nest pas le cas, on creer le dossier
}
if ($id > 1)
$nombreimage = ($id - 1) * ($lmax * $hmax); //si ID est superieur a 1 on reprend le compte de la variable la ou elle en etait
else
$nombreimage = 0;
$verifnbimg = 0;
$intervalle = 0;
$nbligne = 0;
$nbpage = 1;
// 2 a la variable, ce qui correspond au fichier index et le repertoire tb, attention tout de meme a ne pas avoir de fichier thunbs.db dans
//le repertoire sous peine de fausser le compte
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
$ext = substr(strrchr($file, "."), 1);
if (in_array(strtolower($ext),$extensions_autorisees)){
if ($nbligne !== $hmax AND $verifnbimg == $nombreimage AND $nombreimage <= $id * ($lmax * $hmax)) { //on verifie qu on affiche bien les images en fonction de la page
miniature($file, $dir, $ext); // on verifie avec la fonction que la miniature du fichier existe, sinon on la creer
//les lignes qui suivent affiches les miniatures, son nom, son extension et sa taille
if ($ext == "jpg") { $source = imagecreatefromjpeg($dir . $file);}
elseif ($ext == "gif") { $source = imagecreatefromgif($dir . $file);}
else { $source = imagecreatefrompng($dir . $file);}
echo "<td width=170 align=center>
<a href=" . $dir . $file . " target=_blank><img src=" . $dir . "tb/mini_" . $file . " width=75 height=50 border=0></a>
" . str_replace("." . $ext, '', $file) . "
<br>
" . imagesx($source) . " x " . imagesy($source) . "</td>";
//fin de l affichage des miniatures
if ($nombreimage < $totalimg) {
$nombreimage ++;
}
$intervalle ++;
// cette ligne permet de passer a la colonne suivante apres avoir affiche x images
if ($intervalle == $lmax) { $nbligne ++; echo "</tr><tr>"; $intervalle = 0; }
}
$verifnbimg ++;
}}
closedir($dh);
}
}
// maintenant on va creer autant de page qu'il faudra pour afficher toutes les images
if ($nbpagemax > 1) { // si le nombre d image ne depasse pas le nombre max par page il est inutile d afficher les pages
echo "<tr><td align=right colspan=" . $lmax .">Pages";
while ($nbpage < $nbpagemax) {
echo " <a href=?page=" . $dir ."diapo&id=" . $nbpage . ">" . $nbpage . ",";
$nbpage++; }
echo " <a href=?page=" . $dir ."diapo&id=" . $nbpage . ">" . $nbpage; } // on repete encore une fois l instruction avant d afficher la
// derniere page pour eviter de mettre la , a la fin du dernier numero
echo "<tr><td align=right colspan=" . $lmax .">images : " . $nombreimage . "/" . $totalimg . "</td></tr>";
//petit plus, on affiche combien d'image est affiché par rapport au nombre max du dossier
?>
</tr></table></td></tr>
<br /><br /><br /><br /><br />


page include qui doit faire foctionner le lien, gallerie.php


<?php
if (isset($_GET['page'])) {
$page = $_GET['page'];
include("$page.php");
}
else {
include ('showpic.php');
}
?>


voilà...
merci de vos eclairages
0
toto
 
Je suppose (j'espère) que la structure des répertoires est bien la même sur le site qu'en local.
Peux-tu donner l'adresse de ton site et préciser ce que tu entends par page [qui] ne réagit pas au lien qui est prévu ?
0
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   1
 
c'est pop-fish.com
c'est pour une gallerie,et c'est le lien qui doit ouvrir les diapos qui ne réagit pas....
0
toto
 
C'est quel lien qui doit ouvrir les diapos ? Je trouve bien gallery, form, technique,mailto et partners, mais pas de lien "diapos"
Quand on clique sur gallery, ça n'est pas passionnant, mais ça réagit.
0
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   1
 
oui pardon le lien gallery est actif
mais la phrase contenue "here is ..." doit ouvrir l'affichage des diapos,et il n'est pas lien,le lien n'est pas récupéré
Merci beaucoup en tous cas...
0
toto
 
Mais ce lien est dans la page gallery.php
Tu n'as pas donné le code de cette page, on ne peut pas analyser .
0
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   1
 
si , c'était le code de fin
le voici de nouveau,jamais juste mis le php


gallerie.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">


<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
@import url(style.css);
</style>


<title>P O P - F I S H Gallery</title>
</head>

<body>
<div id="barfon"></div>

<!-- Cadre Principal -->

<div id="cadre">
<span id="log"><a href="index.html"><img src="LOGO.png" /></span></a>
<div id="titre"><a href="https://sso.secureserver.net/login?app=email&realm=pass">P </a> O P - F I S H</div>
<!-- Menu -->

<ul id="menu">
<li><a href="#">Gallery</a></li>
<li><a href="form.php">Boutique</a></li>
<li><a href="technique.html">Technique</a></li>
<li><a href="mailto:client@pop-fish.com">Contact</a></li>
<li><a href="partners.html">Partners</a></li>
</ul>
<br /><br /><br /><br /><br />
<div id="cadregall">


<?php
if (isset($_GET['page'])) {
$page = $_GET['page'];
include("$page.php");
}
else {
include ('showpic.php');
}
?>

</body>
</html>



merci
0
toto
 
si , c'était le code de fin 
pardon, j'avais cru qu'il s'agissait d'une page appelée include ...
Le problème vient de showpic.php. Il est basé sur l'exploration du répertoire images : $files = filelist("images/",1,1);
Or, il n'y a pas de répertoire images sur ton site, il n'y a qu'à essayer http://pop-fish.com/images/ .
je t'avais dit message 6 Je suppose (j'espère) que la structure des répertoires est bien la même sur le site qu'en local.
Alors ?
0
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   1
 
il me semble
j'ai transferé tel kel,ya juste un dossier en plus mais il ne devrait pas poser de probleme vu kil est jamais appelé.
en local,la phrase sert de lien,et je n'ai rien changé lors du transfert,tu croit kil faut spécifier le chemin avec le dossier nommé image?
il le prend automatiquement en local
0
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   1
 
et il y a le repertoire images sur l'hebergeur...
0
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   1
 
j'ai essayé de changer l'adresse du chemin...toujours rien!! :-(
0
toto
 
S'il y a un répertoire images, pourquoie le lien http://pop-fish.com/images/ donne-t-il une erreur page not found ?
fais un echo $file,'<br>'; juste avant $ext = substr(strrchr($file, "."), 1); dans showpic.php
0
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   1
 
la phrase dont tu me parle est dans diapo.php
je l'écrit comme ça:

if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo"$file,'<br>'";$ext = substr(strrchr($file, "."), 1);
if (in_array(strtolower($ext),$extensions_autorisees)){
$totalimg ++;
}}}

c'est ça?

Mais toujours rien...
0
toto
 
moi je te parlais de le faire dans showpic.php. C'est lui qui t'affiche le "Here are the sold frames" et puis plus rien.
Mais je me doute que ça ne va pas changer grand chose, en essayant directement diapo.php il me dit qu'il y a 0 image.
On va faire un petit script pour afficher tout ce qu'il y a dans ta racine :

<?php
$dir="./";
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo $file," : type : " . filetype($dir . $file) . "<br>\n";
        }
        closedir($dh);
    }
}
?>

insère-le par exemple après le <body> de gallerie.php
0
chanteur06 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   1
 
le script affiche le nom des photos présentes
en fait,sur la page de gallerie.php sous "here is..." doit s'afficher le nom du dossier contenu dans le repertoire image,et ce nom de dossier affiché sur la page sert de lien a l'ouverture des diapo sur diapo.php
et là le lien ne s'affiche pas,il n'est pas recuperé
0
toto
 
le script affiche le nom des photos présentes Tu ne dis pas tout. Il devait afficher AUSSI les scripts et les noms des sous-répertoires.
Peux-tu faire un copier coller de la liste des fichiers et répertoires trouvés ? ou me dire à quelle adresse je peux voir moi-même le résultat, car je ne le vois pas dans gallerie.php
0