Portekoi,
J'ai donc remplacé ton fichier à la place du mien tel quel, et j'ai ajouté le fichier confirmation.php au même niveau.
Les controles du formulaire fonctionnent très bien et on arrive bien sur confirmation.php, c'est super !
Maintenant, j'ai essayé d'ajouter les traitement sur la base là ou tu me l'indiques ( // Tu fais ton traitement dans la base de données ici) mais là ca n'enregistre rien dans la base et ca redirige toujours sur confirmation.php alors que j'ai modifié la destination par ça : header("Location: $var_url");
Voila ci-dessous, ce que cela donne, ( en ligne ici
http://www.monjardinenligne.com/futursite/protec/ajout.php )
et en dessous, mon fichier d'origine :
CODE
<?
//Fonction de parano
function secu_variable($variable)
{
$variable = strip_tags($variable);
$variable = addslashes($variable);
$variable = trim($variable);
$variable = str_replace("select","",$variable);
$variable = str_replace("insert","",$variable);
$variable = str_replace("update","",$variable);
$variable = str_replace("delete","",$variable);
$variable = str_replace("union","",$variable);
$variable = str_replace("=","",$variable);
return $variable;
}
//Le traitement ce fait ici
//on récupère les variables
$pseudo = secu_variable($_POST["pseudo"]);
$passe = secu_variable($_POST["passe"]);
$passe2 = secu_variable($_POST["passe2"]);
$url = secu_variable($_POST["url"]);
$pays = secu_variable($_POST["pays"]);
$email = secu_variable($_POST["email"]);
$action = secu_variable($_POST["action"]);
//On fait notre traitement si action = add
if ($action == "add")
{
//On vérifie que les variables ne soient pas vides
if ($pseudo == "")
{
//si c'est le cas, on le note
$erreur = $erreur . "pseudo_";
}
if ($passe == "")
{
//si c'est le cas, on le note
$erreur = $erreur . "passe_";
}
if ($passe2 == "")
{
//si c'est le cas, on le note
$erreur = $erreur . "passe2_";
}
if ($email == "")
{
//si c'est le cas, on le note
$erreur = $erreur . "email_";
}
//On vérifie que la personne a bien saisie les meme mdp
if ($passe != $passe2)
{
//si c'est le cas, on le note
$erreur = $erreur . "diff_";
}
//Si erreur = "", c'est que tout c'est bien passé
if ($erreur == "")
{
// Tu fais ton traitement dans la base de données ici
// ON VERIFIE SI CE PSEUDO EXISTE DEJA
$requete=mysql_db_query($sql_bdd,"select * from membre where pseudo=\"$pseudo\"",$db_link);
$num=mysql_num_rows($requete);
if($num!=0)
{
include 'enteteInscription.php3';
echo "<center><br><br>Ce pseudo existe déjà, Il faut en choisir un autre<br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br></center>";
include 'footerInscription.php3';
exit;
}
else
{
// CREATION D'UN IDENTIFIANT ALEATOIRE
$taille = 40;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$id2.=substr($lettres,(rand()%(strlen($lettres))),1);
}
// ON RECHERCHE L'ID MAXIMUM DE LA TABLE
$requete=mysql_db_query($sql_bdd,"select max(id_membre) as maxidmembre from membre",$db_link);
$row=mysql_fetch_assoc($requete);
$idmax=$row["maxidmembre"];
// INSERTION DANS LA TABLE
$idnew=$idmax+1;
$requete=mysql_db_query($sql_bdd,"insert into membre ( `id_membre` , `id` , `droits` , `date_inscription` , `pseudo` , `passe` , `url` , `destination` , `pays` , `remarques` , `email` , `heure_session`, `actif`)
values ($idnew,\"$id2\",\"0\", NOW(), \"$pseudo\",\"$passe\",\"$url\",\"$destination_prevue\",\"$pays\",\"\",\"$email\",NOW(), $comptes_actifs)",$db_link);
if($envoi_mail=="oui"){
mail($email, "Inscription sur $nom_site", "Bonjour $pseudo, \n\nVous vous êtes inscrit sur $nom_site afin d'obtenir un compte ! \n\nVotre pseudo : $pseudo \nVotre passe : $passe\n\nPour vous connecter : \n$chemin_formulaire \n\nMerci et à très bientôt !", "FROM: $votre_email");
}
if($comptes_actifs=="1")
{
// cookie
$expirer = 24*3600;
setcookie( "monpseudo", $pseudo, time() + $expirer, "/" );
setcookie( "monpays", $pays , time() + $expirer, "/" );
setcookie( "monemail", $email, time() + $expirer, "/" );
// SESSIONS
if($active_session=="1")
{
session_start();
$_SESSION["id"] = $id2;
$var_url="../$destination_prevue";
}else
{
$var_url="../$destination_prevue?id=$id2";
}
// REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE
header("Location: $var_url");
} // fin si comptes activés auto
else{
// envoi d'un mail a l'admin pour le prevenir qu un compte doit etre activé
mail($votre_email, "Demande de création d'un compte membre sur $nom_site", "Bonjour, \n\nUn membre vient de créér un compte, et comme par défaut, l'administrateur du site doit activer le compte afin qu'il soit opérationnel, nous vous adressons cet email pour vous prévenir et donc vous dire que vous devez l'activer.\n\nConnectez vous sur votre interface en tant qu'administrateur ($chemin_formulaire) puis modifiez le compte suivant afin de le rendre actif : \n\nID du membre : $idnew \nPseudo du membre : $pseudo \nPays du membre : $pays \nEmail du membre : $email \n\n@+ \n", "FROM: $votre_email");
include 'enteteInscription.php3';
?>
<html>
<head>
<title>Inscription</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="ROBOTS" CONTENT="follow,index,all">
<META HTTP-EQUIV="Content-Language" CONTENT="fr">
<META NAME="Description" CONTENT="monjardinenligne">
<META NAME="Keywords" CONTENT="Jardin, jardinier">
<META NAME="Author" CONTENT="">
<LINK REL=stylesheet TYPE="text/css" HREF="../styleContent.css">
</head>
<body bgcolor="#66AA99">
<table width="90%" border="0" cellspacing="2" cellpadding="10" align="center">
<tr>
<td width="100%" colspan="2" bgcolor="#FFFFFF" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td rowspan="2" width="77"><img src="../images/transatVisuelPetitOK3.jpg" width="77" height="49"></td>
<td rowspan="2" width="10"><img src="../images/vide.gif" width="10" height="10"></td>
<td>
<p class="titre"><b><i>MonJardinEnLigne.com</i></b>
</td>
<td align="right" nowrap rowspan="2" valign="top"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">
</font></b><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">
</font></b></td>
</tr>
<tr>
<td valign="top">
<p class="titre"><b><i>Bienvenue</i></b>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%" colspan="2" bgcolor="#FFFFFF" height="150">
</div>
<form action="ajout.php" method="post">
<B><BR>
Nouveau fichier de portekoi <BR><BR></B>
<table border="0" cellspacing="0" cellpadding="1" bgcolor="#669999" align="center">
<tr>
<td>
<table border="0" align="center" cellpadding="3" cellspacing="2" class="bordure2" bgcolor="#FFFFFF">
<tr align="center">
<td colspan="2" nowrap><b><font face="Verdana, Arial, Helvetica, sans-serif" size="3">Abonnez-vous gratuitement à MonJardinEnLigne.com</font></B><br>
<b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En remplissant le formulaire ci-dessous</font></b><br>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1">Les champs marqués d'une * sont requis</font><br><br></td>
</tr>
<tr>
<td colspan="2">
<?
if ($erreur)
{
//On transforme erreur en tableau
$erreur = split("_",$erreur);
for($i=0;$i<sizeof($erreur)-1;$i++)
{
echo "Erreur sur le champ ".$erreur[$i] . "<br>";
}
}
?>
</td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Chosissez un pseudo </font></strong></td>
<td width="50%" align="left"><font size="3">
<input name="pseudo" type="text" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$pseudo?>">
<strong>*</strong> </font></td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Chosissez un mot de passe </font></strong></td>
<td align="left"><font size="3">
<input name="passe" type="password" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$passe?>">
<strong>*</strong> </font></td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Confirmez le mot de passe </font></strong></td>
<td align="left"><font size="3">
<input name="passe2" type="password" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$passe2?>">
<strong>*</strong> </font></td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Adresse de site</font></strong></td>
<td align="left"><font size="3">
<input name="url" type="text" size="20" style="background-image: url(images/ombre_form.gif); border: 1 solid #000000" value="<?=$url?>">
</font></td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Pays </font></strong></td>
<td align="left"><font size="3">
<input name="pays" type="text" size="20" style="background-image: url(images/ombre_form.gif); border: 1 solid #000000" value="<?=$pays?>">
</font></td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">email </font></strong></td>
<td align="left"><font size="3">
<input name="email" type="text" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000" value="<?=$email?>">
<strong>*</strong> </font></td>
</tr>
<tr>
<td align="right"> </td>
<td align="center"> </td>
</tr>
<tr>
<td colspan="2" align="center"><font size="3">
<input type="hidden" name="action" value="add">
<input name="submit" type="submit" value="Envoyer">
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="button" value="Retour" onClick="history.go(-1)" name="button">
</font></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>
Et voici mon fichier d'origine :
CODE
<?
Error_Reporting(1);
_AT_set_magic_quotes_runtime(0);
switch($_POST['action']) {
/*-----------------------------------------------------------------*/
/* AJOUT DANS MySQL */
/*-----------------------------------------------------------------*/
case "add";
require("passe/conf.php3");
// CONNEXION A LA BASE DE DONNEE
$db_link=connect_db();
// TEST SUR LES VALEURS SAISIES
if($_POST["pseudo"]==""){ include 'enteteInscription.php3'; echo "<center><br><br>Il faut choisir un pseudo<br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br></center>"; include 'footerInscription.php3';exit;}
if($_POST["passe"]==""){ include 'enteteInscription.php3'; echo "<center><br><br>Il faut choisir un mot de passe<br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br></center>"; include 'footerInscription.php3';exit;}
if($_POST["email"]==""){ include 'enteteInscription.php3'; echo "<center><br><br>Il faut rentrer un email<br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br></center>"; include 'footerInscription.php3';exit;}
if($_POST["passe"]!=$_POST["passe2"]){ include 'enteteInscription.php3'; echo "<center><br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br>Vous avez mal confirmé le mot de passe<br><br></center>"; include 'footerInscription.php3';exit;}
$pseudo=addslashes($_POST["pseudo"]);
$passe=addslashes($_POST["passe"]);
$email=addslashes($_POST["email"]);
$url=addslashes($_POST["url"]);
$pays=addslashes($_POST["pays"]);
if(eregi("#", "$pseudo") || eregi("#", "$passe") || eregi("#", "$email") || eregi("#", "$url") || eregi("#", "$pays")){ include 'enteteInscription.php3';echo "<br><br>Les caracteres speciaux ne sont pas authorisés.<br><a href='java script:history.back(1)'><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br>";include 'footerInscription.php3';exit; }
// on verifie le mail
function EmailOK($email)
{
return( ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$',
$email) );
}
if(!EmailOK($email))
{
include 'enteteInscription.php3';
echo "<center><br><br>Votre adresse email est incorrect<br><br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></a><br></center>";
include 'footerInscription.php3';
exit;
}
// ON VERIFIE SI CE PSEUDO EXISTE DEJA
$requete=mysql_db_query($sql_bdd,"select * from membre where pseudo=\"$pseudo\"",$db_link);
$num=mysql_num_rows($requete);
if($num!=0)
{
include 'enteteInscription.php3';
echo "<center><br><br>Ce pseudo existe déjà, Il faut en choisir un autre<br><a href=\"java script:history.back(1)\"><br><font face=\"Verdana, Arial\" size=\"2\" color=\"#000000\">Retour</font></center></a><br></center>";
include 'footerInscription.php3';
exit;
}
else
{
// CREATION D'UN IDENTIFIANT ALEATOIRE
$taille = 40;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$id2.=substr($lettres,(rand()%(strlen($lettres))),1);
}
// ON RECHERCHE L'ID MAXIMUM DE LA TABLE
$requete=mysql_db_query($sql_bdd,"select max(id_membre) as maxidmembre from membre",$db_link);
$row=mysql_fetch_assoc($requete);
$idmax=$row["maxidmembre"];
// INSERTION DANS LA TABLE
$idnew=$idmax+1;
$requete=mysql_db_query($sql_bdd,"insert into membre ( `id_membre` , `id` , `droits` , `date_inscription` , `pseudo` , `passe` , `url` , `destination` , `pays` , `remarques` , `email` , `heure_session`, `actif`)
values ($idnew,\"$id2\",\"0\", NOW(), \"$pseudo\",\"$passe\",\"$url\",\"$destination_prevue\",\"$pays\",\"\",\"$email\",NOW(), $comptes_actifs)",$db_link);
if($envoi_mail=="oui"){
mail($email, "Inscription sur $nom_site", "Bonjour $pseudo, \n\nVous vous êtes inscrit sur $nom_site afin d'obtenir un compte ! \n\nVotre pseudo : $pseudo \nVotre passe : $passe\n\nPour vous connecter : \n$chemin_formulaire \n\nMerci et à très bientôt !", "FROM: $votre_email");
}
if($comptes_actifs=="1")
{
// cookie
$expirer = 24*3600;
setcookie( "monpseudo", $pseudo, time() + $expirer, "/" );
setcookie( "monpays", $pays , time() + $expirer, "/" );
setcookie( "monemail", $email, time() + $expirer, "/" );
// SESSIONS
if($active_session=="1")
{
session_start();
$_SESSION["id"] = $id2;
$var_url="../$destination_prevue";
}else
{
$var_url="../$destination_prevue?id=$id2";
}
// REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE
header("Location: $var_url");
} // fin si comptes activés auto
else{
// envoi d'un mail a l'admin pour le prevenir qu un compte doit etre activé
mail($votre_email, "Demande de création d'un compte membre sur $nom_site", "Bonjour, \n\nUn membre vient de créér un compte, et comme par défaut, l'administrateur du site doit activer le compte afin qu'il soit opérationnel, nous vous adressons cet email pour vous prévenir et donc vous dire que vous devez l'activer.\n\nConnectez vous sur votre interface en tant qu'administrateur ($chemin_formulaire) puis modifiez le compte suivant afin de le rendre actif : \n\nID du membre : $idnew \nPseudo du membre : $pseudo \nPays du membre : $pays \nEmail du membre : $email \n\n@+ \n", "FROM: $votre_email");
include 'enteteInscription.php3';
?>
<div align="center">
<table border="0" cellspacing="0" cellpadding="1" bgcolor="#669999" align="center">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="2" align="center" bgcolor="#FFFFFF">
<tr>
<td align="center"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>Votre compte a bien été créé</b></font></td>
</tr>
<tr>
<td>
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br>
Cependant, avant de pouvoir accéder à votre zone membre,<br>
l'administrateur de MonJardinEnLigne.com<br>
<strong> doit activer votre compte</strong>.<br>
Vous recevrez un email lorsque celui-ci sera activé...<br>
<br>
<a href="../login.htm">Retour accueil</a></font> </div>
<center>
</center>
</td>
</tr>
</table>
</td>
</tr>
</table>
<?
include 'finpage.php3';
exit;
}
}
// DECONNEXION MYSQL
close();
break;
default;
include 'enteteInscription.php3';
?>
</div>
<form action="" method="post">
<table border="0" cellspacing="0" cellpadding="1" bgcolor="#669999" align="center">
<tr>
<td>
<table border="0" align="center" cellpadding="3" cellspacing="2" class="bordure2" bgcolor="#FFFFFF">
<tr align="center">
<td colspan="2" nowrap><b><font face="Verdana, Arial, Helvetica, sans-serif" size="3">Abonnez-vous gratuitement à MonJardinEnLigne.com</font></B><br>
<b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En remplissant le formulaire ci-dessous</font></b><br>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1">Les champs marqués d'une * sont requis</font><br><br></td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Chosissez un pseudo </font></strong></td>
<td width="50%" align="left"><font size="3">
<input name="pseudo" type="text" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000">
<strong>*</strong> </font></td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Chosissez un mot de passe </font></strong></td>
<td align="left"><font size="3">
<input name="passe" type="password" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000">
<strong>*</strong> </font></td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Confirmez le mot de passe </font></strong></td>
<td align="left"><font size="3">
<input name="passe2" type="password" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000">
<strong>*</strong> </font></td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Adresse de site</font></strong></td>
<td align="left"><font size="3">
<input name="url" type="text" size="20" style="background-image: url(images/ombre_form.gif); border: 1 solid #000000">
</font></td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Pays </font></strong></td>
<td align="left"><font size="3">
<input name="pays" type="text" size="20" style="background-image: url(images/ombre_form.gif); border: 1 solid #000000">
</font></td>
</tr>
<tr>
<td align="right"><strong><font face="Verdana, Arial, Helvetica, sans-serif" size="2">email </font></strong></td>
<td align="left"><font size="3">
<input name="email" type="text" size="20" style="background-image: url(images/ombre_form2.gif); border: 1 solid #000000">
<strong>*</strong> </font></td>
</tr>
<tr>
<td align="right"> </td>
<td align="center"> </td>
</tr>
<tr>
<td colspan="2" align="center"><font size="3">
<input type="hidden" name="action" value="add">
<input name="submit" type="submit" value="Envoyer">
</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="button" value="Retour" onClick="history.go(-1)" name="button">
</font></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<?
include 'footerInscription.php3';
break;
}
?>
Merci infiniment pour ton aide
PierreR