boite de dialogue avec Php

Mammouth du PHP | 19672 Messages

04 mai 2005, 22:06

Autant pour moi ricardo, j'ai oublié un truc, mais tu aurais du le voir aussi:
Tu crées les messages d'erreur, mais nulle part tu n'ordonnes l'affichage....
Un petit echo($message ne nuirait pas à la fin des tests);
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 22:08

J'ai fais un copier-coller ca marche pas, les message s'affiche pas ?

Comment se fait-il ?

ricardo
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 22:12

C'est bon les messages s'affichent, par contre j'applique a ma page Web une image de fond :

background="../images/fondrose1.gif">

Mes messages s'affichent sur fond blanc Pourquoi ?

Mammouth du PHP | 19672 Messages

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"
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

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?

Mammouth du PHP | 19672 Messages

04 mai 2005, 22:34

En formatant la chaine avec des balises HTML <p>......<br /> ...... </p>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 22:35

oui mais erreur de syntaxe

Invité
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 22:37

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

Mammouth du PHP | 19672 Messages

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
   }
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 22:56

Ok merci pour toutes les infos

Invité
Invité n'ayant pas de compte PHPfrance

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

Mammouth du PHP | 19672 Messages

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

riccardo
Invité n'ayant pas de compte PHPfrance

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

Mammouth du PHP | 19672 Messages

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

riccardo
Invité n'ayant pas de compte PHPfrance

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]