Code problème

Répondre
Lepetitwindows56
le 01/04/2010 à 18:24
Lepetitwindows56
Le code :

<?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']))) {
// 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 ('serveur', 'login', 'password');
mysql_select_db ('nom_base', $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) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

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.';
}
}
?>
<html>
<head>
<title>Inscription</title>
</head>

<body>
Inscription à l'espace membre :<br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if
E-mail: <input type="text" name="email" value="Indiquez votre email" />
(isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>
Lepetitwindows 56 - http://www.expomatique.net/
i M@N
le 02/04/2010 à 11:30
i M@N
Hello.

ligne 5: il faut tester et initialiser la variable $email issue de $_POST (ton input email)
// 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['email']) && !empty($_POST['email']))) {


ligne 20: la requête devient :
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'")';


@+...
One Love, One Heart, One Unity.
Lepetitwindows56
le 02/04/2010 à 17:38
Lepetitwindows56
J'ai ce message d'erreur : Parse error: syntax error, unexpected ')' in /mnt/162/free.fr/0/f/expomatique/espace_membre/inscription.php on line 5.

Avec ce que tu m'a dit, ça donne ça le code de la page :
<?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['email']) && !empty($_POST['email']))) { !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// 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 ('serveur', 'login', 'password');
mysql_select_db ('nom_base', $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) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'", "'.mysql_escape_string($_POST['email']).'")';
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.';
}
}
?>
<html>
<head>
<title>Inscription</title>
</head>

<body>
Inscription à l'espace membre :<br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if
E-mail: <input type="text" name="email" value="Indiquez votre email" />
(isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>
Lepetitwindows 56 - http://www.expomatique.net/
LA GLOBULE
le 02/04/2010 à 17:48
LA GLOBULE
La situation est désespérée, tu n'arrives même pas à faire un copier coller.

Arrête le PHP, vraiment...

Devant autant de mauvaise volonté, j'en viens à la conclusion que tu te moques de nous.
Lepetitwindows56
le 02/04/2010 à 17:57
Lepetitwindows56
J'ai corrigé ma faute mais maintenant j'ai ce message :

Parse error: syntax error, unexpected T_STRING, expecting '(' in /mnt/162/free.fr/0/f/expomatique/espace_membre/inscription.php on line 47
Lepetitwindows 56 - http://www.expomatique.net/
moogli
le 02/04/2010 à 18:09
moogli
Il te manque une ( ligne 47

je rejoindrais la globule sur le sujet dexka volonté tu ne cherche mêle pas. Vu le thème d' ton site j'espère que tu est plus qualifié pour le reste.

Ps : sans en être sug je pense que le logo Windows que tu utilise est sous licence ......

@+
Il en faut peu pour être heureux !!!!!
LA GLOBULE
le 02/04/2010 à 18:14
LA GLOBULE
Mais tu as lu ton code ligne 47 ???? smiley

Tu ne vois ce qui bug ? Tu colles dans un value html un autre bouton avec un prime un if en php tombé du ciel qui ne check rien vu qu'il mélange html et php.
Lepetitwindows56
le 02/04/2010 à 18:15
Lepetitwindows56
A la ligne 47, j'ai ça :
E-mail: <input type="text" name="email" value="Indiquez votre email" />
Lepetitwindows 56 - http://www.expomatique.net/
Répondre
LoadingChargement en cours