melxm | Bonjour à tous! J'ai crée un espace membre qui fonctionne à la perfection en local sur "Wamp Serveur" mais envoyé sur le serveur, celui-ci me renvoie une erreur: (Je travail sous encodage AINSI, le problème est le même que ce soit pour l'inscription comme pour la connexion):
session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/lanceyeq/public_html/page3.php:4) in /home/lanceyeq/public_html/page3.php
et
Cannot modify header information - headers already sent by (output started at /home/lanceyeq/public_html/page3.php:4) in /home/lanceyeq/public_html/page3.php
Une copie d'écran vous est ci-jointe.
Cordialement
En espérant que vous puissiez m'éclairer.
Code :
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- <?php
- // on teste si le visiteur a soumis le formulaire de connexion
- if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
- if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
- $base = mysql_connect ('localhost', 'lanceyeq', 'C9h1x32mxP');
- mysql_select_db ('lanceyeq_lancey', $base);
- // on teste si une entrée de la base contient ce couple login / pass
- $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass="'.mysql_escape_string($_POST['pass']).'"';
- $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['login'] = $_POST['login'];
- header('Location: membre.php');
- exit();
- }
- // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
- elseif ($data[0] == 0) {
- $erreur = 'Compte non reconnu.';
- }
- // 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 = 'Au moins un des champs est vide.';
- }
- }
- ?>
- <?php
- // on teste si le visiteur a soumis le formulaire
- if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
- // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
- if ((isset($_POST['login']) && !empty($_POST['login']))
- && (isset($_POST['pass']) && !empty($_POST['pass']))
- && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))
- && (isset($_POST['nom']) && !empty($_POST['nom']))
- && (isset($_POST['prenom']) && !empty($_POST['prenom']))
- && (isset($_POST['mail']) && !empty($_POST['mail']))
- && (isset($_POST['galop']) && !empty($_POST['galop'])) ) {
- // on teste les deux mots de passe
- if ($_POST['pass'] != $_POST['pass_confirm']) {
- $erreur = 'Les 2 mots de passe sont différents.';
- }
- else {
- $base = mysql_connect ('localhost', 'lanceyeq', 'C9h1x32mxP');
- mysql_select_db ('lanceyeq_lancey', $base);
- // on recherche si ce login est déjà utilisé par un autre membre
- $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
- $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
- $data = mysql_fetch_array($req);
- if ($data[0] == 0) {
- try
- {
- $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
- $bdd = new PDO('mysql:host=localhost;dbname=lanceyeq_lancey', 'lanceyeq', 'C9h1x32mxP', $pdo_options);
-
- // On ajoute une entrée dans la table
- $req = $bdd->prepare('INSERT INTO membre(login,pass,nom, prenom, mail, galop) VALUES(:login,:pass,:nom,:prenom, :mail,:galop) ');
- $req->execute(array(
- 'login' => $_POST['login'],
- 'pass' => $_POST['pass'],
- 'nom' => $_POST['nom'],
- 'prenom' => $_POST['prenom'],
- 'mail' => $_POST['mail'],
- 'galop' => $_POST['galop'],
- ));
-
- }
- catch(Exception $e)
- {
- die('Erreur : '.$e->getMessage());
- }
- session_start();
- $_SESSION['login'] = $_POST['login'];
- header('Location: membre.php');
- exit();
- }
- else {
- $erreur = 'Un membre possède déjà ce login.';
- }
- }
- }
- else {
- $erreur = 'Au moins un des champs est vide.';
- }
- }
- ?>
|
|