problème include

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème include

par dededick » 29 juin 2006, 12:49

Désolé, tout marche très bien, c'était une faute de frappe ;)
Merci à tous :)

par dededick » 29 juin 2006, 12:47

Voici mon code renouvelé :
<?php session_start();
//Ouvrir une session pour pas que les non-connectés n'accèdent pas à cette page
if (!isset($_SESSION['pseudo'])) {
   echo 'Vous ne pouvez pas accéder à cette page, veuillez vous <a href="connexion.html"> connecter </a>';
    exit();
}
?>
<html>
<head>
<title> Salle commune</title>
<meta http-equiv="content-language" content="fr">
 <link rel="stylesheet" media="screen" type="text/css" title="Essai" href="color.css" />
</head>

<body>
<div id="header">

</div>
<div id="en_tete">
<img src="poudlard.gif" alt="poudlard" />
</div>
<div id="menug">
<div id="element_menug">
<img src="poudlard.jpg" alt="poudlard"/>
<ul id="lien2">
<li><a href="arrivee.php"> Acceuil du directeur </a></li>
<li><a href="http://poudlard2006.goodforum.net"> La Grande Salle </a></li>
<li><a href="points.php"> Coupe des Quatres Maisons </a></li>
<li><a href="cours.php"> Suivre un cours </a></li>
<li><a href="gazette.php"> Lire la gazette du sorcier </a></li>
<li><a href="chicaneur.php"> Lire le Chicaneur </a></li>
<li><a href="verif_news_un.php"> Rédiger une news </a></li>
<li><a href="deconnexion.php"> Se déconnecter</a></li>
</ul>
<img src="exterieur.jpg" alt="extérieur"/>
<ul id="lien2">
<li><a href="chemin_traverse.php"> Chemin de Traverse </a></li>
<li><a href="pre_au_lard.php"> Visiter Pré-Au-Lard </a></li>
<li><a href="chat.php"> Le chaudron baveur </a></li>
</ul>
<img src="bonus.jpg" alt="bonus"/>
<ul id="lien2">
<li><a href="image.php"> Des images </a></li>
<li><a href="interview.php"> Des interviews (si on en trouve) </a></li>
<li><a href="equipe.php"> L'équipe du site </a></li>
<li><a href="livre.php"> Livre d'or </a></li>
</ul>
<img src="dortoir.jpg" alt="image"/>
<ul id="lien2">
<li><a href="dortoir.php"> Vos stats </a></li>
</ul></div></div>
<div id="menud">

 <div class="element_menug">
<center>

<script language="JavaScript">
<!--

function SymError()
{
  return true;
}

window.onerror = SymError;

var SymRealWinOpen = window.open;

function SymWinOpen(url, name, attributes)
{
  return (new Object());
}

window.open = SymWinOpen;

//-->
</script>

<SCRIPT LANGUAGE="JavaScript">
// a mettre entre <head> et <head/>
var max=0;
function textlist() {
max=textlist.arguments.length;
for (i=0; i<max; i++)
this[i]=textlist.arguments[i];
}
tl = new textlist( 
"Bievenue sur ce site.",
"En cas de problème, un forum est à votre disposition.",
"Petites annonces:",
"Aujourd'hui, le cerveau a des capacités tellement étonnantes, que presque tout le monde en a un.",
"Un verre est à moitié plein d'eau; n'est-il pas plutôt à moitié vide?",
"Il semblerait que... mais on n'en est pas sur...",
"Vous pensez ne rien savoir? Mais rassurez-vous, vous savez au moins ça!"
);

var x = 0; pos = 0;
var l = tl[0].length;
function textticker() {
document.tickform.tickfield.value = tl[x].substring(0, pos) + "_";
if(pos++ == l) {
pos = 0; 
setTimeout("textticker()", 2000); 
if(++x == max) x = 0; 
l = tl[x].length;
} else
setTimeout("textticker()", 50);
}
</script>
<BODY OnLoad="textticker()">


<form name=tickform>
<textarea name=tickfield rows=3 cols=20 style="background-color: #191919; color: rgb(255,255,255); cursor: default; font-family: Arial; font-size: 12px" wrap=virtual>Les infos apparaissent ici, une fois que la page est chargée.</textarea>
</form>
</script>



   </head>
   <script language="JavaScript">
function nextSize(i,incMethod,textLength){
  if (incMethod == 1) return (40*Math.abs( Math.sin(i/(textLength/3.14))) );
  if (incMethod == 2) return (255*Math.abs( Math.cos(i/(textLength/3.14))));
}

function sizeCycle(text,method,dis){	
  output = "";
  for (i = 0; i < text.length; i++){
    size = parseInt(nextSize(i +dis,method,text.length));
    output += "<font style='font-size: "+ size +"pt'>" +text.substring(i,i+1)+ "</font>";
  }
  theDiv.innerHTML = output;
}

function doWave(n){
  theText = "dededick.free.fr";
  sizeCycle(theText,1,n);	
  if (n > theText.length) {n=0}
  setTimeout("doWave(" + (n+1) + ")", 150);
}
</script>
</center>
</div> </div>
<div id="corps">
<?php
mysql_connect("localhost", "****", "****");
mysql_select_db("*****");
$pseudo=$_SESSION['pseudo'];
$sql = mysql_query("SELECT maison FROM siteweb WHERE pseudo = '".$pseudo."'") or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
while ($donnees = mysql_fetch_array($sql)) 
{
if ($donnees["maison"] == "gryffondor")
{
include("salle_gryffondor.php");
}
elseif ($donnees["maison"] == "serpentard")
{
include("salle_serpentard.php");
}
elseif ($donnees["maison"] == "serdaigle")
{
include("salle_serdaigle.php");
}
elseif ($donnees["maison"] == "poufsouffle")
{
include("salle_poufouffle.php");
}
else
{
echo "Erreur";
}
}
mysql_close();
?>
</div>
 <div id="pied_de_page">
 Design crée par Laurent et Phinéas Weil.<br/>
 <a href="copyright.php"> Copyright </a>
 </div>

 </body>
 </html>
Le problème, c'est que, si je suis à poufsouffle, ça me met:

Code : Tout sélectionner

Warning: main(salle_poufouffle.php) [function.main]: failed to open stream: No such file or directory in /mnt/128/sdc/6/3/poudlard2006/salle_commune.php on line 167 Warning: main() [function.include]: Failed opening 'salle_poufouffle.php' for inclusion (include_path='/mnt/128/sdc/6/3/po
sinon tout marche très bien, sauf ça :(
Pourquoi? J'ai bien essayé de bidouiller un peu, mais ça marche jamais :oops:

par nejme.eddinne » 29 juin 2006, 11:02

si la session n'est pas enregistré, dans la requete elle sera comme suit:
SELECT maison FROM siteweb WHERE pseudo = ''
par contre est ce que t'a essayé de te déloguer et te reloguer après la modification de $pseudo=$_SESSION["pseudo"];
prcq l'ancienne ligne $_SESSION["pseudo"]=$pseudo a écraser le contenu de la variable session et l'a mis à "null"

par guilt92 » 29 juin 2006, 10:57

1/ As tu fais un echo de pseudo pour savoir si la valeur etait bonne ?
2/ ta variable $maison n existe pas... je pense qu'un $donnees["maison"] serait plus approprié....


Ne tombe tout de meme pas dans la facilité, lis ton code et essaye de debugger par toi meme et de faire des messages plus constructifs que "ca marche pas"... Je t ai parlé de "or die(mysql_error());" je ne le vois toujours pas, tu ne nous dis pas si tes variables a la base sont bonnes et ainsi de suite on fait un topic de 15 post alors qu'un post detaillé aurait pu etre plus rapide pour toi et pour nous....

par dededick » 29 juin 2006, 10:51

<?php session_start();
//Ouvrir une session pour pas que les non-connectés n'accèdent pas à cette page
if (!isset($_SESSION['pseudo'])) {
   echo 'Vous ne pouvez pas accéder à cette page, veuillez vous <a href="connexion.html"> connecter </a>';
    exit();
}
?>
<html>
<head>
<title> Salle commune</title>
<meta http-equiv="content-language" content="fr">
 <link rel="stylesheet" media="screen" type="text/css" title="Essai" href="color.css" />
</head>

<body>
<div id="header">

</div>
<div id="en_tete">
<img src="poudlard.gif" alt="poudlard" />
</div>
<div id="menug">
<div id="element_menug">
<img src="poudlard.jpg" alt="poudlard"/>
<ul id="lien2">
<li><a href="arrivee.php"> Acceuil du directeur </a></li>
<li><a href="http://poudlard2006.goodforum.net"> La Grande Salle </a></li>
<li><a href="points.php"> Coupe des Quatres Maisons </a></li>
<li><a href="cours.php"> Suivre un cours </a></li>
<li><a href="gazette.php"> Lire la gazette du sorcier </a></li>
<li><a href="chicaneur.php"> Lire le Chicaneur </a></li>
<li><a href="verif_news_un.php"> Rédiger une news </a></li>
<li><a href="deconnexion.php"> Se déconnecter</a></li>
</ul>
<img src="exterieur.jpg" alt="extérieur"/>
<ul id="lien2">
<li><a href="chemin_traverse.php"> Chemin de Traverse </a></li>
<li><a href="pre_au_lard.php"> Visiter Pré-Au-Lard </a></li>
<li><a href="chat.php"> Le chaudron baveur </a></li>
</ul>
<img src="bonus.jpg" alt="bonus"/>
<ul id="lien2">
<li><a href="image.php"> Des images </a></li>
<li><a href="interview.php"> Des interviews (si on en trouve) </a></li>
<li><a href="equipe.php"> L'équipe du site </a></li>
<li><a href="livre.php"> Livre d'or </a></li>
</ul>
<img src="dortoir.jpg" alt="image"/>
<ul id="lien2">
<li><a href="dortoir.php"> Vos stats </a></li>
</ul></div></div>
<div id="menud">

 <div class="element_menug">
<center>

<script language="JavaScript">
<!--

function SymError()
{
  return true;
}

window.onerror = SymError;

var SymRealWinOpen = window.open;

function SymWinOpen(url, name, attributes)
{
  return (new Object());
}

window.open = SymWinOpen;

//-->
</script>

<SCRIPT LANGUAGE="JavaScript">
// a mettre entre <head> et <head/>
var max=0;
function textlist() {
max=textlist.arguments.length;
for (i=0; i<max; i++)
this[i]=textlist.arguments[i];
}
tl = new textlist( 
"Bievenue sur ce site.",
"En cas de problème, un forum est à votre disposition.",
"Petites annonces:",
"Aujourd'hui, le cerveau a des capacités tellement étonnantes, que presque tout le monde en a un.",
"Un verre est à moitié plein d'eau; n'est-il pas plutôt à moitié vide?",
"Il semblerait que... mais on n'en est pas sur...",
"Vous pensez ne rien savoir? Mais rassurez-vous, vous savez au moins ça!"
);

var x = 0; pos = 0;
var l = tl[0].length;
function textticker() {
document.tickform.tickfield.value = tl[x].substring(0, pos) + "_";
if(pos++ == l) {
pos = 0; 
setTimeout("textticker()", 2000); 
if(++x == max) x = 0; 
l = tl[x].length;
} else
setTimeout("textticker()", 50);
}
</script>
<BODY OnLoad="textticker()">


<form name=tickform>
<textarea name=tickfield rows=3 cols=20 style="background-color: #191919; color: rgb(255,255,255); cursor: default; font-family: Arial; font-size: 12px" wrap=virtual>Les infos apparaissent ici, une fois que la page est chargée.</textarea>
</form>
</script>



   </head>
   <script language="JavaScript">
function nextSize(i,incMethod,textLength){
  if (incMethod == 1) return (40*Math.abs( Math.sin(i/(textLength/3.14))) );
  if (incMethod == 2) return (255*Math.abs( Math.cos(i/(textLength/3.14))));
}

function sizeCycle(text,method,dis){	
  output = "";
  for (i = 0; i < text.length; i++){
    size = parseInt(nextSize(i +dis,method,text.length));
    output += "<font style='font-size: "+ size +"pt'>" +text.substring(i,i+1)+ "</font>";
  }
  theDiv.innerHTML = output;
}

function doWave(n){
  theText = "dededick.free.fr";
  sizeCycle(theText,1,n);	
  if (n > theText.length) {n=0}
  setTimeout("doWave(" + (n+1) + ")", 150);
}
</script>
</center>
</div> </div>
<div id="corps">
<?php
mysql_connect("localhost", "***", "***");
mysql_select_db("****");
$pseudo=$_SESSION["pseudo"];
$retour = mysql_query("SELECT maison FROM siteweb WHERE pseudo = '".$pseudo."'");
while ($donnees = mysql_fetch_array($retour))
{
if ($maison == "gryffondor")
{
include("salle_gryffondor.php");
}
if ($maison == "serpentard")
{
include("salle_serpentard.php");
}
if ($maison == "serdaigle")
{
include("salle_serdaigle.php");
}
if ($maison == "poufsouffle")
{
include("salle_poufouffle.php");
}
}
mysql_close();
?>
</div>
 <div id="pied_de_page">
 Design crée par Laurent et Phinéas Weil.<br/>
 <a href="copyright.php"> Copyright </a>
 </div>

 </body>
 </html>
Mrche toujours pas :(

par dededick » 29 juin 2006, 10:49

C'est une variable de session. je vais essayer le $_SESSION["pseudo"]; ;)

par guilt92 » 29 juin 2006, 10:47

y a quelque chose de bizarre dans ton code : le pseudo de la personne tu le récupères d'un formulaire de la page précédente ou c est une variable de session ?

Ou alors ce sont deux valeurs différentes ? Vérifie la page qui appelle salle_commune.php si c'est un formulaire vérifie bien le champ... Si c est une variable de session alors $pseudo = $_SESSION["pseudo"]; comme tu le vérifies au début de la page...

par dededick » 29 juin 2006, 10:44

j'ai mis le echo$_POST['pseudo'] avant, et il ne m'affiche rien :(

par guilt92 » 29 juin 2006, 10:43

tu as corrigé ta requete ?
tu as suivi le conseil de nejme.eddinne pour savoir si la valeur de $_POST["pseudo"] est correcte ?

par dededick » 29 juin 2006, 10:42

Il m'affiche mon cadre,mais ne m'inclut rien dedans :(

par guilt92 » 29 juin 2006, 10:39

$retour = mysql_query('SELECT maison FROM siteweb WHERE pseudo = ' .$pseudo. ''); 
petit probleme de ' ici...
$retour = mysql_query("SELECT maison FROM siteweb WHERE pseudo = '".$pseudo."'"); 
me parait mieux.

Petit conseil : Ajoute des or die(mysql_error()); après tes mysql_query cela te permettra de voir si il y a une erreur dans une de tes requete...

par dededick » 29 juin 2006, 10:33

Code : Tout sélectionner

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sdc/6/3/poudlard2006/salle_commune.php on line 152

par nejme.eddinne » 29 juin 2006, 10:27

tu peux nous rajouter
echo $_POST["pseudo"];
avant
mysql_connect("localhost", "****", "****");
mysql_select_db("****"); 
juste pour vérifier

par dededick » 29 juin 2006, 10:20

Il m'affiche maintenant:

Code : Tout sélectionner

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sdc/6/3/poudlard2006/salle_commune.php on line 151
Et ma page est :
<?php session_start();
//Ouvrir une session pour pas que les non-connectés n'accèdent pas à cette page
if (!isset($_SESSION['pseudo'])) {
   echo 'Vous ne pouvez pas accéder à cette page, veuillez vous <a href="connexion.html"> connecter </a>';
    exit();
}
?>
<html>
<head>
<title> Salle commune</title>
<meta http-equiv="content-language" content="fr">
 <link rel="stylesheet" media="screen" type="text/css" title="Essai" href="color.css" />
</head>

<body>
<div id="header">

</div>
<div id="en_tete">
<img src="poudlard.gif" alt="poudlard" />
</div>
<div id="menug">
<div id="element_menug">
<img src="poudlard.jpg" alt="poudlard"/>
<ul id="lien2">
<li><a href="arrivee.php"> Acceuil du directeur </a></li>
<li><a href="http://poudlard2006.goodforum.net"> La Grande Salle </a></li>
<li><a href="points.php"> Coupe des Quatres Maisons </a></li>
<li><a href="cours.php"> Suivre un cours </a></li>
<li><a href="gazette.php"> Lire la gazette du sorcier </a></li>
<li><a href="chicaneur.php"> Lire le Chicaneur </a></li>
<li><a href="verif_news_un.php"> Rédiger une news </a></li>
<li><a href="deconnexion.php"> Se déconnecter</a></li>
</ul>
<img src="exterieur.jpg" alt="extérieur"/>
<ul id="lien2">
<li><a href="chemin_traverse.php"> Chemin de Traverse </a></li>
<li><a href="pre_au_lard.php"> Visiter Pré-Au-Lard </a></li>
<li><a href="chat.php"> Le chaudron baveur </a></li>
</ul>
<img src="bonus.jpg" alt="bonus"/>
<ul id="lien2">
<li><a href="image.php"> Des images </a></li>
<li><a href="interview.php"> Des interviews (si on en trouve) </a></li>
<li><a href="equipe.php"> L'équipe du site </a></li>
<li><a href="livre.php"> Livre d'or </a></li>
</ul>
<img src="dortoir.jpg" alt="image"/>
<ul id="lien2">
<li><a href="dortoir.php"> Vos stats </a></li>
</ul></div></div>
<div id="menud">

 <div class="element_menug">
<center>

<script language="JavaScript">
<!--

function SymError()
{
  return true;
}

window.onerror = SymError;

var SymRealWinOpen = window.open;

function SymWinOpen(url, name, attributes)
{
  return (new Object());
}

window.open = SymWinOpen;

//-->
</script>

<SCRIPT LANGUAGE="JavaScript">
// a mettre entre <head> et <head/>
var max=0;
function textlist() {
max=textlist.arguments.length;
for (i=0; i<max; i++)
this[i]=textlist.arguments[i];
}
tl = new textlist( 
"Bievenue sur ce site.",
"En cas de problème, un forum est à votre disposition.",
"Petites annonces:",
"Aujourd'hui, le cerveau a des capacités tellement étonnantes, que presque tout le monde en a un.",
"Un verre est à moitié plein d'eau; n'est-il pas plutôt à moitié vide?",
"Il semblerait que... mais on n'en est pas sur...",
"Vous pensez ne rien savoir? Mais rassurez-vous, vous savez au moins ça!"
);

var x = 0; pos = 0;
var l = tl[0].length;
function textticker() {
document.tickform.tickfield.value = tl[x].substring(0, pos) + "_";
if(pos++ == l) {
pos = 0; 
setTimeout("textticker()", 2000); 
if(++x == max) x = 0; 
l = tl[x].length;
} else
setTimeout("textticker()", 50);
}
</script>
<BODY OnLoad="textticker()">


<form name=tickform>
<textarea name=tickfield rows=3 cols=20 style="background-color: #191919; color: rgb(255,255,255); cursor: default; font-family: Arial; font-size: 12px" wrap=virtual>Les infos apparaissent ici, une fois que la page est chargée.</textarea>
</form>
</script>



   </head>
   <script language="JavaScript">
function nextSize(i,incMethod,textLength){
  if (incMethod == 1) return (40*Math.abs( Math.sin(i/(textLength/3.14))) );
  if (incMethod == 2) return (255*Math.abs( Math.cos(i/(textLength/3.14))));
}

function sizeCycle(text,method,dis){	
  output = "";
  for (i = 0; i < text.length; i++){
    size = parseInt(nextSize(i +dis,method,text.length));
    output += "<font style='font-size: "+ size +"pt'>" +text.substring(i,i+1)+ "</font>";
  }
  theDiv.innerHTML = output;
}

function doWave(n){
  theText = "dededick.free.fr";
  sizeCycle(theText,1,n);	
  if (n > theText.length) {n=0}
  setTimeout("doWave(" + (n+1) + ")", 150);
}
</script>
</center>
</div> </div>
<div id="corps">
<?php
mysql_connect("localhost", "****", "****");
mysql_select_db("****");
$pseudo=$_POST['pseudo'];
$retour = mysql_query('SELECT maison FROM siteweb WHERE pseudo = ' .$pseudo. '');
while ($donnees = mysql_fetch_array($retour))
{
if ($maison == "gryffondor")
{
include("salle_gryffondor.php");
}
if ($maison == "serpentard")
{
include("salle_serpentard.php");
}
if ($maison == "serdaigle")
{
include("salle_serdaigle.php");
}
if ($maison == "poufsouffle")
{
include("salle_poufouffle.php");
}
}
mysql_close();
?>
</div>
 <div id="pied_de_page">
 Design crée par Laurent et Phinéas Weil.<br/>
 <a href="copyright.php"> Copyright </a>
 </div>

 </body>
 </html>

par guilt92 » 29 juin 2006, 09:57

Dans la série "petites erreurs :D"
$_POST['pseudo']=$pseudo; 
$sql = ("SELECT maison FROM siteweb WHERE pseudo = '".$pseudo."'");
A mon avis ca serait plutot l inverse... Si tu veux que pseudo ait la valeur de la valeur postée il faudrait faire :
$pseudo=$_POST['pseudo'];