PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » insértion base SQL du nom de la ville sélectionnée depuis un menu » 10-06-2010 21:44:33

Il me manquais

$ville = htmlentities($_POST['ville']);

 <td nowrap="nowrap" align="right">Ville:</td>
              <option name="ville"><span id="blocVilles">Ville</span>

   </tr>    
 

         
   

Vu que je n ai pas posté l intégralité de ma page index il était dur de voir ce qui y manquait

il est vrai que je n ai pas verifier le champ sad aie desolé
Merci beaucoup de vos réponses !

#2 Re : Forum Général PHP » insértion base SQL du nom de la ville sélectionnée depuis un menu » 10-06-2010 21:44:33

Oui en effet la liste fonctionne parfaitement,
je veux récupérer la ville que  l utilisateur sélectionne pour l'insérer dans ma base SQL
mais  je n arrive pas a formater correctement mon code pour la récupérer(la ville sélectionnée)
La liste des villes est affichée grâce a


<td><span id="blocVilles"></span></tr>
 

et je cherche donc a l'insérer dans ma base (user_town)


$sql_insert = "INSERT into `users`
        (`full_name`,`user_town`,`user_email`,`pwd`,`date`,`users_ip`,`activation_code`,`country`,`user_name`
      )
        VALUES
        ('$data[full_name]','user_town','$usr_email','$sha1pass'
      ,now(),'$user_ip','$activ_code','$data[country]','$user_name'
      )
      "
;
     

 

encore merci a toi xTG

#3 Re : Forum Général PHP » insértion base SQL du nom de la ville sélectionnée depuis un menu » 10-06-2010 21:44:33

le voila bien formaté


<td><span id="blocVilles"></span></tr>
 

la liste déroulante liées fonctionne correctement pourtant
je veux juste récupérer le nom de la ville
dans le fichier ville.php le sélecteur apparait bien

 $liste .= '<select name="ville" id="ville">'."\n";

je vais peut être chercher un autre script pour les listes déroulante liées !
je désespère ...........

#4 Re : Forum Général PHP » insértion base SQL du nom de la ville sélectionnée depuis un menu » 10-06-2010 21:44:33

c est un menu codé en Ajax et php ,il suffit de placer le id="blocVilles" pour faire apparaitre le menu a sa convenance

dans la page index.php


<?php
$sql = "SELECT `id_departement` AS idr, `departement` ".
       "FROM `departement` ".
       "ORDER BY `id_departement`;";

$connexion = mysql_connect($serveur, $admin, $mdp);
if($connexion != false)
{
       $choixbase = mysql_select_db($base, $connexion);
    $recherche = mysql_query($sql, $connexion);

    $departements = array();

    $id = 0;
    while($ligne = mysql_fetch_assoc($recherche))
    {
        $departements[$ligne['idr']] = $ligne['departement'];
    }

?> 
 


fichier Js


 * Lister les départements d'une région avec un objet
 * XMLHTTPRequest.
 */
/* Création de la variable globale qui contiendra l'
objet XHR */
var requete = null;
/**
 * Fonction privée qui va créer un objet XHR.
 * Cette fonction initialisera la valeur dans la variable globale définie
 * ci-dessus.
 */

function creerRequete()
{
    try
    {
        /* On tente de créer un objet XmlHTTPRequest */
        requete = new XMLHttpRequest();
    }
    catch (microsoft)
    {
        /* Microsoft utilisant une autre technique, on essays de créer un objet ActiveX */
        try
        {
            requete = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch(autremicrosoft)
        {
            /* La première méthode a échoué, on en teste une seconde */
            try
            {
                requete = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch(echec)
            {
                /* À ce stade, aucune méthode ne fonctionne... mettez donc votre navigateur à jour ;) */
                requete = null;
            }
        }
    }
    if(requete == null)
    {
        alert('Impossible de créer l\'objet requête,\nVotre navigateur ne semble pas supporter les object XMLHttpRequest.');
    }
}
/**
 * Fonction privée qui va mettre à jour l'affichage de la page.
 */

function actualiserVilles()
{
    var listeVille = requete.responseText;
    var blocListe = document.getElementById('blocVilles');
    blocListe.innerHTML = listeVille;
}

/**
 * Fonction publique appelée par la page affichée.
 * Cette fonction va initialiser la création de l'objet XHR puis appeler
 * le code serveur afin de récupérer les données à modifier dans la page.
 */

function getVilles(idr)
{
    /* Si il n'y a pas d'identifiant de région, on fait disparaître la seconde liste au cas où elle serait affichée */
    if(idr == 'vide')
    {
        document.getElementById('blocVilles').innerHTML = '';
    }
    else
    {
        /* À cet endroit précis, on peut faire apparaître un message d'attente */
        var blocListe = document.getElementById('blocVilles');
        blocListe.innerHTML = "Traitement en cours, veuillez patienter...";
        /* On crée l'objet XHR */
        creerRequete();
        /* Définition du fichier de traitement */
        var url = 'villes.php?idr='+ idr;
        /* Envoi de la requête à la page de traitement */
        requete.open('GET', url, true);
        /* On surveille le changement d'état de la requête qui va passer successivement de 1 à 4 */
        requete.onreadystatechange = function()
        {
            /* Lorsque l'état est à 4 */
            if(requete.readyState == 4)
            {
                /* Si on a un statut à 200 */
                if(requete.status == 200)
                {
                    /* Mise à jour de l'affichage, on appelle la fonction apropriée */
                    actualiserVilles();
                }
            }
        };
        requete.send(null);
    }
}

le fichier ville.php

<?php
/* On récupère l'identifiant de la région choisie. */
$idr = isset($_GET['idr']) ? $_GET['idr'] : false;
/* Si on a une région, on procède à la requête */
if(false !== $idr)
{
    /* Cération de la requête pour avoir les départements de cette région */
    $sql2 = "SELECT `id_ville`, `ville`, `code` ".
            " FROM `ville`".
            " WHERE `id_departement` = ". $idr ."".
            " ORDER BY `id_ville`;";
    $connexion = mysql_connect($serveur, $admin, $mdp);
    mysql_select_db($base, $connexion);
    $rech_ville = mysql_query($sql2, $connexion);
    /* Un petit compteur pour les départements */
    $nd = 0;
    /* On crée deux tableaux pour les numéros et les noms des départements */
    $code_ville = array();
    $nom_ville = array();
    /* On va mettre les numéros et noms des départements dans les deux tableaux */
    while(false != ($ligne_ville = mysql_fetch_assoc($rech_ville)))
    {
        $code_ville[] = $ligne_ville['id_ville'];
        $nom_ville[]  = $ligne_ville['ville'];
        $code_dept[] = $ligne_ville['code'];
        $nd++;
    }
    /* Maintenant on peut construire la liste déroulante */
    $liste = "";
    $liste .= '<select name="ville" id="ville">'."\n";
    for($d = 0; $d < $nd; $d++)
    {
        $liste .= '  <option value="'. $code_ville[$d] .'">'. htmlentities($nom_ville[$d]) .' ('. $code_dept[$d] .')</option>'."\n";
    }
    $liste .= '</select>'."\n";
    /* Un petit coup de balai */
    mysql_free_result($rech_ville);
    /* Affichage de la liste déroulante */
    echo($liste);
}
/* Sinon on retourne un message d'erreur */
else
{
    echo("<p>Une erreur s'est produite. La région sélectionnée comporte une donnée invalide.</p>\n");
}
?>

#5 Forum Général PHP » insértion base SQL du nom de la ville sélectionnée depuis un menu » 10-06-2010 21:44:33

adnagi
Réponses : 11

Bonjour,

Je cherche a insérer dans ma base SQL le nom de la ville sélectionnée depuis un menu déroulant
celui ci a été code en php et ajax
dans le post ou est sité le nom de la ville celle ci est défini par le non user_town


   1. name="user_town"
 

qui lui même est bien répercuté dans le script php pour l'insertion SQL

 

    $sql_insert = "INSERT into `users`
           (`full_name`,`user_town`,`user_email`,`pwd`,`date`,`user_name`
   )

 


voici le code POST du menu ville


 

<td nowrap="nowrap" align="right">Departement:</td>
    <td><select name="departement" id="departement" onchange="getVilles(this.value);">
      <option value="vide">- - - Choisissez un departement - - -</option>
       <?php
 
    foreach($departements as $nr => $nom)
    {
        ?>
  <option value="<?php echo($nr); ?>" name="user_town" id="user_town" ><?php echo($nom); ?></option>

     
  <?php
    }
  ?>
 
    </select></td>
    <tr valign="baseline">
        <td nowrap="nowrap" align="right">Ville:<span class="required"></td>
      <td><option name="user_town" type="text" ><span id="blocVilles"></span></tr>
    </td>
  </tr>      

 


je n 'arrive pas a récupérer le nom de la ville dans ma DB
c est le

 <span id="blocVilles">

qui affiche le nom de la ville.

Pouvez vous m'aider? car la je ne vois pas !

Merci d avance.

#7 Re : Forum Général PHP » PHP insertion code pour validation de syntaxe Mail » 03-06-2010 16:30:13

Merci a vous
En fait j essaye d incorporer ce code au mien


<?php
if(isset($_POST['email'])
{
       
        $email = htmlentities($_POST['email']);
        if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace('&','&',$email)))
        {
             
                    echo "<strong style=\"color:#ff0000;\">L'email que vous avez entré est invalide.</strong>";
        }
}
else
{
?>
<form action="" method="post">
    <input type="text" name="email" id="email" /><br />
    <input type="text" name="sujet" id="sujet" /><br />
    <input type="submit" value="Envoyer" />
</form>
<?php
}
?>
 

je rencontre des difficultés a positionner le code après validation du post
pouvez vous m aider ?

#8 Forum Général PHP » PHP insertion code pour validation de syntaxe Mail » 03-06-2010 16:30:13

adnagi
Réponses : 4

Vraiment Desolé ,j espère que cette fois ci le Post correspond au critere du site !
derniere essai smile


Bonjour,

Je debute en php, j ai reussi a inserer voir creer du script php sans trop de probleme,
mais la j en ai un vrai !
je cherche a valider la syntaxe d une adresse mail lors de l insertion,mais les messages d erreurs fuses !!!
pouvez vous m aider?
Merci d avance ,voici mon code.





<?php
...
// on teste si le visiteur a soumis le formulaire  
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {  
   // on teste l'existence de nos variables. On teste également si elles ne sont pas vides  
       if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {  
      // on teste les deux mots de passe  
      if ($_POST['pass'] != $_POST['pass_confirm']) {  
         $erreur = 'Les 2 mots de passe sont différents.';  
         if(isset($_POST['email'])){
         $erreurM ='email incorect';
        $email = stripslashes(htmlentities($_POST['email']));
        if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace('&','&',$email)))
      {                
         // on recherche si ce login est déjà utilisé par un autre membrestp  
         $sql = 'SELECT count(*) FROM membrestp WHERE login="'.mysql_escape_string($_POST['login']).'"';  
         $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
         $data = mysql_fetch_array($req);  

         if ($data[0] == 0) {  
            $sql = 'INSERT INTO membrestp VALUES("",
            "'
.mysql_escape_string($_POST['login']).'",
            "'
.mysql_escape_string($_POST['sex']).'",
            "'
.mysql_escape_string($_POST['tendance']).'",
            "'
.mysql_escape_string($_POST['autretendance']).'",            
            "'
.mysql_escape_string($_POST['ville']).'",
            "'
.mysql_escape_string(md5($_POST['pass'])).'",
            "'
.mysql_escape_string($_POST['email']).'")';  
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());  

            session_start();  
            $_SESSION['login'] = $_POST['login'];  
            $_SESSION['ville'] = $_POST['ville'];
             print("<script language=\"javascript\" type=\"text/javascript\">window.location.replace(\"membrestp.php\" );</script>" );
            exit();  
         }  
         else {  
            $erreur = 'Un membre possède déjà ce login.';  
         }  
      }  
   }  
   else {  
      $erreur = 'Au moins un des champs est vide.';  
   }  
}  

echo '<span style="color:#00aa00;">L\'email <strong>'.$email.'</strong> est valide.</span>';
        }
        else{
                echo '<span style="color:#ff0000;">L\'email <strong>'.$email.'</strong> est invalide.</span>';
        }
}
else
{
        $email = '';
        echo 'Veuillez entrer l\'email à vérifier.';
}


echo '<br />';
?>
...
 

Pour le HTML

<FORM ID="reguser" action="index.php" method="post">

       <tr valign="baseline">
          <td nowrap="nowrap" align="right">Email:</td>
          <td><input type="text" name="email" value="" size="50" name="email"  />

#9 Forum Général PHP » PHP insertion code pour validation de syntaxe mail » 03-06-2010 13:22:15

adnagi
Réponses : 1

Bonjour,

Je debute en php, j ai reussi a inserer voir creer du script php sans trop de probleme,
mais la j en ai un vrai !
je cherche a valider la syntaxe d une adresse mail lors de l insertion,mais les messages d erreurs fuses !!!
pouvez vous m aider?
Merci d avance ,voici mon code.





 


<! ----------------------  DEBUT DU SCRIPT LOGIN PHP  -------------------------- !>
<?php require_once('ConnexionSQL/conDB.php'); ?>
<?php
// on teste si le visiteur a soumis le formulaire de connexion  
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
   if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

     
       
      // on teste si une entrée de la base contient ce couple login / pass
      $sql = 'SELECT count(*) FROM membrestp WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
      $data = mysql_fetch_array($req);
       
      mysql_free_result($req);
      mysql_close();
       
      // si on obtient une réponse, alors l'utilisateur est un membre
      if ($data[0] == 1) {
         session_start();
         $_SESSION['login'] = $_POST['login'];
         $_SESSION['ville'] = $_POST['ville'];
          print("<script language=\"javascript\" type=\"text/javascript\">window.location.replace(\"membrestp.php\" );</script>" );
         exit();
      }
      // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
      elseif ($data[0] == 0) {
         $erreurlog = 'Compte non reconnu.';
      }
      // sinon, alors la, il y a un gros problème smile
      else {
         $erreurlog = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
      }
   }
   else {
      $erreurlog = 'Au moins un des champs est vide.';
   }  
}  
?>

<! ----------------------  DEBUT DU SCRIPT D ENRENGISTREMENT PHP  -------------------------- !>

<?php

// on teste si le visiteur a soumis le formulaire  
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
   // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
       if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
      // on teste les deux mots de passe
      if ($_POST['pass'] != $_POST['pass_confirm']) {
         $erreur = 'Les 2 mots de passe sont différents.';
         if(isset($_POST['email'])){
         $erreurM ='email incorect';
        $email = stripslashes(htmlentities($_POST['email']));
        if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace('&','&',$email)))
      {
     
     
             
         // on recherche si ce login est déjà utilisé par un autre membrestp
         $sql = 'SELECT count(*) FROM membrestp WHERE login="'.mysql_escape_string($_POST['login']).'"';
         $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
         $data = mysql_fetch_array($req);

         if ($data[0] == 0) {
            $sql = 'INSERT INTO membrestp VALUES("",
            "'
.mysql_escape_string($_POST['login']).'",
            "'
.mysql_escape_string($_POST['sex']).'",      
            "'
.mysql_escape_string($_POST['ville']).'",
            "'
.mysql_escape_string(md5($_POST['pass'])).'",
            "'
.mysql_escape_string($_POST['email']).'")';
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

            session_start();
            $_SESSION['login'] = $_POST['login'];
            $_SESSION['ville'] = $_POST['ville'];
             print("<script language=\"javascript\" type=\"text/javascript\">window.location.replace(\"membrestp.php\" );</script>" );
            exit();
         }
         else {
            $erreur = 'Un membre possède déjà ce login.';
         }
      }
   }
   else {
      $erreur = 'Au moins un des champs est vide.';
   }  
}  

echo '<span style="color:#00aa00;">L\'email <strong>'.$email.'</strong> est valide.</span>';
        }
        else{
                echo '<span style="color:#ff0000;">L\'email <strong>'.$email.'</strong> est invalide.</span>';
        }
}
else
{
        $email = '';
        echo 'Veuillez entrer l\'email à vérifier.';
}


echo '<br />';
?>

         

<! ----------------------  DEBUT SCRIPT  MENU VILLE  -------------------------- !>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Townup</title>
<link href="styles_onep.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="./dept_xhr.js" charset="iso_8859-1"></script>
<script type="text/javascript" src="jquery-1.2.1.pack.js"></script>

</head>
<body>
<div id="page">
  <div id="logonban"><img src="img/minitp.png" width="295" height="80" /></div>
  <div id="whiteban"></div>
<! ----------------------  DEBUT DU LOGIN  -------------------------- !>
 
  <div id="loginreg">
     <form action="index.php" method="post">
     <table width="302" border="0">
         <tr>
           <td width="106"> </td>
           <td width="186"><strong>Connecter vous !</strong></td>
         </tr>
      </table>
     <table width="301" border="0">
        <tr>
          <td>Utilisateur</td>
          <td><label>
     <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>" />
          </label></td>
        </tr>
        <tr>
          <td>Mot de passe</td>
          <td><label>
     <input name="pass" type="password" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>" />
          </label></td>
          </table>  
     <input type="submit" name="connexion" value="Connexion"><?php if (isset($erreurlog)) echo '<br /><br />',$erreurlog; ?>
    </form>
     
  </div>

 
<! ----------------------  MENU VILLE PHP  -------------------------- !>
  <?php

$sql = "SELECT `id_departement` AS idr, `departement` ".
       "FROM `departement` ".
       "ORDER BY `id_departement`;";

$connexion = mysql_connect($hostname, $username, $password);

if($connexion != false)
{
       $choixbase = mysql_select_db($nom_base_donnees, $connexion);

    $recherche = mysql_query($sql, $connexion);

    $departements = array();

    $id = 0;
    while($ligne = mysql_fetch_assoc($recherche))
    {
        $departements[$ligne['idr']] = $ligne['departement'];
    }

?>

<! ----------------------  DEBUT DE L ENRENGISTREMENT  -------------------------- !>
 
  <FORM ID="reguser" action="index.php" method="post">
 
   
      <div align="center"><strong>Inscription gratuite
      </strong></div>
   
   
     <table height="421" align="center">
       <tr valign="baseline">
         <td nowrap="nowrap" align="right">Pseudo:</td>
        <td><input name="login" type="text" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"> </td>
     </tr>
       <tr valign="baseline">
          <td nowrap="nowrap" align="right"> </td>
          <td><?php if (isset($erreur)) echo '<br /><br />',$erreur; ?></td>
     </tr>
       <tr valign="baseline">
         <td height="32" align="right" nowrap="nowrap"><div align="center">
           <p align="right">Sexe:</p>
          </div></td>
        <td valign="baseline"><select name="sex">
            <option value="vide">Choisir</option>
            <option value="Homme" type="text">Homme</option>
            <option value="Femme"type="text">Femme</option>
        </select>
            <table>
       <tr>  
     </tr>
            </table></td>
     </tr>
     
       <tr valign="baseline">
          <td nowrap="nowrap" align="right">Pays:</td>
          <td><select name="pays">
              <option value="France">France</option>                  
          </select></td>
     </tr>
   
     <! ----------------------  MENU VILLE  -------------------------- !>
       <tr valign="baseline">
          <td nowrap="nowrap" align="right">Departement:</td>
          <td><select name="departement" id="departement" onchange="getVilles(this.value);">
              <option value="vide">- - - Choisissez un departement - - -</option>
   
    <?php

    foreach($departements as $nr => $nom)
    {
        ?>
       
    <option value="<?php echo($nr); ?>"><?php echo($nom); ?></option>
   
    <?php
    }
    ?>
    </select></td>
    </tr>
    <tr valign="baseline">
          <td nowrap="nowrap" align="right">Ville:</td>
          <td> <span id="blocVilles"></span></td>
         <option name="ville" onchange="getVilles(this.value);" value="<?php if (isset($_POST['ville'])) echo htmlentities(trim($_POST['ville'])); ?>" />
         
    </tr>    
    </tr>
    </tr>
   
   
   
       <tr valign="baseline">
          <td nowrap="nowrap" align="right">Email:</td>
          <td><input type="text" name="email" value="" size="50" name="email"  />
         
         
       
         
         
         
         
         
          </td>
         
    </tr>
       
    <tr valign="baseline">
          <td nowrap="nowrap" align="right">Mot de passe:</td>
          <td></span>
           <label>
         
              <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>" />
             
          </label></span></span></td>
     </tr>
     <tr valign="baseline">
        <td nowrap="nowrap" align="right">Retaper  mot de passe</td>
          <td><label>
         
            <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"/>
           
         </label></td>
     </tr>
     <tr valign="baseline">
          <td height="104" align="right" nowrap="nowrap"> </td>
          <td><input type="submit" name="inscription" value="Inscription" /></td>
     </tr>
     </table>
     
  </form>
<?php
}
else
{

?>  
 
  </div>
<?php
}
?>

 
     <! ----------------------  FIN DU REGISTER  -------------------------- !>
     
     
 
  <div id="bandown">
      <p align="center">En construction</p>
    <p align="center"> </p>
    <p align="center"><a href="mailto:admin@townup.com">Webmaster</a></p>
    <p align="center"> </p>
  </div>
 
  <div id="logobandown">
    <p> </p>
    <p> </p>
  </div>
Placez ici le contenu de  id "page"</div>

</body>
</html>

 

#10 Forum Général PHP » PHP insertion code pour validation de syntaxe mail » 03-06-2010 13:11:06

adnagi
Réponses : 1

Bonjour,

Je debute en php, j ai reussi a inserer voir creer du script php sans trop de probleme,
mais la j en ai un vrai !
je cherche a valider la syntaxe d une adresse mail lors de l insertion,mais les messages d erreurs fuses !!!
pouvez vous m aider?
Merci d avance ,voici mon code.




<! ----------------------  DEBUT DU SCRIPT LOGIN PHP  -------------------------- !>
<?php require_once('ConnexionSQL/conDB.php'); ?>
<?php
// on teste si le visiteur a soumis le formulaire de connexion   
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 
   if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { 

     
       
      // on teste si une entrée de la base contient ce couple login / pass 
      $sql = 'SELECT count(*) FROM membrestp WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"'; 
      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
      $data = mysql_fetch_array($req); 
       
      mysql_free_result($req); 
      mysql_close(); 
       
      // si on obtient une réponse, alors l'utilisateur est un membre
      if ($data[0] == 1) { 
         session_start(); 
         $_SESSION['login'] = $_POST['login'];
         $_SESSION['ville'] = $_POST['ville'];
          print("<script language=\"javascript\" type=\"text/javascript\">window.location.replace(\"membrestp.php\" );</script>" );
         exit(); 
      } 
      // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe 
      elseif ($data[0] == 0) { 
         $erreurlog = 'Compte non reconnu.'; 
      } 
      // sinon, alors la, il y a un gros problème smile 
      else { 
         $erreurlog = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; 
      } 
   } 
   else { 
      $erreurlog = 'Au moins un des champs est vide.'; 
   }   
}   
?>

<! ----------------------  DEBUT DU SCRIPT D ENRENGISTREMENT PHP  -------------------------- !>

<?php

// on teste si le visiteur a soumis le formulaire   
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') { 
   // on teste l'existence de nos variables. On teste également si elles ne sont pas vides 
       if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) { 
      // on teste les deux mots de passe 
      if ($_POST['pass'] != $_POST['pass_confirm']) { 
         $erreur = 'Les 2 mots de passe sont différents.'; 
         if(isset($_POST['email'])){
         $erreurM ='email incorect';
        $email = stripslashes(htmlentities($_POST['email']));
        if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace('&','&',$email)))
      {
     
     
              
         // on recherche si ce login est déjà utilisé par un autre membrestp 
         $sql = 'SELECT count(*) FROM membrestp WHERE login="'.mysql_escape_string($_POST['login']).'"'; 
         $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
         $data = mysql_fetch_array($req); 

         if ($data[0] == 0) { 
            $sql = 'INSERT INTO membrestp VALUES("",
            "'.mysql_escape_string($_POST['login']).'",
            "'.mysql_escape_string($_POST['sex']).'",       
            "'.mysql_escape_string($_POST['ville']).'",
            "'.mysql_escape_string(md5($_POST['pass'])).'",
            "'.mysql_escape_string($_POST['email']).'")'; 
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 

            session_start(); 
            $_SESSION['login'] = $_POST['login']; 
            $_SESSION['ville'] = $_POST['ville'];
             print("<script language=\"javascript\" type=\"text/javascript\">window.location.replace(\"membrestp.php\" );</script>" );
            exit(); 
         } 
         else { 
            $erreur = 'Un membre possède déjà ce login.'; 
         } 
      } 
   } 
   else { 
      $erreur = 'Au moins un des champs est vide.'; 
   }   
}   

echo '<span style="color:#00aa00;">L\'email <strong>'.$email.'</strong> est valide.</span>';
        }
        else{
                echo '<span style="color:#ff0000;">L\'email <strong>'.$email.'</strong> est invalide.</span>';
        }
}
else
{
        $email = '';
        echo 'Veuillez entrer l\'email à vérifier.';
}


echo '<br />';
?>

          

<! ----------------------  DEBUT SCRIPT  MENU VILLE  -------------------------- !>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Townup</title>
<link href="styles_onep.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="./dept_xhr.js" charset="iso_8859-1"></script>
<script type="text/javascript" src="jquery-1.2.1.pack.js"></script>

</head>
<body>
<div id="page">
  <div id="logonban"><img src="img/minitp.png" width="295" height="80" /></div>
  <div id="whiteban"></div>
<! ----------------------  DEBUT DU LOGIN  -------------------------- !>
 
  <div id="loginreg">
     <form action="index.php" method="post">
     <table width="302" border="0">
         <tr>
           <td width="106"> </td>
           <td width="186"><strong>Connecter vous !</strong></td>
         </tr>
      </table>
     <table width="301" border="0">
        <tr>
          <td>Utilisateur</td>
          <td><label>
     <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>" />
          </label></td>
        </tr>
        <tr>
          <td>Mot de passe</td>
          <td><label>
     <input name="pass" type="password" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>" />
          </label></td>
          </table>   
     <input type="submit" name="connexion" value="Connexion"><?php if (isset($erreurlog)) echo '<br /><br />',$erreurlog; ?>
    </form>
     
  </div>

 
<! ----------------------  MENU VILLE PHP  -------------------------- !>
  <?php

$sql = "SELECT `id_departement` AS idr, `departement` ".
       "FROM `departement` ".
       "ORDER BY `id_departement`;";

$connexion = mysql_connect($hostname, $username, $password);

if($connexion != false)
{
       $choixbase = mysql_select_db($nom_base_donnees, $connexion);

    $recherche = mysql_query($sql, $connexion);

    $departements = array();

    $id = 0;
    while($ligne = mysql_fetch_assoc($recherche))
    {
        $departements[$ligne['idr']] = $ligne['departement'];
    }

?>

<! ----------------------  DEBUT DE L ENRENGISTREMENT  -------------------------- !>
 
  <FORM ID="reguser" action="index.php" method="post">
 
   
      <div align="center"><strong>Inscription gratuite
      </strong></div>
   
   
     <table height="421" align="center">
       <tr valign="baseline">
         <td nowrap="nowrap" align="right">Pseudo:</td>
        <td><input name="login" type="text" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"> </td>
     </tr>
       <tr valign="baseline">
          <td nowrap="nowrap" align="right"> </td>
          <td><?php if (isset($erreur)) echo '<br /><br />',$erreur; ?></td>
     </tr>
       <tr valign="baseline">
         <td height="32" align="right" nowrap="nowrap"><div align="center">
           <p align="right">Sexe:</p>
          </div></td>
        <td valign="baseline"><select name="sex">
            <option value="vide">Choisir</option>
            <option value="Homme" type="text">Homme</option>
            <option value="Femme"type="text">Femme</option>
        </select>
            <table>
       <tr>   
     </tr>
            </table></td>
     </tr>
     
       <tr valign="baseline">
          <td nowrap="nowrap" align="right">Pays:</td>
          <td><select name="pays">
              <option value="France">France</option>                   
          </select></td>
     </tr>
    
     <! ----------------------  MENU VILLE  -------------------------- !>
       <tr valign="baseline">
          <td nowrap="nowrap" align="right">Departement:</td>
          <td><select name="departement" id="departement" onchange="getVilles(this.value);">
              <option value="vide">- - - Choisissez un departement - - -</option>
   
    <?php

    foreach($departements as $nr => $nom)
    {
        ?>
       
    <option value="<?php echo($nr); ?>"><?php echo($nom); ?></option>
   
    <?php
    }
    ?>
    </select></td>
    </tr>
    <tr valign="baseline">
          <td nowrap="nowrap" align="right">Ville:</td>
          <td> <span id="blocVilles"></span></td>
         <option name="ville" onchange="getVilles(this.value);" value="<?php if (isset($_POST['ville'])) echo htmlentities(trim($_POST['ville'])); ?>" />
          
    </tr>     
    </tr>
    </tr>
   
   
   
       <tr valign="baseline">
          <td nowrap="nowrap" align="right">Email:</td>
          <td><input type="text" name="email" value="" size="50" name="email"  />
          
          
        
          
          
          
          
          
          </td>
          
    </tr>
       
    <tr valign="baseline">
          <td nowrap="nowrap" align="right">Mot de passe:</td>
          <td></span>
           <label>
          
              <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>" />
             
          </label></span></span></td>
     </tr>
     <tr valign="baseline">
        <td nowrap="nowrap" align="right">Retaper  mot de passe</td>
          <td><label>
         
            <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"/>
           
         </label></td>
     </tr>
     <tr valign="baseline">
          <td height="104" align="right" nowrap="nowrap"> </td>
          <td><input type="submit" name="inscription" value="Inscription" /></td>
     </tr>
     </table>
     
  </form>
<?php
}
else
{

?>   
 
  </div>
<?php
}
?> 

 
     <! ----------------------  FIN DU REGISTER  -------------------------- !>
     
     
 
  <div id="bandown">
      <p align="center">En construction</p>
    <p align="center"> </p>
    <p align="center"><a href="mailto:admin@townup.com">Webmaster</a></p>
    <p align="center"> </p>
  </div>
 
  <div id="logobandown">
    <p> </p>
    <p> </p>
  </div>
Placez ici le contenu de  id "page"</div>



</body>
</html>

Pied de page des forums

Propulsé par FluxBB