Questions l'affichage de données php


Swink
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 28 Sep 2009

Questions l'affichage de données php

Message le Lun Sep 28, 2009 2:51

Salut tout le monde,

Bon peut-être qu'ici j'aurais au moins une réponse ^^.

Ma questions est simple, voilà j'ai mon formulaire html/php qui fonctionne nickel chrome mais j'aimerais lui ajouter un petit plus. Exemple quand un membre s'inscrit via ce dernier, je voudrais que par exemple à droite du champ "Pseudo" au fur et à mesure que le visiteur écrit sont pseudo il vérifie si oui ou non le pseudo est libre dans la base de donnée.

Je sais que j'ai déjà vue il n'y a pas si longtemps sur un site et c'était à ce qu'il disais en php donc en faisant une supposition j'imagine que php doit avoir une fonction qui vérifie le contenu de sa base de donnée sans rechargement de page, j'arrive sans soucis à vérifier si le pseudo est libre mais en faisant recharger la page dite. Si possible j'aimerais éviter tout ce qui est javascript car je me suis toujours débrouiller pour faire mon site sans étant donné tout les militants du javascript encore actif :D

En espérant avoir été assez clair sur mon problème.

Par avance merci

Bonne nuit à tout le monde.

Swink


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8579
Inscription: 23 Nov 2005

Re: Questions l'affichage de données php

Message le Lun Sep 28, 2009 6:41

En fait ça se fait en AJAX, donc en utilisant du javascript ET du php (ou un autre langage serveur). Ca permet de faire des requêtes en base de donnée au fur et à mesure de la saisie d'info et de répercuter ça sur la page en cours sans la recharger.


Swink
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 28 Sep 2009

Re: Questions l'affichage de données php

Message le Lun Sep 28, 2009 13:08

UsagiYojimbo a écrit:En fait ça se fait en AJAX, donc en utilisant du javascript ET du php (ou un autre langage serveur). Ca permet de faire des requêtes en base de donnée au fur et à mesure de la saisie d'info et de répercuter ça sur la page en cours sans la recharger.


Salut et merci de ta réponse UsagiYojimbo, alors bon je vais répondre par une questions bête. Si par exemple le visiteur à désactiver le javascript dans son navigateur, bah il ne verra rien dans l'affichage si le pseudo est libre ou pas et donc il faut prévoir un sortie de secours pour vérifier les donnée si l'utilisateur n'a pas Javascript activer sur son navigateur.

Merci bien

EDIT :

Bon je viens de trouver un script sur editeur javascript mais il y'a un soucis voilà je vous met vite fait le code

Le javascript dans les balise head de ma page.

Code: Tout sélectionner
<script type="text/javascript">
function writediv(texte)
     {
     document.getElementById('pseudobox').innerHTML = texte;
     }

function verifPseudo(pseudo)
     {
     if(pseudo != '')
               {
               if(pseudo.length<3)
                         writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop court</span>');
               else if(pseudo.length>30)
                         writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop long</span>');
               else if(texte = file('verifpseudo.php?pseudo='+escape(pseudo)))
                         {
          if(texte == 1)
               writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
          else if(texte == 2)
               writediv('<span style="color:#1A7917"><b>'+pseudo+' :</b> ce pseudo est libre</span>');
          else
               writediv('');
                         }
               }

     }

function file(fichier)
     {
     if(window.XMLHttpRequest) // FIREFOX
          xhr_object = new XMLHttpRequest();
     else if(window.ActiveXObject) // IE
          xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
     else
          return(false);
     xhr_object.open("GET", fichier, false);
     xhr_object.send(null);
     if(xhr_object.readyState == 4) return(xhr_object.responseText);
     else return(false);
     }
</script>



Puis le petit formulaire rapide
Code: Tout sélectionner
<form action="">
<input type="text" name="pseudo" onKeyUp="verifPseudo(this.value)" />
<div id="pseudobox"></div>
</form>


Et enfin ma page verifpseudo.php qui contien les élément pour la connexion à la base de donnée...
Code: Tout sélectionner
<?
//
// VERIFICATION EN LIVE DU PSEUDO
//

// CONNECION SQL
mysql_connect("monserveur", "monpseudo", "monmdp");
mysql_select_db("mabase");

// VERIFICATION
$result = mysql_query("SELECT pseudo FROM membres WHERE pseudo='".$_GET["pseudo"]."'");
if(mysql_num_rows($result)>=1)
echo "1";
else
echo "2"


ça marche mais il y'a un soucis quand je rentre 2 caractère il me dit que c'est trop court (normal) et plus de 30 caractère il me dit que c'est trop long (normal aussi) mais entre les deux il ne dit jamais si le pseudo est libre ou si il ne l'est pas.

Quelqu'un aurait une suggestion à me faire. Bon je retourne chercher un peut moi merci d'avance

Bonne journée


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8579
Inscription: 23 Nov 2005

Re: Questions l'affichage de données php

Message le Lun Sep 28, 2009 14:03

Je conçois dans ce cas l'ajax comme un ajout ergonomique, pas comme une vérification bloquante. Car une fois que l'utilisateur a rempli ton formulaire, que le js soit ou non activé, rien ne te dispense de vérifier lors de la soumission du dit formulaire que le pseudo est unique.


Swink
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 28 Sep 2009

Re: Questions l'affichage de données php

Message le Lun Sep 28, 2009 14:32

Tout à fait et puis de toute façon une vérification est quand même lancer après l'envoi du formulaire POST mais bon c'est bête que tant de gens coupe leur Javascript encore ^^.

Sinon je doit avouer que moi et le Javascript ça fait deux donc si quelqu'un peut essayer de m'éclairer un peut sur mon dernier soucis ce serait fort aimable de sa part.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités