Bonjour, j'ai eu un script php il y a plus de 6 mois sur un site, je l'avait modifier mais hier l'hebergement a envoyer un email pour dire que leur site va passé en php5 et qu'il faut mettre 2 lignes dans le htaccess
depuis que j'ai mis les 2 lignes sa marche bien, j'ai modifier 90% de mon site pour mettre plein de variable['var'] ...
mais le seul probléme c'est le formulaire de connexion
donc il y a dans la page index le formulaire de connexion:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <input name="pseudo" type="text" id="pseudo" value="<?php if (isset($_POST['pseudo'])) echo stripslashes(htmlentities(trim($_POST['pseudo']))); ?>" size="10" /> <input name="passe" type="password" id="passe" value="<?php if (isset($_POST['passe'])) echo stripslashes(htmlentities(trim($_POST['passe']))); ?>" size="10" /> <input type="submit" name="connexion" value="Connexion" /> <?php if (isset($erreur)) echo '<br /><br />',$erreur; ?>
ensuite dans la meme page (index.php) mais tout en haut il y a ce script php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 <?php // on teste si le visiteur a soumis le formulaire de connexion if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { if ((isset($_POST['pseudo']) && !empty($_POST['pseudo'])) && (isset($_POST['passe']) && !empty($_POST['passe']))) { $base = mysql_connect ('localhost', 'LOGIN', 'PASSE'); mysql_select_db ('NOM-DE-BDD', $base); // on teste si une entrée de la base contient ce couple login / pass $sql = 'SELECT count(*) FROM letchat WHERE pseudo="'.mysql_escape_string($_POST['pseudo']).'" AND passe="'.mysql_escape_string($_POST['passe']).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); mysql_free_result($req); mysql_close(); // si on obtient une réponse, alors l'utilisateur est un membre if ($data[0] == 1) { session_start(); $_SESSION['pseudo'] = $_POST['pseudo']; header('Location: membre.php'); exit(); } // si on ne trouve aucune réponse, le visiteru s'est trompé soit dans son login, soit dans son mot de passe elseif ($nb == 0) { $erreur = 'Mauvais login / password. Merci de recommencer'; } // sinon, alors la, il y a un gros problème :) else { $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; } } else { $erreur = 'Vous devez indiquer un pseudo afin de pouvoir vous connecter.'; } } ?>
a mon avis c'est le script au dessu qui coince et que je sais pas gerer
par contre aprés sur la page membre rien ne se detecte:
membre.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php session_start(); if (!isset($_SESSION['pseudo'])) { header ('Location: index.php'); exit(); } ?> ensuite toute les données ici ne s'affiche pas, meme si je met un : <?php echo $_GET['pseudo'];?> ou encore je remplace _GET par _POST , sa affiche une page toute blanche et pas le pseudo, mais le membre est bien connecté .
Ce script marche trés bien en global on , mais mon hebergement a dit de changer tout sa car y parait qu'un php va s'arreté et c'est remplacé par php5
sa serais bien de m'aidé de savoir se qui manque dans le script pour que la page membre.php detecte les variables ...
Merci d'avance
(dsl pour les fautes )
Partager