Vous n'êtes pas identifié(e).
Pages :: 1
J'ai besoin d'aide concernant ce script plus precisément sur les deux lignes :
Quand je met le cursseur sur 1 ou 2 ou 3, je remarque que si je clique je ne suis pas dans le bon repertoire ctd au lieux que je sois dans ce lien:
http://localhost/gharbaoui/oeuvres/peinture.php il me renvoie sur le lien suivant: http://localhost/gharbaoui/peinture.php?limite=2 et il se perd et m'affiche un page vide et le message suivant: The webpage cannot be found.
La même chose quand je clique sur suivant il me sort de bon répertoire.
Je suis un débutant en développement php et merci pour votre site et l'aide aussi
Hors ligne
Saluton,
Le script maître doit se trouver ici :
http://localhost/gharbaoui/
Et ce n'est pas parce que tu y fait un include d'un script se trouvant là :
http://localhost/gharbaoui/oeuvres que les valeurs de pathinfo($_SERVER['PHP_SELF']) vont être modifiées.
Il te faut ajouter '/oeuvre' à $page :
avant de faire ton lien vers /peinture.php?limite=2
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Merci Kris,
J'ai exécuté le script mais cette fois, il a inversé les données voir lien:
http://localhost/gharbaoui/peinture.php/oeuvres?limite=2
pourquoi ce problème ?
//=========================================
// déclarations des variables
//=========================================
$xid_peintures = "";
$xlinkbig ="";
$xtitre = "";
$xdim="";
$xw="";
$xh="";
$xannee="";
$xtechnique="";
$xauteur = "";
$xdate_insertion = "";
$xactif = "";
//=========================================
// includes du fichier fonctions
//=========================================
//require("../include/config.inc.php");
require("../include/affichepages.php");
require("../include/verifLimite.php");
require("../include/displayNextPreviousButtons.php");
//=========================================
// information pour la connection à le DB
//=========================================
//$host = 'localhost';
//$user = 'root';
//$pass = '';
//$db = 'test';
//=========================================
// initialisation des variables
//=========================================
// on va afficher 2 résultats par page.
$nombre = 2;
// si limite n'existe pas on l'initialise à zéro
if (!$limite) $limite = 0;
// on cherche le nom de la page.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts["basename"].'/oeuvres';
//=========================================
// connection à la DB
//=========================================
$link = mysql_connect ($host,$user,$pwd) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = 'SELECT count(id_peinture) FROM peinture';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
//=========================================
// vérifier la validité de notre variable
// $limite;
//=========================================
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite) {
$limite = 0;
}
//=========================================
// requête SQL qui ne prend que le nombre
// d'enregistrement necessaire à l'affichage.
//=========================================
$select ='select id_peinture, linkbig, titre, technique, annee, dim, auteur, w, h, date_insertion, actif from peinture where actif <> 0 ORDER BY titre ASC limit '.$limite.','.$nombre.'';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($total) {
// début du tableau
echo '<table>';
// lecture et affichage des résultats sur 2 colonnes
while($row = mysql_fetch_array($result)) {
echo '<tr class="text_centre">';
$xid_peintures = $row['id_peinture'];
$xlinkbig = stripslashes(strval($row['linkbig']));
$xtitre = stripslashes(strval($row['titre']));
$xannee = stripslashes(strval($row['annee']));
$xdim = stripslashes(strval($row['dim']));
$xw = $row['w'];
$xh = $row['h'];
$xtechnique= stripslashes(strval($row['technique']));
$xauteur = stripslashes(strval($row['auteur']));
$xdate_insertion = $row['date_insertion'];
$xactif = $row['actif'];
echo '<tr aligne="center">';
echo "<img src=\"$xlinkbig\"; height=".$xh."; width=".$xw.";/>";
echo "<div> Titre: $xtitre <br> Année: $xannee <br> Technique: $xtechnique <br> Dim: $xdim <br> Credit: $xauteur <br></div>";
echo '</tr>'."\n";
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
//=========================================
// si le nombre d'enregistrement à afficher
// est plus grand que $nombre
//=========================================
if($total > $nombre) {
// affichage des liens vers les pages
affichePages($nombre,$page,$total);
// affichage des boutons
displayNextPreviousButtons($limite,$total,$nombre,$page);
}
?>
</body>
</html>
Merci, d'avance.
Hors ligne
Suite au script suivant:
Le script peinture.php il appelle le script affiche-peinture.php puis il affiche les images
Merci
Hors ligne
Apparemment la variable $page est passée en paramètre à ces deux scripts :
Il te faut voir comment ils s'en servent.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Merci Kris,
J'ai essayé d'afficher le contenu de $page et voila le contenu que la variable me donne:
Code PHP:
echo $page;
Resultat: peinture.php/oeuvres/
vous avez dit que le fichier principale soit dans la racine : http://localhost/gharbaoui/ pourquoi moi, j'utilise des repertoires:
Voila ma structure:
Dans le repertoire oeuvres il y'a mon fichier peinture.php que lui appelle le fichier affichage-peinture.php ctd fichier d'Affichage page par page.
J'ai aucune idée comment je pourrai corriger ce probléme si il y a quelqu'un qui a une idée.
Merci
Hors ligne
Salut,
C'est tout à fait normal:
$path_parts["basename"] te retourne : "peinture.php"
Je verrais plutôt quelque chose du genre :
A+
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Je ne comprends pas grand chose à ton post précédent ce qui semble me confirmer que le français n'est pas ta langue maternelle.
On va donc procéder calmement et méthodiquement :
Est-ce que l'arborescence de ton appli est ainsi ?
http://localhost/gharbaoui/oeuvres/peinture.php
http://localhost/gharbaoui/oeuvres/affichage-peinture.php
http://localhost/gharbaoui/include/affichepages.php
http://localhost/gharbaoui/include/displayNextPreviousButtons.php
http://localhost/gharbaoui/include/verifLimite.php
Quel intérêt de passer par $_SERVER['PHP_SELF'] pour connaître le nom du script ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour McAllan,
J'ai corrigé la ligne par :
$page = '/oeuvres/'.$path_parts["basename"]; donc quand je passe la suris sur le chiffre, le lien me donne le path suivant: http://localhost/oeuvres/peinture.php?limite=2
Je clique sur le lien "2" il me donne une page blanche avec code d'ereur http 404.
le script peinture.php:
<!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.01 transitional//EN" "[url]http://www.w3.org/tr/html4/loose.dtd[/url]">
<html>
<head>
<link rel="stylesheet" href="css/infoben_style.css" type="text/css">
<script language="JavaScript1.2" src="js/infoben_script.js"></script>
</head>
<body>
<!--table principale -->
<table class="text" width="970" border="0" align="center" cellspacing="0" cellpadding="0">
<tr><td align="center"><?php require("../include/header.php")?></td></tr>
<tr><td align="center"><?php require("../include/menu.php")?></td></tr>
<tr><td align="center"><?php //require("../include/sep.php")?></td></tr>
<!--rangee principale -->
<tr>
<td align="center" valign="top">
<table width="100%" border="0">
<tr>
<!--la colonne de gauche -->
<?php require("../include/colonne_gauche_oeuvres.php")?>
<!--la fin de colonne de gauche -->
<!--la section principale -->
<td valign="top" >
<table width="100%" border="0" cellpadding="1" cellspacing="0" class="text_centre" >
<tr>
<tr> <td align="left" class ="heavy_white_text_cell"> Oeuvres-->Peintures </td> </tr>
<tr><td width="88%" class="table_centre"> <?php require("affichage-peinture.php")?> </td></tr>
</table>
</td>
<!--la fin section principale -->
<!--la colonne de droite -->
<?php require("../include/colonne_droite_oeuvres.php")?>
<!--la fin colonne de droite -->
</tr></TABLE>
</td></tr>
<!--fin rangee principale -->
<tr><td><?php require("../include/footer.php")?></td></tr>
<!--fin table principale -->
</table>
</body>
</html>
Ce script appelle le script affichage-peinture.php qui est dans le meme repertoire qui est "oeuvres"
mon arborescence est la suivante:
http://localhost/gharbaoui/oeuvres/peinture.php
Excusez mon francais, effectivement quand j<ai relu mon dernier poste j'ai trouvé que ce n'Est pas cliare et precis je m'Excuse et je vais travailler ce coté la prochaine fois Kris
Merci pour votre temps !
Dernière modification par jbenghazi (03-04-2011 22:39:29)
Hors ligne
Salut,
Peut-on voir le script "affichage-peinture.php" ?
Pourquoi à tu commenté les "require" au début ?
Je ne voie pas les liens qui ne fonctionnent pas...
(j'avoue que j'ai un peu de mal à suivre...)
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Bonjour les amis,
Je voulais juste vous aviser que j'ai pas pu resoudre le probléme de script article 84, j'ai pas voulu aller voir d'autres car j'ai trouvé que ce script est bien fait et bien ecrit et je garde espoire pour le faire fonctionner.
Je vais repondre aux questions de mcAllan.
//=========================================
// déclarations des variables
//=========================================
$xid_peintures = "";
$xlinkbig ="";
$xtitre = "";
$xdim="";
$xw="";
$xh="";
$xannee="";
$xtechnique="";
$xauteur = "";
$xdate_insertion = "";
$xactif = "";
//=========================================
// information pour la connection à le DB
//=========================================
//$host = 'localhost';
//$user = 'root';
//$pass = '';
//$db = 'test';
//=========================================
// includes du fichier fonctions
//=========================================
require("../include/config.inc.php");
require("../include/affichepages.php");
require("../include/verifLimite.php");
require("../include/displayNextPreviousButtons.php");
//=========================================
// initialisation des variables
//=========================================
// on va afficher 2 résultats par page.
$nombre = 1;
// si limite n'existe pas on l'initialise à zéro
if (!$limite) $limite = 0;
// on cherche le nom de la page.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = '/oeuvres/'.$path_parts["basename"];
//=========================================
// connection à la DB
//=========================================
$link = mysql_connect ($host,$user,$pwd) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = 'SELECT count(id_peinture) FROM peinture';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
//=========================================
// vérifier la validité de notre variable
// $limite;
//=========================================
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite) {
$limite = 0;
}
//=========================================
// requête SQL qui ne prend que le nombre
// d'enregistrement necessaire à l'affichage.
//=========================================
$select ='select id_peinture, linkbig, titre, technique, annee, dim, auteur, w, h, date_insertion, actif from peinture where actif <> 0 ORDER BY titre ASC limit '.$limite.','.$nombre.'';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($total) {
// début du tableau
echo '<table>';
// lecture et affichage des résultats sur 2 colonnes
while($row = mysql_fetch_array($result)) {
echo '<tr class="text_centre">';
$xid_peintures = $row['id_peinture'];
$xlinkbig = stripslashes(strval($row['linkbig']));
$xtitre = stripslashes(strval($row['titre']));
$xannee = stripslashes(strval($row['annee']));
$xdim = stripslashes(strval($row['dim']));
$xw = $row['w'];
$xh = $row['h'];
$xtechnique= stripslashes(strval($row['technique']));
$xauteur = stripslashes(strval($row['auteur']));
$xdate_insertion = $row['date_insertion'];
$xactif = $row['actif'];
echo '<tr aligne="center">';
echo "<img src=\"$xlinkbig\"; height=".$xh."; width=".$xw.";/>";
echo "<div> Titre: $xtitre <br> Année: $xannee <br> Technique: $xtechnique <br> Dim: $xdim <br> Credit: $xauteur <br></div>";
echo '</tr>'."\n";
echo '</tr>'."\n";
}
echo '</table>'."\n";
echo $page;
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
//=========================================
// si le nombre d'enregistrement à afficher
// est plus grand que $nombre
//=========================================
if($total > $nombre) {
// affichage des liens vers les pages
affichePages($nombre,$page,$total);
// affichage des boutons
displayNextPreviousButtons($limite,$total,$nombre,$page);
}
?>
</body>
</html>
Je vais essayer d'étre claire dans mon explication de probléme:
J'ai un répertoire qui s'appelle oeuvres / ou il y'a deux scripts : peintures.php et affichage-peintures.php , peintures.php fait apelle a affichage-peintures.php.
mes autres scripts ( affichePages.php, displayNextPreviousButtons.php, verifLimite.php ) sont dans le repertoire include/
Description de probléme:
Quand je clique sur l'onglet peinture il appelle affichage-peinture et il arrive a lire la premiére page une photo et sa desription et en bas de la page les liens 1 2 3 4 5 et le boutton suivant par la suite je veux clique sur le lien 2 il me sort une page vide, message: The webpage cannot be found http 404 et la méme chose pour le boutton suivant.
information supplimentaires:
quand je passe la souris sur le lien 2 voila le lien qu'il m'affiche en bas de page : http://localhost/oeuvres/peinture.php?limite=1
quand je clique sur le boutton suivant voila le lien qu'il me donne http://localhost/oeuvres/peinture.php
Donc voila mon probléme, si il y a quelqu'un qui pourra m'aider à resoudre ce probléme, mes connaissances sont limités en php mais j'apprend avec vous!
Merci
Hors ligne
salut,
a tu essayé de fixer simple $page = 'gharbaoui/oeuvres/peinture.php'; ?
avec ça directement tu devrais avoir un résultat correct ?
@+
Il en faut peu pour être heureux pompompompompompompompompompompom
Hors ligne
Bonjour Moogli,
Effectivement, j'ai reussie à le faire fonctionner avec le path statique !
Maintenant pourquoi les deux lignes de code n'ont pas pu lui donner le path exact pour qu'il fonctionne normalement ??? et comment faire chez l'hebergeur ?
C'est sur il y a un moyen qui scan le path ???
Merci beacoup
Dernière modification par jbenghazi (14-04-2011 20:00:33)
Hors ligne
simplement parce que ton script est pas à la racine, regarde ce que pathinfo retourne pour avoir une idée de ce qui se faire
@+
Il en faut peu pour être heureux pompompompompompompompompompompom
Hors ligne
Bonjour Moogli,
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = '/gharbaoui/oeuvres/'.$path_parts["basename"];
$page retourne la valeur suivante: /gharbaoui/oeuvres/peinture.php
Question.
Chez l'hebergeur est ce que j'ai besoin de changer les deux lignes ou les laisser telquel ?
Autre question, quand je teste le script avec Wamp server ver 2.1 le script fonctionne sans aucun probléme et quand je le transfére chez l'hebergeur et je clique sur peinture le script ne s'execute pas ???
Est ce que vous avez une idée ???
Script
-------
//=========================================
// déclarations des variables
//=========================================
$xid_peintures = "";
$xlinkbig ="";
$xtitre = "";
$xdim="";
$xw="";
$xh="";
$xannee="";
$xtechnique="";
$xauteur = "";
$xdate_insertion = "";
$xactif = "";
//=========================================
// includes du fichier fonctions
//=========================================
require("../include/affichepages.php");
require("../include/verifLimite.php");
require("../include/displayNextPreviousButtons.php");
//=========================================
// initialisation des variables
//=========================================
// on va afficher 2 résultats par page.
$nombre = 2;
// si limite n'existe pas on l'initialise à zéro
if (!$limite) $limite = 0;
// on cherche le nom de la page.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = '/gharbaoui/oeuvres/'.$path_parts["basename"];
echo $page;
//=========================================
// connection à la DB
//=========================================
$link = mysql_connect ($host,$user,$pwd) or die ('Erreur : '.mysql_error());
mysql_select_db($db) or die ('Erreur :'.mysql_error());
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = 'SELECT count(id_peinture) FROM peinture';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
//=========================================
// vérifier la validité de notre variable
// $limite;
//=========================================
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite) {
$limite = 0;
}
//=========================================
// requête SQL qui ne prend que le nombre
// d'enregistrement necessaire à l'affichage.
//=========================================
$select ='select id_peinture, linkbig, titre, technique, annee, dim, auteur, w, h, date_insertion, actif from peinture where actif <> 0 ORDER BY titre ASC limit '.$limite.','.$nombre.'';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($total) {
// début du tableau
echo '<table>';
// lecture et affichage des résultats sur 2 colonnes
while($row = mysql_fetch_array($result)) {
echo '<tr class="text_centre">';
$xid_peintures = $row['id_peinture'];
$xlinkbig = stripslashes(strval($row['linkbig']));
$xtitre = stripslashes(strval($row['titre']));
$xannee = stripslashes(strval($row['annee']));
$xdim = stripslashes(strval($row['dim']));
$xw = $row['w'];
$xh = $row['h'];
$xtechnique= stripslashes(strval($row['technique']));
$xauteur = stripslashes(strval($row['auteur']));
$xdate_insertion = $row['date_insertion'];
$xactif = $row['actif'];
echo '<tr aligne="center">';
echo "<img src=\"$xlinkbig\"; height=".$xh."; width=".$xw.";/>";
echo "<div> Titre: $xtitre <br> Année: $xannee <br> Technique: $xtechnique <br> Dim: $xdim <br> Credit: $xauteur <br></div>";
echo '</tr>'."\n";
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
//=========================================
// si le nombre d'enregistrement à afficher
// est plus grand que $nombre
//=========================================
if($total > $nombre) {
// affichage des liens vers les pages
affichePages($nombre,$page,$total);
// affichage des boutons
displayNextPreviousButtons($limite,$total,$nombre,$page);
}
?>
</body>
</html>
Merci pour votre temps !
Hors ligne
Pages :: 1