boite de dialogue avec Php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : boite de dialogue avec Php

php + JS

par hamidoukann » 08 janv. 2006, 13:32

en cherchant j'ai eu ce lien : http://www.tekool.net/php/js_serializer/

par riccardo » 09 mai 2005, 22:00

C'est good merci beaucoup

par Cyrano » 09 mai 2005, 21:48

pourquoi ne pas simplifier un tantinet ?
mysql_query("INSERT INTO login (nomutilisateur, motpasse, email)".
        " VALUES ('$nomutilisateur', '$motpasse', '$email') ")
        or die("Impossible d'insérer le résultat du sondage");
         ?>
         <p>OK</p>
        <script type="text/javascript">
           window.setTimeout("location=('../cadre_annonce.php');",3000);
        </script>

par riccardo » 09 mai 2005, 21:39

voila mon code:
mysql_query("INSERT INTO login (nomutilisateur, motpasse, email)". 
        " VALUES ('$nomutilisateur', '$motpasse', '$email') ") 
        or die("Impossible d'insérer le résultat du sondage");
		 ?>
		 <? echo ('OK'); ?>
		<script type="text/javascript"> 
           window.setTimeout("location=('../cadre_annonce.php');",3000);
        </script>
Pas très beau mon affichage que faire pour améliorer cela[/php]

par Cyrano » 09 mai 2005, 21:20

Insère un message juste avant le JavaScript et ajoute un time-out dans ton javascript de redirection pour retarder la redirection que l'internaute aie le temps de lire le message.

Mais sois bien sûr de ta requête, si ça buggue, rien ne se passera.

par riccardo » 09 mai 2005, 21:18

merci, concernant mon else que faire et comment intégrer un message de confirmation avant ma redirection

Merci pour ton aide

par Cyrano » 09 mai 2005, 20:18

Normal: regarde à la ligne 94 : tu as fermé la balise PHP: ça, ça va encore, mais juste apr<es le petit encart de JavaScript, tu ne l'as pas rouvert pour prendre en compte l'accolade de fermeture du else (ligne 89) pour le refermer normalement juste après pour mettre du HTML:
Donc ton code à cet endroit là devrait être :
    else
    {
        mysql_query("INSERT INTO login (nomutilisateur, motpasse, email)".
        " VALUES ('$nomutilisateur', '$motpasse', '$email') ")
        or die("Impossible d'insérer le résultat du sondage");
?>
        <script type="text/javascript">
           document.location.replace("http://www.phpfrance.com");
        </script>
<?php
    }
?>
  <table width="830" border="0" cellpadding="0" cellspacing="0">
Règle numéro 1 : quand tu utilises une fonction, lorsque tu ouvres une accolade, tu la refermes avant de mettre du contenu entre les deux. Quand tu ouvres une balise php (<?php) tu la refermes AVANT de mettre du contenu entre les deux: comme ça, tu n'oublieras rien :)

Maintenant, je te signale une chose : le contenu de ce else est curieux: tu lances une requête d'insertion.... sans en vérifier le résultat et accessoirement afficher le moindre message de confirmation; si la requête retourne FALSE, le script va s'arrêter et le javascript qui suit ne sera pas exécuté non plus.

par Invité » 09 mai 2005, 18:21

j'ai un pb sur mon code a l'aide svp
<html> 
<head> 
<title></title> 
<style type="text/css"> 
<!-- 
.Style1 { 
    font-size: 12px; 
    color: #999999; 
} 
.Style4 {color: #FFFFFF} 
--> 
</style> 

</head> 

<body background="../images/fondrose1.gif"> 
<div align="center">
<p><img src="../titres/titreannonceenreg.gif" width="600" height="100"></p>
<table width="790" border="0">
  <tr>
    <td><div align="left">Pour vous inscrire &agrave; la rubrique annonce, il vous suffit de remplir le formulaire d'enregistrement ci-dessous et de cliquer sur le bouton "S'enregistrer". C'est une fois de retour au sommaire de la rubrique annonce que votre enregistrement prend effet. </div></td>
  </tr>
</table>


  <?php 
/* On vérifie si le bouton d'envoi du formulaire a été cliqué */ 
if(isset($_POST['enregistrer'])) 
{ 
    // on récupère les données POST 

    $nomutilisateur = $_POST['nomutilisateur']; 
    $motpasse  = $_POST['motpasse']; 
    $email = $_POST['email']; 
	
	$nomutilisateur_ok = trim($nomutilisateur); // trim() supprime les espaces éventuels
	// vérifie si le nom d'utilisateur existe déjà dans la base
	$reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
	$result=mysql_query($reponse);
	$total_nomutilisateur=mysql_num_rows($result);
	
	// Définition de validation de l'adresse de courriel (e-mail)
	$valid = "^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\.[a-z]{2,4}$";

    if ($nomutilisateur == '' || $total_nomutilisateur == 1 || $motpasse == '' || $email == '' || !(eregi($valid, $email))) 
    { 
        // Action à adopter 
        ?> 
 
		<p><font color="red">Il y a une ou plusieurs erreurs :</font></p>
		<ul> 
		<?php 
        if ($total_nomutilisateur == 1) // Si le champ "nom utilisateur" existe déjà, 
        { 
            ?> 
            <li>Le nom d'utilisateur spécifié existe déjà, voulez-vous bien le modifier</li> 
            <?php 
        } 
        if ($nomutilisateur == "") // Si le champ "nom utilisateur" est vide, 
        { 
            ?> 
            <li>Vous devez entrer un nom d'utilisateur dans le champs prévu à cet effet</li> 
            <?php 
        } 
        if ($motpasse == "") // Si le champ "mot de passe" est vide, 
        { 
            ?> 
            <li>Vous devez entrer un mot de passe dans le champs prévu à cet effet.</li> 
            <?php 
        } 
        if ($email == "") // Si le champ "E-mail" est vide, 
        { 
            ?> 
            <li>Vous devez entrer une adresse mail dans le champs prévu à cet effet.</li> 
            <?php 
        } 
		if(($email) && !(eregi($valid, $email))) // Si il y a une adresse inscrite mais invalide 
        { 
            ?> 
            <li>Vous devez entrer une adresse mail dans le champs prévu à cet effet.</li> 
            <?php 
        } 
        ?>
       		
  </ul> 
    <?php     

    } 
    else 
    { 
        mysql_query("INSERT INTO login (nomutilisateur, motpasse, email)". 
        " VALUES ('$nomutilisateur', '$motpasse', '$email') ") 
        or die("Impossible d'insérer le résultat du sondage"); ?>
		<script type="text/javascript"> 
           document.location.replace("http://www.phpfrance.com");
        </script> 
    } 

  <table width="830" border="0" cellpadding="0" cellspacing="0"> 
    <tr> 
      <td align="center" valign="top" background="../images/fondrose1.gif"><div align="center"> 
          <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post"> 
          <p align="center">&nbsp;</p>
          <p align="center">Nom d'utilisateur :&nbsp;             
              <input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>"> 
          </p>
          <p>Mot de passe : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            <input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php echo $motpasse ?>"> 
</p> 
          <p>E-mail :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 
            <input name="email" type="text" id="email" value="<?php echo $email ?>"> 
          </p> 
          <p> 
            <input name="enregistrer" type="submit" id="enregistrer" value="S'enregistrer"> 
          </p> 
          <p>&nbsp;</p> 
        </form> 
        <p align="left">&nbsp;</p> 
        <p class="Style1"> Copyright &copy; CFAF 2005</p> 
      </div></td> 
    </tr> 
</table> 
<?php 
} 
else 
{ 
?>
  <table width="830" border="0" cellpadding="0" cellspacing="0"> 
    <tr> 
      <td align="center" valign="top" background="../images/fondrose1.gif"><div align="center"> 
          <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post"> 
          <p align="center">&nbsp;</p>
          <p align="center">Nom d'utilisateur :&nbsp;             
              <input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value=""> 
          </p>
          <p>Mot de passe : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            <input name="motpasse" type="text" id="motpasse" maxlength="10" value=""> 
</p> 
          <p>E-mail :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 
            <input name="email" type="text" id="email" value=""> 
          </p> 
          <p> 
            <input name="enregistrer" type="submit" id="enregistrer" value="S'enregistrer"> 
          </p> 
          <p>&nbsp;</p> 
        </form> 
        <p align="left">&nbsp;</p> 
        <p class="Style1"> Copyright &copy; CFAF 2005</p> 
      </div></td> 
    </tr> 
  </table> 
<?php 
} 
?> 
</div> 
</body> 
</html> 
message erreur :
Parse error: parse error in d:\easyphp1-8\www\pages seules\annonceenregistrer.php on line 125

Impossible de trouver Merci

par ricardo » 04 mai 2005, 22:56

Ok merci pour toutes les infos

par Cyrano » 04 mai 2005, 22:43

Tiens, essaye comme ça:
    if ($nomutilisateur == "" || $motpasse == "" || $email == "")
    {
        // Action à adopter
        ?>
                <h3>Informations incomplètes</h3>
                <p>Un (ou plusieurs) champ(s) n'a(ont) pas été correctement rempli(s).</p>
                <ul>
        <?php
        if ($nomutilisateur == "") // Si le champ "prénom" est vide,
        {
            ?>
            <li>--Vous devez entrer un nom d'utilisateur dans le champs prévu à cet effet.</li>
            <?php
        }
        if ($motpasse == "") // Si le champ "nom" est vide,
        {
            ?>
            <li>--Vous devez entrer un nom d'utilisateur dans le champs prévu à cet effet.</li>
            <?php
        }
        if ($email == "") // Si le champ "téléphone" est vide,
        {
            ?>
            <li>--Vous devez entrer un nom d'utilisateur dans le champs prévu à cet effet.</li>
            <?php
        }
        ?>
                </ul>
        <?php
   }

par Invité » 04 mai 2005, 22:37

oui mais erreur de syntaxe
 <li><font color="red"><? echo($message ); ?></font></li>

par ricardo » 04 mai 2005, 22:35

oui mais erreur de syntaxe

par Cyrano » 04 mai 2005, 22:34

En formatant la chaine avec des balises HTML <p>......<br /> ...... </p>

par ricardo » 04 mai 2005, 22:21

C'est bon trouver j'ai appliquer mon background sur le body de ma page

Comment afficher les erreurs les une en dessous des autres?

par Cyrano » 04 mai 2005, 22:17

Pour l'image, si tu ne l'as pas changé de place, elle est en arrière-plan d'une cellule.

Je te signale que l'attribut "background" est exclusif à Internet explorer: utilise un style css à la place :
style="background-image: ../images/fondrose1.gif"