petit probleme

Petit nouveau ! | 2 Messages

05 nov. 2012, 13:20

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

Eléphant du PHP | 267 Messages

05 nov. 2012, 13:42

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

Petit nouveau ! | 2 Messages

05 nov. 2012, 13:48

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

Eléphant du PHP | 267 Messages

05 nov. 2012, 14:02

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é

Eléphant du PHP | 343 Messages

05 nov. 2012, 17:48

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.
Développeur web

Eléphant du PHP | 267 Messages

05 nov. 2012, 18:39

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

ViPHP
xTG
ViPHP | 7331 Messages

05 nov. 2012, 19:44

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.

Eléphant du PHP | 229 Messages

05 nov. 2012, 20:53

<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>

Eléphant du PHP | 267 Messages

05 nov. 2012, 21:29

<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

Eléphant du PHP | 343 Messages

05 nov. 2012, 21:36

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 ;)
Développeur web

Eléphant du PHP | 229 Messages

05 nov. 2012, 21:43

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 ?

Eléphant du PHP | 343 Messages

05 nov. 2012, 21:54

Le js ça se désactive (ou modifie), le html5 n'est pas dispo obligatoirement sur le navigateur.
Développeur web

ViPHP
AB
ViPHP | 5818 Messages

06 nov. 2012, 00:23

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.