Page 1 sur 1

petit probleme

Posté : 05 nov. 2012, 13:20
par damien82
salut a tous.
Je m appel Damien et j ai 29 ans et j habite au luxembourg.
Voila mon probleme.

Je suis entrain de suivre un tuto pour une programmation d un petit reseau social pour mon site.

je suis actuellement avec la partie Inscription.

Le formulaire d inscription est fait.
Maintenant j ai le probleme,que si un utilisateur oubli de renseigner un champ,il devrai etre marqué en rouge,qu il doit le renseigner.

Meme en mettant le code,l information en rouge ne m est pas marqué.

Voici le scripte.
<h1>Member ginn</h1>
<?php
if(isset($_POST['submit']))
{
  $sexe=mysql_real_escape_string(htmlentities($_POST['sexe']));
  $couple=mysql_real_escape_string(htmlentities($_POST['couple']));
  $user=mysql_real_escape_string(htmlentities($_POST['user']));
  $pass=mysql_real_escape_string(htmlentities($_POST['pass']));
  $repeatpass=mysql_real_escape_string(htmlentities($_POST['repeatpass']));
  $mail=mysql_real_escape_string(htmlentities($_POST['mail']));
  $iwwert=mysql_real_escape_string(htmlentities($_POST['iwwert']));
  
  if(empty($user))
  {
    $errors[]="Geff w.e.g een Usernumm an";
  }
  if(empty($pass))
  {
    $errors[]="Geff w.e.g een Passwuerd an";
  }
  if($pass!=$repeatpass)
  {
   $errors[]="Deng Passwieder stömmen net mateneen an";
  }
  if(!filter_var($email,FILTER_VALIDATE_EMAIL))
  {
    $errors[]="Deng email stemmt net";
  }
  if(empty($iwwert))
  {
     $errors[]="Beschreiw dech w.e.g";
  }
  if(!empty($errors))
  
  {
     foreach($errors as $error)
        
  echo "<div class='error'>".$error."</div>";
  }
  
  }
  ?>
<form method="POST"action="">
<label for='sexe'>Geschlecht:</label>
<select name="sexe">
     <option value="Mann">Männlech</option>
     <option value="Fraa">Weiblech</option>
</select><br/><br/>
<label for='couple'>Bezeihungsstatus:</label>
<select name="couple">
     <option value="single">Single</option>
     <option value="bezeihung">An enger Bezeihung</option>
  <option value="getrennt">Getrennt</option>
  <option value="gescheed">Gescheed</option>
</select><br/><br/>
<label for="user">Dain Usernumm:</label>
<input type="text"name="user"><br/>
<label for="pass">Dain Passwuerd:</label>
<input type="pass"name="pass"><br/>
<label for="repeatpass">Passwuerd(widderhuelen):</label>
<input type="pass"name="repeatpass"><br/>
<label for="mail">Deng email:</label>
<input type="text"name="mail"><br/>
<label for="iwwert">Iwwert mech:</label>
<textarea rows="6"cols="30" name="iwwert"></textarea><br/><br/>
<input type="submit" value="Fortschecken" name="Fortschecken">
</form>

<a href="index.php?page=login">Zereck op Login Sait</a>


et voici la video du tuto:

http://www.youtube.com/watch?v=8VgzvYss ... ure=relmfu

J'ai beau a revoir et a revoir la video,mais je ne trouve pas la faute.
J espere que quelqu un d entre vous,sache m aider a trouver une solution.

En vous remerciant d avance

Damien Boon

Re: petit probleme

Posté : 05 nov. 2012, 13:42
par dix2
salut,

Le fait de marquer en rouge un champs obligatoire non renseigné se fait en général en javascript et pas en PHP
c'est à dire que le programme s'exécute côté client et pas côté serveur
Côté serveur, en PHP, tu peux (et c'est même très fortement conseillé) effectuer un contrôle mais ce n'est qu'un contrôle, la couleur du champs n'est pas modifiée

En javascript, l'idée c'est d'utiliser l'évènement onsubmit() sur le bouton d'envoi, ce qui exécute une fonction javascript qui va faire les vérifications

Sur le net, y a pas mal d'exemples :
http://www.commentcamarche.net/forum/af ... bligatoire

@+
dix2

Re: petit probleme

Posté : 05 nov. 2012, 13:48
par damien82
Salut dix2

Merci pour ta réponse.
Je me demande,pourquoi il ne precise sa pas dans le tuto,car dans le tuto sa marche,meme sans javascript.

mais je vien voir le lien que tu ma donné ;-)

Amicalement
Damien

Re: petit probleme

Posté : 05 nov. 2012, 14:02
par dix2
1) regarde dans la source et vérifie que tu as bien les div des erreurs
2) vérifie que le CSS est bien chargé

Re: petit probleme

Posté : 05 nov. 2012, 17:48
par sam12
Je ne vois pas pourquoi l’affichage d'erreurs devrait être en js...
Par contre, un peu abusé la protection mysql_real_escape_string(htmlentities()), pour l'affichage: htmlentities, pour l'insertion bdd: mysql_real_escape_string.

Re: petit probleme

Posté : 05 nov. 2012, 18:39
par dix2
Je ne vois pas pourquoi l’affichage d'erreurs devrait être en js...
c'est plus rapide, y a pas d'échange client-serveur
et y a pas de rechargement complet de la page

Re: petit probleme

Posté : 05 nov. 2012, 19:44
par xTG
Je ne vois pas pourquoi l’affichage d'erreurs devrait être en js...
c'est plus rapide, y a pas d'échange client-serveur
et y a pas de rechargement complet de la page
C'est malheureusement assez faux. :)

version JS : Si j'ai un vieux PC cela sera très lent.
version PHP : Par contre télécharger quelques octets de plus ne sera pas un problème.

Et c'est encore moins vrai de nos jours avec l'ADSL.
Le JS c'est juste que ça fait gadget et joli. Aussi que c'est une autre expérience utilisateur.

Re: petit probleme

Posté : 05 nov. 2012, 20:53
par schim59
<HS>
Bonjour,
Il existe l'attribut required aussi
Que l'on peut compléter avec les expressions régulières avec pattern="" pour forcer le format
Bon codage.
</HS>

Re: petit probleme

Posté : 05 nov. 2012, 21:29
par dix2
<HS>
Bonjour,
Il existe l'attribut required aussi
Que l'on peut compléter avec les expressions régulières avec pattern="" pour forcer le format
Bon codage.
</HS>
tout à fait mais c'est une nouveauté HTML5

Re: petit probleme

Posté : 05 nov. 2012, 21:36
par sam12
De toute façon, on ne peut pas s'appuyer sur une verif coté client (puisque modifiable) donc autant le faire une bonne fois pour toutes en php ;)

Re: petit probleme

Posté : 05 nov. 2012, 21:43
par schim59
De toute façon, on ne peut pas s'appuyer sur une verif coté client (puisque modifiable) donc autant le faire une bonne fois pour toutes en php ;)
Modifiable ? c'est a dire ?

Re: petit probleme

Posté : 05 nov. 2012, 21:54
par sam12
Le js ça se désactive (ou modifie), le html5 n'est pas dispo obligatoirement sur le navigateur.

Re: petit probleme

Posté : 06 nov. 2012, 00:23
par AB
Oui au final l'idéal est de faire le contrôle et le comportement en php et de doubler le contrôle et le comportement en js (plus rapide dans 99% des cas et évite une requête serveur inutile). Mais ça fait plus de boulot.

Mais si vous ne choisissez qu'une méthode, c'est bien entendu côté php qu'il faut le faire.

Parfois pour éviter trop de travail on fait le contrôle et le comportement en js et php ne fait que le contrôle indispensable.