le 31/01/2010 à 15:30
affichage des allertes utilisateur
Bonjour, en inspirant du cours et de la rubrique comment faire, j'ai créé un formulaire pour lesquels subsistent 2 bugs auquel je ne trouve aucune solution.
En premier lieu la fonction de vérification de la présence ou non du Login dans ma base ne se fait pas et donc la réinscription dans la base de données est systématique
et en deuxième lieu le message d'erreur liée à un mauvais remplissage du formulaire débouche sur des pages blanches (pour info le formulaire se trouve dans une ifarme d'une autre page de mon site)
Merci par avance pour vos lumières
cedcyr
Le code de mon formulaire
mon scritp php
En premier lieu la fonction de vérification de la présence ou non du Login dans ma base ne se fait pas et donc la réinscription dans la base de données est systématique
et en deuxième lieu le message d'erreur liée à un mauvais remplissage du formulaire débouche sur des pages blanches (pour info le formulaire se trouve dans une ifarme d'une autre page de mon site)
Merci par avance pour vos lumières
cedcyr
Le code de mon formulaire
<html>
<head>
<title>Ma page de test</title>
</head>
<body >
<form action="test2.php" method="post" name="form1">
<h4>Votre nom : <input type = "text" name = "nom" size ="30"/><br/>
<br/>
Votre prénon : <input type = "text" name = "prenom" size ="30"/> <br/>
<br/>
Votre adresse mail : <input type = "text" name = "mail" size ="30"/> <br/>
<br/>
Votre identifiant : <input type = "text" name = "identifiant"size ="30"value="<?php if (isset($_POST['identifiant'])) echo htmlentities(trim($_POST['identifiant'])); ?>"/> <br/>
<br/>
Votre mot de passe : <input type = "password" name = "pass" size ="30"value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"/> <br/>
<br/>
Confirmer votre mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"/> <br/>
<br/>
Votre département : <input type = "text" name = "departement" size ="30"/> <br/>
<br/>
Votre statut : <select name="statut" id="statut"><option selected="selected"></option>
<option value="particulier">Particulier</option>
<option value="professionel">Professionel</option></select> <br /></h4>
<br/>
<input type = "submit" name="inscription" value = "inscription"/>
<input type= "reset" value ="effacer" /><br/>
<br/>
<br/>
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>
mon scritp php
<?php
class SendMail {
var $destinataire;
var $objet;
var $texte;
var $from;
function envoyer() {
mail ($this->destinataire, $this->objet, $this->texte,$this->from);
}
}
$hote = 'localhost';
$user = '******';
$pass = '*******';
if (isset($_POST['inscription']) && $_POST['inscription'] == 'inscription') {
if ((isset($_POST['nom']) && !empty($_POST['nom']))
&& (isset($_POST['prenom']) && !empty($_POST['prenom']))
&& (isset($_POST['mail']) && !empty($_POST['mail']))
&& (isset($_POST['identifiant']) && !empty($_POST['identifiant']))
&& (isset($_POST['pass']) && !empty($_POST['pass']))
&& (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))
&& (isset($_POST['departement']) && !empty($_POST['departement']))
&& (isset($_POST['statut']) && !empty($_POST['statut'])))
{
if($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.'; }
else {$base = mysql_connect($hote,$user,$pass);
mysql_select_db('attelage_accesattelage',$base);
$mysql = 'SELECT count(*) FROM inscription WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($mysql) or die('Erreur SQL !<br />'.$mysql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0){
$mysql = 'INSERT INTO inscription VALUES("",
"'.mysql_escape_string($_POST['nom']).'",
"'.mysql_escape_string($_POST['prenom']).'",
"'.mysql_escape_string($_POST['mail']).'",
"'.mysql_escape_string($_POST['identifiant']).'",
"'.mysql_escape_string(md5($_POST['pass'])).'",
"'.mysql_escape_string($_POST['departement']).'",
"'.mysql_escape_string($_POST['statut']).'")';
mysql_query ($mysql) or die ('Erreur SQL !'.$mysql.'<br />'.mysql_error());
$message = new SendMail ();
$message->from = "FROM:inscription@attelage-astuce.com";
$message->destinataire = $_POST['mail'];
$message->objet = "votre inscription sur attelage-astuce.com";
$message->texte = "bonjour";
$message->texte = "bienvenu sur http://www.attelage-astuce.com \nvous pouvez maintenant acceder aux notices de montage
\n \n votre identifiant est : ".$_POST['identifiant']." \n et votre mot de passe est : ".$_POST['pass']."
\n merci de ne pas repondre a ce mail, celui-ci vous a ete adresse automatiquement\n\n cordialement le webmaster.";
$message->envoyer();
$message = new SendMail ();
$message->from = "FROM:".$_POST['mail']."";
$message->destinataire = "webmaster@attelage-astuce.com";
$message->objet = "nouvelle inscription attelage-astuce.com";
$message->texte = "adresse mail : ".$_POST['mail']." \n\n identifiant : ".$_POST['identifiant']."
\n\n mot de passe : ".$_POST['pass'].".";
$message->envoyer();
session_start();
$_SESSION['login'] == $_POST['identifiant'];
header('Location: http://www.attelage-astuce.com');
exit();
}
else {
$erreur = 'identifiant déja utillisé, veulliez en changer.'; }
}
}
else {
$erreur = 'merci de remplire le formulaire correctement!';
}
}
?>