Aller au contenu

Formulaire anti doublon


ouarzazat

Sujets conseillés

Salut,

comment vous dire... j'pête un boulard j'en peux plus je bloque AIDEZ MOIII !!!

;) ça fait du bien !

Introduction:

je crée un formulaire (php) afin d'enregistrer des données dans ma base (mysql).

Jusque là tout va bien.

J'ai fini mon formulaire il est beau, ergonomique et en plus il enregistre tout bien dans ma base, bref j'le kiffe.

Et voilà ma prise de gueule du jour:

je souhaite vérifier si l'enregistrement que je suis en train de saisir n'a pas déjà été enregistré dans la base (je répertorie des sites web).

Donc sous le champ où je saisie l'url, par exemple, du site que je veux répertorier dans la base, je veux insérer un lien text "vérifier" dont la cible serait verification.php?url=la_valeur_du_champ_URL. Cette page verification.php s'ouvrant sous forme de popup me dirait si j'ai déjà repertorié ce site.

Je pense qu'il faut combiner php et jscript.

Voyez vous mon souci?

Le coup du lien dynamique c'est à peu près la seule idée qui me soit venue par rapport à mes compétences en programmation, mais voilà je suis encore trop léger :blush:

En fait le vrai vrai bon kiffe serait qu'une fois que j'ai fini de saisir l'url (avec un onblur par exemple) le résultat de la vérification s'affiche cash sous le champ, ça ça serait la classe mon vieux!!

HEEEEEEEEEEEELLLLLLLLPPPPPPPPP !!!!!!!

Merci à vous

Lien vers le commentaire
Partager sur d’autres sites

Je prends la deuxieme solution.

<html>
<head>
<script type="text/javascript">
function Calque(texte)
    {
    document.getElementById('urlchamps').innerHTML = texte;
    }

function Url(url)
    {
    if(url!= '')
              {
              if(texte = Trouve('verification.php?url='+url))
                        {
         if(texte==0)
              Calque('<strong>'+url+' :</strong> Trop tard');
         else if(texte==1)
              Calque('<strong>'+url+' :</strong> Assez tot');
         else
              Calque('Requete en cours de traitement...');
                        }
              }

    }

function Trouve(fichier)
    {
    if(window.XMLHttpRequest)
         xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject)
         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>
</head>
<body><form>
<input type="text" name="url" onKeyUp="Url(this.value)" />
<div id="urlchamps"></div>
</form>
</body>
</html>

Sachant que ton fichier vérification.php, si $_GET['url'] est pris, retourne 0, sinon 1.

AJAX, la fete des fleurs :rolleyes:

//EDIT : quelques incohérences, et une petite simplification sur le code.

Modifié par Théo B.
Lien vers le commentaire
Partager sur d’autres sites

Déjà, merci beaucoup pour ta réponse, même si ça a l'air d'être un jeu d'enfant pour toi je vois que tu as pris ça au sérieux et ça fait plaisir!

J'ai une question bonus par rapport à:

"Sachant que ton fichier vérification.php, si $_GET['url'] est pris, retourne 0, sinon 1."

Que veux tu dire par "si $_GET['url'] est pris"?

En fait pour moi $_GET['url'] quoiqu'il arrive sera pris, après il faut savoir si l'url existe ou non.

Pourrais tu m'expliquer s'il te plaît, voire m'écrire grosso modo ce que toi tu coderais dans le verif.php ?

Meric pour ton aide,

a+

Lien vers le commentaire
Partager sur d’autres sites

Ok Ok.

Alors, grosso modo :

<?

SI l'url existe :

echo 0;

SINON :

echo 1;

?>

Plutot simple non ;p ?

Après, le navigateur va lire ton fichier à chaque entrée dans le formulaire et voir si verification.php?url=l'urlentrée retourne 0 ou 1.

Si elle retourne 0, un message est affiché disant que l'url existe, sinon le message dit qu'elle n'existe pas.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

Désolé mais ça ne marche pas ...

Voilà le code que je met dans verification.php:

$url = $_GET['url'];

$verif=mysql_query("SELECT url FROM tab_description WHERE url=$url");
if ($verif != "")
{echo 0;}
else
{echo 1;}

Pour la partie formulaire j'ai pris exactement le code que tu as posté.

La fête des fleurs c'est pas pour moi on dirait :)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...