1

Bonjour,

Je suis en stage d'iut informatique, et je dois réaliser un portail pour plusieurs club de taekwondo de la région de toulouse. Pour l'instant cela est hébergé sur free ( c gratuit ... ). http://ffoubert.free.fr .

-1-
Mon problème vient des sessions php. En effet lorsque l'on s'identifie sur le site cela doit faire apparaitre un menu personnalisé. Or celui ci n'apparait pas au premier coup mais apparait lorsque l'on recharge la page ou l'on clique sur un autre lien. Est-ce que vous voyez de quoi peut venir l'erreur car lorsque je développe chez moi ( linux = {apache, php4, mysql , quanta+} ) cela fonctionne tres bien !

A savoir : Sous free.fr lorsque l'on veut utiliser les sessions php4 il faut créer un répertoire sessions. Lorsque je me logue sur mon site il me crée un fichier vide appelé .ses_$num ou $ num doit surement être l'id de session. A quoi servent ces fichiers ??? Ne sont ils pas la source de mon problème ???

-2-

Mon client souhiate benificier d'un nom de domaine et je lui ai conseillé de prendre un hébergement payant pour plus d'efficacité, il m'a donc demandé de me renseigner sur la question.
Il me faut du php4 et du mysql au niveau de l'espace y'a 2 solutions car il lui en faut beaucoup ! (stockage de photos) : soit un hebergement qui fournit tout (php,mysql,nomde domaine, +de 100 Mo) mais je pense que cela va couter tres cher, soit un hébergement moindre (php,mysqql, nom de dom, -de 100Mo) et en stokant mes photos sur différent comptes chez free !


Voila tous mes problème ! les discussions sont ouvertes !
Ps : pour motiver tout le monde, celui qui débuggue le premier truc figurera sur mon rapport de stage !
Gentoo User

2

pour faciliter la comprehension du problème et tester par soit meme :
login : test
pass : test
pour s'identifier sur le site !
Gentoo User

3

Voici les sources qui aideront surement a trouver d'ou vient le problème :

j'ai un include dans l'index qui inclut le fichier membre.php suivant qui gère le bloc idnetification :


---------------------------------------membre.php-------------------------------------
session_start();

if (session_is_registered("login") )
{
// la variable de session login est enregistrée
include('membres/menu.php');
}
else
{
// la variable n'est pas enregistrée, on renvoi sur le formulaire
include('membres/formulaire.php');
}

------------------------------------------fin membres -----------------------------------------------

voila le formulaire.php (la ligne interressante )

---------------------------------------- formulaire.php -----------------------------------------------

<form method="post" action="index.php?page=membres/traitements/trt_identification.php">

--------------------------------------fin formulaire ----------------------------------------------------

le fichier qui traite l'identification :

------------------------------------- trt_identification.php---------------------------------------------

<?

// On inclut le fichier de configuration
******************************************


// On se connect à notre serveur Sql
mysql_connect($server,$user,$pass);
// On selectionne la base de données
mysql_select_db($base);

// Création du template
$template = new template(".");

// Indication du fichier tpl servant de modèle
$template->set_file("trt","membres/templates/trt.tpl");


$login = $HTTP_POST_VARS['login'];
$mdp = $HTTP_POST_VARS['mdp'];

$mdp = md5($mdp);

// On cherche un login et un password correspondant dans la base de donné
$res = mysql_query("
select *
from membres
where login = '$login' and mdp = '$mdp'
") or die("erreur");
// verifie le nb de lignes du resultat
$exist = mysql_numrows($res);

// TEST d'existence si 1 alors OK
if($exist)
{
$tab = mysql_fetch_array($res);
session_start();
$_SESSION['login'] = $tab['login'];
$_SESSION['prenom'] = $tab['prenom'];
$_SESSION['nom'] = $tab['nom'];
$_SESSION['email'] = $tab['email'];
$template->set_var("TITRE"," Identification Réussie ! ");
$template->set_var("INFO","Vous pouvez désormais interagir avec le site grâce a votre menu ci contre ( -> ) ! <br><br><center><a href=\"index.php?page=tchumbi.php\">Retour à l'accueil</a></center>");


}
else
{
$template->set_var("TITRE"," Erreur ! ");
$template->set_var("INFO","Vous vous êtes trompé dans l'identification ou bien vous n'êtes pas inscrit !.<br><br><center><a href=\"index.php?page=membres/inscription.php\">Formulaire d'inscription</a></center>");

}

// Traitement de la page entière
$template->parse("parse", "trt", true);

// Affichage de la page
$template->p("parse");
unset($template);

//on referme la connexion
mysql_close();

?>

-------------------------------------------------- fin trt-identification --------------------------------------

normalement si l'inscription s'est bien passée ca nous ouvre une page au centre qui nous affiche que cela c'est bien passé. Et vu que l'on recharge l'index ca devrai relancer le fichier membre.php qui trouve que l'on est bien registered ....

PS : je reprécise que cela marche tres bien en local avec apache , php et mysql sous linux

voila j'espère avoir été le plus clair possible !
Gentoo User

4

Au boulot on prend http://www.wanadoo-sp.com/
C'est pas très bon-marché, mais ça reste honnête (surtout vus la qualité du service)
Je ne sais pas si c'est PHP3 ou 4 mais si tu prends un hebergement chez eux, prends comme plate forme de developpement "UNIX" et pas "WINDOWS" car selon ton choix tu auras accès aux PHP ou à l'ASP. (et c'est mal expliqué sur leur site)

100Mo? pour un club de taekwondo? c'est énorme...

5

ok il faudra que je vois avec mon patron, personne ne trouve mon bug ?
Gentoo User

6

Si tu es sur Free, il faut créer un repertoire session à la racine.
T3 member
TimeToTeam : A new generation of games for TI