Aller au contenu

Comment ouvrir 1 popup sur condition non remplie


Sujets conseillés

Posté

Bonjour à tous,

N'ayant pas résolu mon problème de controle de champs et de retour sur le formulaire pré-rempli, j'aimerai afficher les éventuels messages d'erreur de saisie dans une popup (qui se ferme toute seule si on clique en dehors), sans toucher au formulaire qui reste en arrière plan.

J'essaye ca :

if($_POST["pseudo"]==""){ include 'entete.php3'; echo "<onload =\"java script:window.open('erreur.htm','toolbar=0,location=0,directories=0,status=0,scrollbars=1,resizable=0,copyhis

ory=0,menuBar=0,width=320,height=345, left=300, top=200')\"; return(false)>"; exit;}

Mais ca ne marche pas, ca ne provoque par d'erreur mais la popup de s'ouvre pas :angry:

Auriez-vous des idées, est-ce un problème de syntaxe, faut-il que j'ajoute qq chose dans le body ?

Merci pour votre aide.

PierreR

Posté

Bonjour,

Le "onload s'applique à la balise <body> et ne peut pas être utilisé de cette manière ;)

Tu devrais à mon avis utiliser un <script ...> avec dans celui-ci un appel à window.open()

Dan

Posté

Merci Dan

Mais de quelle manière je peux faire ?

Mon onload est dans l'include du fichier 'entete.php3', quelle est la syntaxe que je dois utiliser ?

Dans le "echo", comment j'appelle le window.open ?

Je suis débutant en php, merci de votre indulgence !

PierreR

Posté

Bonjour,

Le JavaScript n'est pas vraiment ma tasse de thé, mais je ferais à peu-près comme ceci :

<?php
($_POST["pseudo"]==""){
print <<< EOF
<script type="text/javascript">
window.open("URL","nom_de_la_fenetre","options_de_la_fenetre");
</script>
EOF;
}
?>

A toi de mettre les paramètres qui vont bien pour la fenêtre que tu ouvres.

As-tu regardé la fonction JavaScript alert() ? Elle permet d'afficher une fenêtre de message qui serait peut-être suffisante dans ton cas.

Posté

Ouah !!!

Super génial, merci ! :hourra:

Je vais essayer d'intégrer tout ca tout de suite, en espérant y arriver tout seul :whistling:

Merci encore

a+

PierreR

Posté

Tu as juste à remplacer ton fichier actuel par le miens et rajouter la page confirmation.php

Attention : j'ai mis ajout.php et non ajout.php3 :)

Portekoi

PS : Tu me paieras un resto :P

Posté

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 :


<?
//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 :



<?
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

Posté

Rajoute ceci

// Tu fais ton traitement dans la base de données ici

require("passe/conf.php3");

// CONNEXION A LA BASE DE DONNEE

$db_link=connect_db();

Et ca devrait le faire :)

Posté

J'ai ajouté les ligne require... mais j'ai une erreur :

Parse error: parse error, unexpected T_DEFAULT in /home/monjardi/www/futursite/protec/ajout.php on line 177


<?

//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

require("passe/conf.php3");
// CONNEXION A LA BASE DE DONNEE
$db_link=connect_db();

// 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>


<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>

<?
include 'footerInscription.php3';
break;

}
?>

Posté

Essaie de chercher un peu quand même,je ne peux pas tout te faire.

Quand tu as une ligne en erreur, mets la en commentaire et ainsi de suite.

Le break; default; doit se trouver dans un switch, hors, tu n'en as pas.

Tu dois donc supprimer ces 2 lignes mais le php n'est pas un puzzle.

Il faut que tu comprennes un minimum sinon, tu n'y arriveras jamais :)

http://www.phpdebutant.org

Portekoi

Posté

Excuse-moi, mais j'ai essayé plein de choses avant de poser cette nouvelle question, et j'ai renvoyé ma page au moins 200 fois en décortiquant ma page d'origine et de comparer avec la tienne pour essayer de comprendre...

Quand j'enlève les lignes break; et default, c'est en ligne 342 qu'il me fait une erreur, et la aussi, quand j'enlève ce break : erreur, quand j'enleve l'include, erreur sur la dernière ligne (vide)... Mais je vais encore essayer.

J'ai effectivement une tendance à prendre le php pour un puzzle, mais c'est manifestement pas la bonne approche...

Merci encore.

PierreR

Posté

PierreR,

Merci d'utiliser la balise CODEBOX dès que le code fait plus d'une dizaine de lignes.

Cela évite des pages indigestes pour ceux qui ne veulent pas parcourir le code ;)

Dan

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...