|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Jeu Sep 28, 2006 14:38 Sujet du message: Petit soucis PHP |
|
|
Bonjour,
j'ai une page index.php avec un formulaire les données de ce formulaire son récupérées dans une seconde page index2.php dans cette meme page il y à un include de la page procedure.php
je vais vous exposer mon code ça sera plus simple :
| Code: |
<?php
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
mysql_select_db('test',$db) or die('Erreur de selection '.mysql_error());
if(isset($_POST['magasin'])) $magasin=$_POST['magasin'];
else $magasin="";
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
if(isset($_POST['teldom'])) $teldom=$_POST['teldom'];
else $teldom="";
if(isset($_POST['telmob'])) $telmob=$_POST['telmob'];
else $telmob="";
if(isset($_POST['mdp'])) $mdp=$_POST['mdp'];
else $mdp="";
if(isset($_POST['horraires'])) $horraires=$_POST['horraires'];
else $horraires="";
if(isset($_POST['dat'])) $dat=$_POST['dat'];
else $dat="";
if(isset($_POST['fonction'])) $fonction=$_POST['fonction'];
else $fonction="";
if(isset($_POST['rempl'])) $rempl=$_POST['rempl'];
else $rempl="";
if(isset($_POST['login'])) $login=$_POST['login'];
else $login="";
if(isset($_POST['mdpsup'])) $mdpsup=$_POST['mdpsup'];
else $mdpsup="";
if(empty($magasin) OR empty($nom) OR empty($prenom) OR empty($fonction) OR empty($teldom) OR empty ($telmob) OR empty ($mdp) OR empty ($horraires) OR empty ($dat) OR empty ($rempl) OR empty ($login) OR empty ($mdpsup))
{
echo '<center><font color="red" size ="14">Merci de renseigner tous les champs!<br><a href="javascript:history.go(-1)">Retour au formulaire</a></font></center>';
}
$sql= "SELECT * from superviseurs WHERE login='$login'AND mdpsup='$mdpsup'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if ($data['mdpsup'] != $mdpsup) {
echo '<center><font color="red" size ="14">Mauvais Login ou Mot de Passe<br><a href="javascript:history.go(-1)">Retour au formulaire</a></font></center>';
}
else{
$mail = new MyMailer;
// configuration pour le mail
$mail->IsHTML(true);
$mail->AddAddress("moadresse@mail.com", "toto");
$mail->Subject = "le sujet";
$mail->Body = "le corps du message";
}
if(!$mail->Send()){
echo '<br><br><br><center><font color="white" size ="14">Erreur envoi</font></center>';
}
else{
include ('procedure.php');
}
?> |
voila mon soucis c'est que même lorsque le login ou le mot de passe est érronné il m'affiche la page procedure.php et m'envoi un mail.
Ce que je cherche à faire c'est faire en sorte qu'il n'envoi pas de mail et n'affiche pas la page procedure.php tant que l'identification n'a pas eu lieu.
pouvez vous m'aider? |
|
| |
|
 |
e-kiwi Modérateur

Inscrit le: 23 Déc 2003 Messages: 12630 Localisation: Toulouse
|
Posté le : Jeu Sep 28, 2006 14:55 Sujet du message: Petit soucis PHP |
|
|
et si tu met :
---------------------------------------
if(!$mail->Send()){
echo '<br><br><br><center><font color="white" size ="14">Erreur envoi</font></center>';
}
else{
include ('procedure.php');
}
---------------------------------------
avant le '}' de ton else ? |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Jeu Sep 28, 2006 14:57 Sujet du message: Petit soucis PHP |
|
|
| ou exactement de quel else tu parles? |
|
| |
|
 |
sureau WRInaute occasionnel

Inscrit le: 07 Mar 2005 Messages: 191 Localisation: annecy
|
Posté le : Jeu Sep 28, 2006 15:01 Sujet du message: Petit soucis PHP |
|
|
| Code: |
<?php
if(empty($magasin) OR empty($nom) OR empty($prenom) OR empty($fonction) OR empty($teldom) OR empty ($telmob) OR empty ($mdp) OR empty ($horraires) OR empty ($dat) OR empty ($rempl) OR empty ($login) OR empty ($mdpsup))
{
echo '<center><font color="red" size ="14">Merci de renseigner tous les champs!<br><a href="javascript:history.go(-1)">Retour au formulaire</a></font></center>';
}
$sql= "SELECT * from superviseurs WHERE login='$login' AND mdpsup='$mdpsup'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
if(mysql_num_rows($req)<1){
echo '<center><font color="red" size ="14">Mauvais Login ou Mot de Passe<br><a href="javascript:history.go(-1)">Retour au formulaire</a></font></center>';
}else{
$mail = new MyMailer;
// configuration pour le mail
$mail->IsHTML(true);
$mail->AddAddress("moadresse@mail.com", "toto");
$mail->Subject = "le sujet";
$mail->Body = "le corps du message";
if(!$mail->Send()){
echo '<br><br><br><center><font color="white" size ="14">Erreur envoi</font></center>';
}else{
include ('procedure.php');
}
}
?> |
un mauvais placemeent de tes conditions à la fin (le test si le mail a bien été envoyé ne se fait que si la personne s'est authentifié |
|
| |
|
 |
retza Nouveau WRInaute
Inscrit le: 16 Fév 2005 Messages: 47
|
Posté le : Jeu Sep 28, 2006 15:05 Sujet du message: Petit soucis PHP |
|
|
Bonjour,
Si je me trompe pas, la ligne :
$sql= "SELECT * from superviseurs WHERE login='$login'AND mdpsup='$mdpsup'";
te permets de vérifier si tu as une correspondance Nom/Pass
Donc, si tu as 0 réponse, on retourne à la page d'authentification :
if (mysql_num_rows($req)==0)
{ On retourne à la page de login }
else
{ On envoi le mail et on affiche procedure.php }
J'espere t'avoir aidé
A+ |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Jeu Sep 28, 2006 15:05 Sujet du message: Petit soucis PHP |
|
|
| Super merci beaucoup sureau je galèrais depuis pas mal de temps |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Jeu Sep 28, 2006 15:09 Sujet du message: Petit soucis PHP |
|
|
| un autre soucis se pose l'identification à lieu mais le formulaire n'est pas rempli la page procédure s'affiche quand même et le mail s'envoie également |
|
| |
|
 |
sureau WRInaute occasionnel

Inscrit le: 07 Mar 2005 Messages: 191 Localisation: annecy
|
Posté le : Jeu Sep 28, 2006 16:00 Sujet du message: Petit soucis PHP |
|
|
| Code: |
<?php
if(empty($magasin) OR empty($nom) OR empty($prenom) OR empty($fonction) OR empty($teldom) OR empty ($telmob) OR empty ($mdp) OR empty ($horraires) OR empty ($dat) OR empty ($rempl) OR empty ($login) OR empty ($mdpsup))
{
echo '<center><font color="red" size ="14">Merci de renseigner tous les champs!<br><a href="javascript:history.go(-1)">Retour au formulaire</a></font></center>';
}else{
$sql= "SELECT * from superviseurs WHERE login='$login' AND mdpsup='$mdpsup'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
if(mysql_num_rows($req)<1){
echo '<center><font color="red" size ="14">Mauvais Login ou Mot de Passe<br><a href="javascript:history.go(-1)">Retour au formulaire</a></font></center>';
}else{
$mail = new MyMailer;
// configuration pour le mail
$mail->IsHTML(true);
$mail->AddAddress("moadresse@mail.com", "toto");
$mail->Subject = "le sujet";
$mail->Body = "le corps du message";
if(!$mail->Send()){
echo '<br><br><br><center><font color="white" size ="14">Erreur envoi</font></center>';
}else{
include ('procedure.php');
}
}
}
?> |
juste un else si les champs sont bien remplis |
|
| |
|
 |
rog WRInaute accro

Inscrit le: 21 Sep 2006 Messages: 1662 Localisation: sapucaia do sul (RS)
|
Posté le : Jeu Sep 28, 2006 16:03 Sujet du message: Petit soucis PHP |
|
|
en fait la structure n'est pas génial
faut faire des fonctions qui renvoient true/false
rog |
|
| |
|
 |
webac WRInaute impliqué

Inscrit le: 04 Mar 2005 Messages: 322 Localisation: Ile de France
|
Posté le : Jeu Sep 28, 2006 16:39 Sujet du message: Petit soucis PHP |
|
|
| ça fonctionne à merveille merci beaucoup |
|
| |
|
 |
rog WRInaute accro

Inscrit le: 21 Sep 2006 Messages: 1662 Localisation: sapucaia do sul (RS)
|
Posté le : Jeu Sep 28, 2006 17:28 Sujet du message: Petit soucis PHP |
|
|
arf
non seulement t'as pas lu ce que je t'ai dit mais en plus t'as codé à ON
rog
en plus faut savoir que les globales sont directement accessibles par les fonctions |
|
| |
|
 |
sureau WRInaute occasionnel

Inscrit le: 07 Mar 2005 Messages: 191 Localisation: annecy
|
Posté le : Ven Sep 29, 2006 8:20 Sujet du message: Petit soucis PHP |
|
|
| Tu ne vas pas en faire une fonction si il n'est appelé qu'une seule fois sur le site. |
|
| |
|
 |
rog WRInaute accro

Inscrit le: 21 Sep 2006 Messages: 1662 Localisation: sapucaia do sul (RS)
|
Posté le : Ven Sep 29, 2006 8:40 Sujet du message: Petit soucis PHP |
|
|
ce n'est pas seulement pour le nombre de fois appelées mais surtout pour la clareté du code ainsi que pour son évolution
sur un code long, ça permet aussi de ne pas par des variables temporaires surcharger puisque celles produites par les fonctions sont (en théorie) détruites après les executions de fonctions
rog |
|
| |
|
 |
| |
|
|