> Tous les forums > 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 participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
48,99 €Kaspersky Total Security 2021 (5 postes, 2 ans) à 48,99 €
Valable jusqu'au 01 Mars

Amazon fait actuellement une promotion sur la version 2021 de la célèbre suite de sécurité Kaspersky. Le marchand propose ainsi Kaspersky Total Security 2021 à 48,99 € seulement au lieu de 89 €. Cette version peut être installée sur 5 appareils (PC, Mac ou Android) et bénéficie de 2 ans de mises à jour. Une fois votre commande passée, la clé d'activation vous est immédiatement envoyée par email, accompagnée du lien de téléchargement. Notez que si vous avez déjà un abonnement Kaspersky Total Security, vous pourrez utiliser la clé pour prolonger votre abonnement de 2 ans.


> Voir l'offre
34,24 €Webcam Aukey FullHD à 34,29 € (via coupon)
Valable jusqu'au 01 Mars

Amazon propose la webcam Webcam Aukey FullHD à 34,29 € livrée gratuitement grâce à un coupon de réduction à activer sur la page du produit. On la trouve habituellement autour de 45 €. Cette webcam offre une résolution FullHD 1080p pour une vidéo claire et nette et intègre deux microphones réduisant les bruits de fond. Elle est compatible Windows, Mac et Android. 


> Voir l'offre
26,99 €Carte mémoire microSDXC UHS-I SanDisk Ultra 200 Go à 26,99 €
Valable jusqu'au 02 Mars

Amazon fait une promotion sur la mémoire microSDHC UHS-I SanDisk Ultra 200 Go qui passe à 26,99 € livrée gratuitement. On la trouve ailleurs à partir de 40 €. Cette carte mémoire offre des vitesses jusqu'à 90 Mo/s.


> Voir l'offre

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