PHP: Warning: main() [function.include]:

Résolu/Fermé
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 25 sept. 2009 à 23:40
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 26 sept. 2009 à 13:25
Bonjour,

J'ai un big souci. Je viens de créer une table tapas pour les recettes dans le même principe que les prénoms http://txiki.free.fr/index.php?page=Liste_PrenomsF&lang=Fr avec l'alphabet en moins. C'est sensé lister les Noms de recettes de Tapas sous forme de liens pour avoir la fiche détaillée (je n'en suis pas encore là, hélàs ! mais je viens de comprendre le principe des liaisons - tables tapas & ingredients).
Mais... une fois uploadé, j'ai une erreur que vous pouvez voir à Recettes/Les tapas test.
Ci dessous la ligne incriminé, en gras:
<!-- Début du contenu principal -->
	<div id="frame">
		<?php include(getLocation($page,$lang)); ?>
	</div>
    <!-- Fin du contenu principal -->

Le code php la page qui doit lister ces noms de recettes (je sais, c'est le foutoir mais j'apprends, j'essaie du moins, sur le tar, grâce à des CCMistes comme vous):
<?php  
//==========================
// Affichage des catégories dans une page
// includes du fichier fonctions séparé pour les vérifs des limites et Nb de pages
//==========================

require 'Fonctions_Recettes.php';

//=================
// initialisation des variables 
//=================
$nombre = 20;  // on va afficher 20 résultats par page.

// si la limite a été passée par un lien, on la prend en compte. 
$limite = (isset($_GET["limite"])) ? $_GET["limite"] : 0;


//=============
// connection à la DB
//=============
$link = mysql_pconnect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); // connection à la base
mysql_select_db($db) or die ('Impossible de se connecter à la base'); // sélection de la table

//===============================================
// requête SQL qui compte le nombre total d'enregistrements dans la table 
//(les noms de recettes uniquement).
//===============================================
$select = 'SELECT count(Nom_Recette) FROM tapas';
$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;
//============================
if ($limite < 0) $limite = 0;
if ($limite > $total) $limite = $total;

//======================================================
// requête SQL qui ne prend que le nombre d'enregistrement necessaire à l'affichage.
//======================================================
$req = 'select Nom_Recette FROM tapas ORDER BY Nom_Recette ASC limit '.$limite.','.$nombre;
$result = mysql_query($req)  or die ('Erreur : '.mysql_error() );

//==========================
// si on a récupéré un resultat on l'affiche.
//==========================
$Nom_Recette = "Nom_recette";

if ($total) 
{	
	// on affiche un tableau avec la liste des tapas (par nom de recette)
	echo "<table width='80%' bgcolor='#FFFFFF' cellspacing='0' cellpadding='0' align='center'>\n";

	// lecture et affichage des résultats  
    while($row = mysql_fetch_array($result)) 
	{
		echo "<tr>";
		echo "<td bgcolor='#FFFFFF' text-align='center'>"; 
		// Construit le lien vers la page index.php en lui passant en paramètre : la page, la langue et l'ID
		printf("<a href=\"index.php?page=%s&lang=%s&id=%s\">%s</a>","Recettes_Tapas",$lang,$row['ID'],$row['Nom_Recette']);
		echo "</td>";
		echo "</tr>\n";
	}   
	echo "</table>\n";
    // fin du tableau.
}
else 
{
	echo "Pas de recette de Tapas trouvé"; 
}

// on libère le résultat
mysql_free_result($result);

//=============================================
// si le nombre d'enregistrement à afficher est plus grand que $nombre 
// dans ce cas la fonction affiche les boutons
// Suivant et Précédent
//=============================================
if ($total > $nombre) {
//    affichePages($nombre,$page,$total);  // affichage des liens vers les pages
    displayNextPreviousButtons($limite,$total,$nombre,$page);  // affichage des boutons
}
mysql_close();
?>


Je répète, ça fonctionne très bien pour les prénoms (bien que j'ai supprimé certaines lignes inutiles ici.)

Quelqu'un pourrait-t-il m'expliquer les erreurs qui se trouvent dans ce code ou alors le simplifier, je suis preneur aussi.

Merci infiniment d'avance !

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
A voir également:

2 réponses

Bonjour

Il y a un message qui te signale que le fichier Recettes_Tapas Fr.php n'existe pas. Et effectivement, il n'existe pas, il suffit d'aller voir à http://txiki.free.fr/Recettes/ . Dans le répertoire Recettes, il y a bien un fichier Recettes_Tapas.php mais pas de Recettes_Tapas Fr.php.
Au passage, tu devrais mettre un fichier index.html dans ce répertoire (et dans les autres) pour éviter qu'on en voie le contenu.
0
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
26 sept. 2009 à 11:12
Salut le Pere,

Oh... P..... comment j'ai pu laisser passer ça ? Tous mes fichiers sont obligatoirement suivis de (espace)_Fr. htm ou .php.

Bon, là le serveur ne répond pas (ça arrive de temps à autre chez free).

Par contre je n'ai pas bien saisi l'histoire des index dans chaque répertoire. Je regarderai lorsque j'aurai accès de nouveau.

En tous cas un grand merci ! Quel con je fais ! je me suis arraché les cheveux hier soir et tout ça pour ne pas m'être rendu compte qu'il manquait le Fr pour la version des pages.


Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 973
26 sept. 2009 à 11:53
C' est simple, on peut voir la liste de tes pages dans le dossier, je vais te donner un exemple simple.

Si tu cree un dossier "images" et que tu y met tes images, si l' utilisateur tape tonsite.com/images , il va voir la liste de toutes tes images.

Pour eviter ca, ajouter dans ton dossier concerner une page index.html qui empechera aux gens de voir le contenu de ton dossier.
0
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
26 sept. 2009 à 13:25
Salut graffx,
Oui je connais ça. On peut lister les fichiers comme tu le dit. Mais pour l'index, il va y avoir confusion non ?. A moins que les navigateurs ne s'occupent QUE de l'index à la racine d'un site. Si c'est le cas, ça, je ne le savais pas !

Merci beaucoup !


Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0