Problème sur les sessions

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 juin 2006, 11:17

Chez free, pour utiliser les sessions, il te faut créer un dossier "sessions" à la racine de ton site pour qu'il puisse y stocker ses fichiers (cf. leur FAQ) ... est-ce que ca ne serait pas ça qui te manque ?

dededick
Invité n'ayant pas de compte PHPfrance

21 juin 2006, 11:18

a peut être bien merci :)
en fait, je dois créer un dossier session, dès que j'arrive sur mon ftp?
avec tous mes fichiers, y'aura un dossier session?

Mammouth du PHP | 965 Messages

21 juin 2006, 11:19

il ne faut pas mettre de texte avant ton header déjà.

Montre le code avec les header pour qu'on puisse voir.

Invité
Invité n'ayant pas de compte PHPfrance

21 juin 2006, 11:20

<?php session_start();
//Ouvrir une session pour pas que les non-connectés n'accèdent pas à cette page
if (!isset($_SESSION['pseudo'])) {
    header ('Location: index.html');
    exit();
}
?>
<html>
<head>
<title> Bienvenue sur Poudlard2006 </title>
<meta http-equiv="content-language" content="fr">
 <link rel="stylesheet" media="screen" type="text/css" title="Essai" href="color.css" />

<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>
</head>
<BODY OnLoad="textticker()">

<center>
<form name=tickform>
<textarea name=tickfield rows=3 cols=38 style="background-color: rgb(0,0,0); 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>
</center>
</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>
<body>
<div id="en_tete">
<!-- Mettre la bannière -->
</div>
<div id="menu">
<div id="element_menu">
<ul id="lien2">
<li><a href="acceuil.html"> Arrivée à Poudlard2006 </a></li>
<li><a href="http://poudlard2006.goodforum.net"> La Grande Salle </a></li>

Mammouth du PHP | 536 Messages

21 juin 2006, 11:58

le dossier doit etre a la racine de ton site et se nommer "sessions" et pas "session" comme tu l'as marqué plus haut
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

dededick
Invité n'ayant pas de compte PHPfrance

21 juin 2006, 11:59

ya un pb chez free à prioris, ttes mes pages php ne peuvent pas être affichées :(
et j'ai fait le répertoire sessions, à la racine je pense

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 juin 2006, 12:00

a peut être bien merci :)
en fait, je dois créer un dossier session, dès que j'arrive sur mon ftp?
avec tous mes fichiers, y'aura un dossier session?
Il te faut juste effectivement créer un dossier "sessions" (au pluriel) à la racine de ton compte ftp qui servira à php pur stocker les différentes sessions en cours. Le message d'erreur t'indique justement qu'il ne parvient pas à accéder aux fichiers dans ce dossier :
Warning: session_start() [function.session-start]: open(/mnt/112/sdb/4/d/dededick/sessions/sess_04ff8bdb81f622489ed588649737b4d2, O_RDWR) failed: No such file or directory (2)

dededick
Invité n'ayant pas de compte PHPfrance

21 juin 2006, 12:07

il me met :

Code : Tout sélectionner

The page isn't redirecting properly Firefox has detected that the server is redirecting the request for this address in a way that will never complete. * This problem can sometimes be caused by disabling or refusing to accept cookies.
connexion.php:
<?php
// pensez a ouvrir une connexion vers mysql ici
include('chien.php');

if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['password'])) {
  extract($_POST);
  // on recupère le password de la table qui correspond au login du visiteur
  $sql = "select password from siteweb where pseudo='".$pseudo."'";
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['password'] != $password) {
    include('erreur.html'); // On inclut le formulaire d'identification
    exit;
  }
  else {
    
    $_SESSION['pseudo'] = $_POST['pseudo'];// si pb, essayer de remplace 'pseudo' par
//'login' ;)

    echo 'Vous etes bien connecté <br/><br/>';
  echo'Vous rendre sur la page <a href="acceuil.php"> principale </a>';  // ici vous pouvez afficher un lien pour renvoyer
    // vers la page d'accueil de votre espace membres
  }
}
else {
   include('erreur2.html'); // On inclut le formulaire d'identification
   exit;
}
?>
acceuil.php:
<?php session_start();
//Ouvrir une session pour pas que les non-connectés n'accèdent pas à cette page
if (!isset($_SESSION['pseudo'])) {
    header ('Location:index.html');
    exit();
}
?>
<html>
<head>
<title> Bienvenue sur Poudlard2006 </title>
<meta http-equiv="content-language" content="fr">
 <link rel="stylesheet" media="screen" type="text/css" title="Essai" href="color.css" />

<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>
</head>
<BODY OnLoad="textticker()">

<center>
<form name=tickform>
<textarea name=tickfield rows=3 cols=38 style="background-color: rgb(0,0,0); 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>
</center>
</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>
<body>
<div id="en_tete">
<!-- Mettre la bannière -->
</div>
<div id="menu">
<div id="element_menu">
<ul id="lien2">
<li><a href="acceuil.html"> Arrivée à Poudlard2006 </a></li>
<li><a href="http://poudlard2006.goodforum.net"> La Grande Salle </a></li>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 juin 2006, 12:27

Il ne te manque pas un session_start() dans ton connexion.php pour pouvoir utiliser correctement $_SESSION ?

Sinon le message d'erreur est un message de firefox, donc semble plus lié au html généré voire probablement en l'occurence lié à l'adresse d'une page vers laquelle tu rediriges l'utilisateur qu'à du php...

dededick
Invité n'ayant pas de compte PHPfrance

21 juin 2006, 12:31

nouveau problème:

jme connecte sa marche, mais il me renvoie sur mon header (index.html) c que ça marche, mais quand je veux qu'il me renvoie ailleurs ça marche pas :(

dededick
Invité n'ayant pas de compte PHPfrance

21 juin 2006, 12:32

quand je mets en header acceuil.php, il plante à la connexion:

Code : Tout sélectionner

Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server during query in /mnt/112/sdb/4/d/dededick/chien.php on line 2 Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /mnt/112/sdb/4/d/dededick/chien.php on line 3 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /mnt/112/sdb/4/d/dededick/connexion.php on line 9 Erreur SQL ! select password from siteweb where pseudo='dededick' Lost connection to MySQL server during query

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 juin 2006, 12:40

Lost connection to MySQL server during query
Il a perdu la connexion au serveur MySQL alors qu'il était en train d'exécuter une requête... Y a p'tet des soucis de maintenance sur ton serveur en ce moment ?

dededick
Invité n'ayant pas de compte PHPfrance

21 juin 2006, 12:41

oui a prioris free merde ENCORE ^^