Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

Petit soucis PHP

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
webac
WRInaute impliqué
WRInaute impliqué

Inscrit le: 04 Mar 2005
Messages: 322
Localisation: Ile de France

URL permanente de ce messagePosté 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?
 
webac Visiter le site web du posteur
e-kiwi
Modérateur
Modérateur

Inscrit le: 23 Déc 2003
Messages: 12630
Localisation: Toulouse

URL permanente de ce messagePosté 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 ?
 
e-kiwi Visiter le site web du posteur
webac
WRInaute impliqué
WRInaute impliqué

Inscrit le: 04 Mar 2005
Messages: 322
Localisation: Ile de France

URL permanente de ce messagePosté le : Jeu Sep 28, 2006 14:57    Sujet du message: Petit soucis PHP

ou exactement de quel else tu parles?
 
webac Visiter le site web du posteur
sureau
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 07 Mar 2005
Messages: 191
Localisation: annecy

URL permanente de ce messagePosté 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é
 
sureau Visiter le site web du posteur
retza
Nouveau WRInaute

Inscrit le: 16 Fév 2005
Messages: 47

URL permanente de ce messagePosté 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+
 
retza Visiter le site web du posteur
webac
WRInaute impliqué
WRInaute impliqué

Inscrit le: 04 Mar 2005
Messages: 322
Localisation: Ile de France

URL permanente de ce messagePosté 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 Visiter le site web du posteur
webac
WRInaute impliqué
WRInaute impliqué

Inscrit le: 04 Mar 2005
Messages: 322
Localisation: Ile de France

URL permanente de ce messagePosté 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
 
webac Visiter le site web du posteur
sureau
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 07 Mar 2005
Messages: 191
Localisation: annecy

URL permanente de ce messagePosté 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
 
sureau Visiter le site web du posteur
rog
WRInaute accro
WRInaute accro

Inscrit le: 21 Sep 2006
Messages: 1662
Localisation: sapucaia do sul (RS)

URL permanente de ce messagePosté 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
 
rog Visiter le site web du posteur
webac
WRInaute impliqué
WRInaute impliqué

Inscrit le: 04 Mar 2005
Messages: 322
Localisation: Ile de France

URL permanente de ce messagePosté le : Jeu Sep 28, 2006 16:39    Sujet du message: Petit soucis PHP

ça fonctionne à merveille merci beaucoup
 
webac Visiter le site web du posteur
rog
WRInaute accro
WRInaute accro

Inscrit le: 21 Sep 2006
Messages: 1662
Localisation: sapucaia do sul (RS)

URL permanente de ce messagePosté 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
 
rog Visiter le site web du posteur
sureau
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 07 Mar 2005
Messages: 191
Localisation: annecy

URL permanente de ce messagePosté 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.
 
sureau Visiter le site web du posteur
rog
WRInaute accro
WRInaute accro

Inscrit le: 21 Sep 2006
Messages: 1662
Localisation: sapucaia do sul (RS)

URL permanente de ce messagePosté 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
 
rog Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort