> Tous les forums > Forum Forum des Webmasters
 Formulaire d'inscription avec confirmation mail
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
FSDownload
  Posté le 17/12/2006 @ 14:40 
Aller en bas de la page 
Nouvel astucien

Bonjour tout le monde. Tout d'abord, étant nouveau, je vais faire une courte présentation.

Je m'appelle Ugo Cabrol, j'ai 13 ans, et je suis à fond sur l'informatique. Je suis Webmaster d'un site: FSDownload (gratuit). Je dois un peu le mettre à jour, et je rencontre un problème avec un Formulaire d'inscription. Vous pouvez allé voir ce fameux formulaire ici: http://fsdownload.ifrance.com/pdf_inscription.php (Le site est loiiiiiiin d'être finit, c'est pour ça qu'aucune page n'a de texte). L'inscription marche super bien, jusqu'au moment du mail de confirmation. Après avoir remplit le formulaire, on a le message de bienvenue et tout le tra la la, mais on ne reçoit pas le mail de confirmation. D'où cela peut-il venir ?

J'ai ça comme script:

Confirm.php:
<?
require("conf.php3");

$sql = connect_sql();

$search = 'SELECT COUNT(*) as nb FROM pdf_membre WHERE pseudo = "'.addslashes($_GET['login']).'" AND confirm = "'.addslashes($_GET['confirm']).'"';
$req = mysql_query($search) or die(mysql_error());
$data = mysql_fetch_array($req);

if($data['nb'] == 1)
{
$login = $_GET['login'];
mysql_query("UPDATE pdf_membre SET `confirm`='' WHERE `pseudo` ='$login'") or die('erreur : '.mysql_error());

echo '<p>Votre compte à bien été créé.</p>';
echo '<p>Pour retournez à la page d\'accueil cliquez <a href="' .$http://fsdownload.ifrance.com/. '">ici</a>.</p>';
}
else
{
echo '<p>Un problème est survenu, il est possible que vous n\'êtes pas inscrit ou que l\'adresse est fausse ou que vous êtes déjà validé !.</p>';
}
mysql_close($sql);
?>




pdf_inscription.php:
<html><body><form name="form1" method="post" action="pdf_inscription2.php">
Pseudo:<br>
<input type="text" name="pseudo"><br>
Mot de Passe:<br>
<input name="mdp" type="password" id="mdp"><br>
Retapez votre mot de passe:<br>
<input name="verif_mdp" type="password" id="verif_mdp"><br>
Votre E-Mail:<br>
<input name="mail" type="text" id="mail"><br>
Nom:<br>
<input name="nom" type="text" id="nom"><br>
Prenom:<br>
<input name="prenom" type="text" id="prenom"><br>
Site Web:<br>
<input name="website" type="text" id="website"><br>
Pays:<br>
<input name="pays" type="text" id="pays"><br>
Date de Naissance (jj/mm/aa):<br>
<input name="born" type="text" id="born"><br>
<input type="submit" name="Submit" value="Inscription">
</form>
</boby></html>




pdf_inscription2.php:
<?php
session_start();
require("conf.php3");

$mail = htmlentities($_POST['mail']);

if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail))
{
$chaine = "abcdefghijklmnopqrstuvwxyz0123456789";
$confirm = str_shuffle($chaine);

$pseudo = htmlentities($_POST['pseudo']);
$mdp = htmlentities($_POST['mdp']);
$verif_mdp = htmlentities($_POST['verif_mdp']);
$nom = htmlentities($_POST['nom']);
$prenom = htmlentities($_POST['prenom']);
$website = htmlentities($_POST['website']);
$pays = htmlentities($_POST['pays']);
$born = htmlentities($_POST['born']);


$message1 = '<html><body>Bonjour ' . $pseudo . ' et bienvenue sur ' .$FSDownload. '.</br>';
$message1 .= '</br>';
$message1 .= 'Vous venez de vous inscrire et nous sommes heureux<br>de pouvoir vous compter aujourd\'hui parmi nos membres.<br>';
$message1 .= 'Voici un rappel de vos identifiants, notez les précieusement : <br>';
$message1 .= 'Votre Pseudo :' . $pseudo .'.<br>';
$message1 .= 'Votre Mot de passe:' . $mdp .'.<br><br>';
$message1 .= 'Votre Mail:' . $mail .'.<br><br>';
$message1 .= 'Votre Nom:' . $nom .'.<br><br>';
$message1 .= 'Votre Prenom:' . $prenom .'.<br><br>';
$message1 .= 'Votre Pays:' . $pays .'.<br><br>';
$message1 .= 'Votre Site Web' . $website .'.<br><br>';
$message1 .= 'Votre Date de naissance:' . $born .'.<br><br>';
$message1 .= 'Si vous souhaitez changer vos informations, rendez-vous dans votre compte pour les mettre à jour.<br>';
$message1 .= 'Votre Clé d\'activation:<br>';
$message1 .= '' .$url_script. '/confirm.php?login=' . str_replace(' ','%20',$pseudo) . '&confirm=' . $confirm . '<br><br>';
$message1 .= 'A très bientôt sur le site!<br>L\'équipe de ' .$nom_site. '.<br><a href="' .$http://fsdownload.ifrance.com/. '">' .$FSDownload. '</a>';

$sql = connect_sql();

$verification = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE pseudo='$pseudo' OR mail='$mail'") or die (mysql_error());
$donnees = mysql_fetch_array($verification)or die (mysql_error());

if($donnees['COUNT(*)'] >= 1) //On verifie que le pseudo n'existe pas déjà
{
$reponse = 'Le pseudo ou l\'email est déjà utilisé, merci d\'en choisir un(e) autre. <a href="javascript:history.back(1)">Retour au formulaire</a>';
}
else
{
if( empty($pseudo) || empty($mdp) || empty($verif_mdp) || empty($mail) || empty($nom) || empty($prenom) || empty($born)) //On verifie que les variables précédentes ne soient pas vide
{
$reponse = 'Un ou plusieurs champs ne sont pas remplis, <a href="javascript:history.back(1)">Retour au formulaire</a>';
}
elseif( $mdp != $verif_mdp)
{
$reponse = 'Les mots de passe ne sont pas identiques, <a href="javascript:history.back(1)">Retour au formulaire</a>';
}
else //Si tout est bon on entre les données dans la BDD et on envoye le mail
{
mysql_query("INSERT INTO pdf_membre VALUES ('','$pseudo', '$mdp', '$mail', '$confirm', '$nom', '$prenom', '$pays', '$born', '$website')");
$reponse = 'Bravo, vous êtes maintenant inscrit sur ' .$nom_site. '. <br>Vous allez recevoir un e-mail pour activer votre compte. <br><a href="' .$url_site. '">Retour à l\'Accueil</a>';
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$entete .= "From: <$email_admin>\r\n";
$entete .= "Reply-To: $email_admin\r\n";
mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login .'.' , $message1, $entete);
}
}

mysql_close($sql); //On se deconnecte
}
else
{
$reponse = 'Votre adresse e-mail "' . $mail . '" n\'est pas correcte. <a href="javascript:history.back(1)">Retour au formulaire</a>';
}




?>

<html>
<body>
<? echo $reponse; ?> <!-- On affiche la reponse de tout le code du dessus -->
</body>
</html>




Merci de votre aide

Ugo

Publicité
Malcolm
 Posté le 17/12/2006 à 15:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Hello,

c'est bien d'être à fond dedans, mais il faut regarder la sécurité aussi ... Tu fais des injections SQL et ça peut être assez dangereux.

un peu de lecture : danger de l'injection SQL

ensuite, est-ce que la fonction mail( marche bien ?

tu ne lui demandes rien en retour s'il y a eu erreur ...

remplace :

mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login .'.' , $message1, $entete);

par :

if(mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login .'.' , $message1, $entete))

{ echo "mail parti"; }

else

{ echo "erreur mail"; }

ainsi tu verras si la fonction mail s'effectue correctement ou non.

FSDownload
 Posté le 17/12/2006 à 18:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Merci de ta réponse. J'essaye ça, je vais voir

Ugo

FSDownload
 Posté le 17/12/2006 à 18:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Bah, non... Ca marche pas

Parse error: syntax error, unexpected ':' in /www/sites/1/ifrance.com/f/s/fsdownload/site/pdf_inscription2.php on line 73

Voila le message que ça me met maintenant...

Que faire ?

Amicalement, Ugo

Malcolm
 Posté le 17/12/2006 à 19:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

t'as du virer qqch en trop ...
FSDownload
 Posté le 17/12/2006 à 20:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Re-Salut ! J'ai réussi à réparer ce problème, mais, le problème du mail persiste. J'ai trouvé un message m'indiquant une erreur à la ligne 53 du confirm.php

Je vois pas ce qui y cloche !

Astuce ?

Amicalement, Ugo

Malcolm
 Posté le 18/12/2006 à 17:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

je ne serais pas surpris que cette ligne soit en cause :

echo '<p>Pour retournez à la page d\'accueil cliquez <a href="' .$http://fsdownload.ifrance.com/. '">ici</a>.</p>';

les // de l'url faisant office de commentaire en php ...

à remplacer par :

echo '<p>Pour retournez à la page d\'accueil cliquez <a href="http://fsdownload.ifrance.com/">ici</a>.</p>';

(s'il s'agit bien de ça,car dans le fichier que tu indiques, il n'y a pas 53 lignes)

FSDownload
 Posté le 18/12/2006 à 17:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Bonjour. Merci de ta réponse. Je me suis trompé, c'est à la ligne 53 du pdf_inscription2.php

Je cherche encore et toujours :

Amicalement Ugo

Malcolm
 Posté le 18/12/2006 à 18:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

ma remarque est pareille pour cette ligne :

$message1 .= 'A très bientôt sur le site!<br>L\'équipe de ' .$nom_site. '.<br><a href="' .$http://fsdownload.ifrance.com/. '">' .$FSDownload. '</a>';

à remplacer par :

$message1 .= 'A très bientôt sur le site!<br>L\'équipe de ' .$nom_site. '.<br><a href="http://fsdownload.ifrance.com/">' .$FSDownload. '</a>';

autrement tes accolades ont l'air justes...

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Pas de mail recu avec formulaire html et php
Formulaire inscription -> mail + contenu
Help Malcom : formulaire mail php avec copie caché
formulaire avec adresse mail à saisir
problème formulaire par mail avec FREE
formulaire mail avec plusieurs contacts
Site de mariage - Formulaire d'inscription
Formulaire qui ne fonctionne pas avec Joomla
Envoi checkbox par mail dans formulaire php
Utilité d'un captcha avec un formulaire
Plus de sujets relatifs à Formulaire d''inscription avec confirmation mail
 > Tous les forums > Forum Forum des Webmasters