espace membre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : espace membre

Re: espace membre

par rickphp » 04 nov. 2012, 23:58

J'ai eu le même problème :) En local, tout fonctionne bien. Mais une fois en ligne, ça ne fonctionne plus.

C'est que lorsque le document .php est enregistré, plusieurs code non visible sont insérer avant le code.

la fonction php "header" doit être appelé avant le moindre caractères html...

Donc ça plante.

Pour régler cela, il suffit de modifier l'encodage du document, et de l'enregistrer a nouveau. (sur notepad++, c'est en haut complètement, dans "Encodage")

Il faut choisir : (Encoder en UFT-8 (SANS BOM))

Et le problème sera réglé :) C'est la même chose pour les session_start();

Re: espace membre

par juliette » 04 nov. 2012, 23:02

rien de sur mais ni a t'il pas du html au autre avant ça ? ou des espaces avant la balise php ?
il ma semble déjà avoir eu un truc de ce genre #-o

édit: juste pour voir, enlève tous ce qu'il y a en haut avant ta balise php

Re: espace membre

par romuald » 04 nov. 2012, 21:31

vérifie que ton fichier est codé en UTF8 SANS BOM y'à des chance pour que ça résout ton problème mais surtout garde les deux " " du header

Re: espace membre

par AB » 04 nov. 2012, 21:20

Re: espace membre

par pedro carlos » 04 nov. 2012, 20:39

Je l'ai fait mais il y a encore plus d'erreurs :cry: :

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\apachefriends\xampp\htdocs\login.php:1) in C:\apachefriends\xampp\htdocs\login.php on line 17

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\apachefriends\xampp\htdocs\login.php:1) in C:\apachefriends\xampp\htdocs\login.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at C:\apachefriends\xampp\htdocs\login.php:1) in C:\apachefriends\xampp\htdocs\login.php on line 19

Re: espace membre

par romuald » 04 nov. 2012, 14:39

Et comme ça?
header("Location:membre.php");
en métant "" aux lieu de ' '

Re: espace membre

par pedro carlos » 04 nov. 2012, 13:01

Merci de m'avoir répondu. En effet j'ai fait ce que vous m'avez dit de faire, il ne marche pas:

// si on obtient une réponse, alors l'utilisateur est un membre
l16 if ($data[0] == 1) {
l17 session_start();
l18 $_SESSION['login'] = $_POST['login'];
l19 --->header('Location: membre.php');
exit();
}

Mais on m'affiche l'erreur: Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `'$'' in C:\apachefriends\xampp\htdocs\login.php on line 19

Re: espace membre

par mumbly » 04 nov. 2012, 08:14

Mes 2 cts :
pas header('membre.php'); mais ---> header('Location: membre.php');

espace membre

par pedro carlos » 04 nov. 2012, 01:04

Bonjour,

Je suis entrain de faire un espace membre. A la page de connexion, lorsque l'utilisateur se connecte, elle n'envoie pas à la page membre avec la fonction header. Voila mon script en php:

<?php

// connexion à la base de données
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('espace', $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_md5="'.mysql_escape_string(md5($_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('membre.php');
exit();
}

?>
<html>
<head>
<title>Accueil</title>
</head>

<body>
<?php include('clude.html'); ?>
Connexion à l'espace membre :<br />
<form action="login.php" method="post">
Login : <input type="text" name="login"><br />
Mot de passe : <input type="password" name="pass"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<a href="form.php">Vous inscrire</a>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>


Est-ce que vous pouvez m'aider à trouver mes erreurs s'il vous plait. Je vous en remercie.