Page 1 sur 2

problème include

Posté : 29 juin 2006, 09:33
par dededick
Bonjour à tous, j'ai un nouveau problème:
voici ma page salle_commune.php :
<?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("****");
$_POST['pseudo']=$pseudo;
$maison=$data['maison'];
$sql = ("SELECT maison FROM siteweb WHERE pseudo = '".$pseudo."'");
if ($maison == "gryffondor")
{
include("salle_commune.php?maison=gryffondor");
}
if ($maison == "serpentard")
{
include("salle_commune.php?maison=serpentard");
}
if ($maison == "serdaigle")
{
include("salle_commune.php?maison=serdaigle");
}
if ($maison == "poufsouffle")
{
include("salle_commune.php?maison=poufsouffle");
}
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 qu'il ne m'affiche rien :( pourquoi?
Merci :)

Posté : 29 juin 2006, 09:48
par leakcim51
Salut!

j'ai pas tout regardé mais tu as déjà un problème à ce niveau là:

$_POST['pseudo']=$pseudo; 
$maison=$data['maison']; 
$sql = ("SELECT maison FROM siteweb WHERE pseudo = '".$pseudo."'"); 

en effet $data n'est pas declaré et tu fais ta requète SQL après l'affectation à $maison.

Tu devrais avoir un truc du genre:


$_POST['pseudo']=$pseudo; 

$sql = ("SELECT maison FROM siteweb WHERE pseudo = '".$pseudo."'"); 

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
{
  $maison=$data['maison']; 
}

Ca devrait être mieux.
@+

Posté : 29 juin 2006, 09:51
par leakcim51
De plus, il me semble que les fonctions javascript se place entre <HEAD> et </HEAD>.

Or c'est fonction n'y sont pas.

Code : Tout sélectionner

<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); }
@+

Posté : 29 juin 2006, 09:57
par guilt92
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'];

Posté : 29 juin 2006, 10:20
par dededick
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>

Posté : 29 juin 2006, 10:27
par nejme.eddinne
tu peux nous rajouter
echo $_POST["pseudo"];
avant
mysql_connect("localhost", "****", "****");
mysql_select_db("****"); 
juste pour vérifier

Posté : 29 juin 2006, 10:33
par dededick

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

Posté : 29 juin 2006, 10:39
par guilt92
$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...

Posté : 29 juin 2006, 10:42
par dededick
Il m'affiche mon cadre,mais ne m'inclut rien dedans :(

Posté : 29 juin 2006, 10:43
par guilt92
tu as corrigé ta requete ?
tu as suivi le conseil de nejme.eddinne pour savoir si la valeur de $_POST["pseudo"] est correcte ?

Posté : 29 juin 2006, 10:44
par dededick
j'ai mis le echo$_POST['pseudo'] avant, et il ne m'affiche rien :(

Posté : 29 juin 2006, 10:47
par guilt92
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...

Posté : 29 juin 2006, 10:49
par dededick
C'est une variable de session. je vais essayer le $_SESSION["pseudo"]; ;)

Posté : 29 juin 2006, 10:51
par dededick
<?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 :(

Posté : 29 juin 2006, 10:57
par guilt92
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....