× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > 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 poster des messages. Cliquez ici pour vous identifier.

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


Les bons plans du moment PC Astuces

Tous les Bons Plans
29,81 €Carte mémoire MicroSDXC UHS-I U3 SanDisk Extreme Pro 128 Go (170 Mo/s) à 29,81 €
Valable jusqu'au 15 Juillet

Amazon fait une vente flash sur la carte mémoire MicroSDXC UHS-I U3 SanDisk Extreme Pro d'une capacité de 128 Go qui passe à 29,81 € livrée gratuitement alors qu'on trouve la carte ailleurs à partir de 50 €. Cette carte mémoire offre des vitesses jusqu'à 170 Mo/s en lecture et 90 Mo/s en écriture et intègre des mécanismes afin de gérer l'usure des cellules de la carte et augmenter ainsi sa durée de vie. Une valeur sûre pour les plus exigeants en FullHD et 4K.


> Voir l'offre
GratuitJeu PC The Escapists 2 gratuit
Valable jusqu'au 16 Juillet

Epic Game Store offre actuellement le jeu PC The Escapists 2. Risquez tout en vous échappant des pires prisons du monde. Explorez les plus grandes prisons jamais conçues ! Vous devrez respecter les règles de la prison, vous présenter à l'appel, travailler et suivre des routines strictes, tout en planifiant votre fuite en secret ! PEGI 7. Le jeu est en français.


> Voir l'offre
140,67 €Kit de 32 Go (2 x 16 Go) de mémoire DDR4 Corsair Vengeance LPX 3200 MHz à 140,67 € livré
Valable jusqu'au 18 Juillet

Amazon Allemagne fait une belle promotion sur le kit de 32 Go (2x16 Go) de mémoire DDR4 Corsair Vengeance LPX 3200 MHz CL16 qui passe à 136,03 € (avec la TVA ajustée). Comptez 4,64 € pour la livraison en France soit un total de 140,67 € livré. alors qu'on le trouve ailleurs à plus de 170 €.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> 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