IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Vérification de présence


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 172
    Par défaut [PHP-JS] Vérification de présence
    Bonjour,

    Je en savais pas si il fallait mettre mon sujet ici ou dans la partie Javascript (parce que je ne sais pas comment régler mon problème).

    J'ai mis en place un formulaire avec checkbox et un champs texte. Dans ce champ, l'utilisateur va entrer un nom qui doit être unique.
    Je voudrais faire en sorte que si l'utilisateur rentre un nom déjà présent dans la BDD un message d'erreur apparaisse. Comment faire pour faire cela?

  2. #2
    Membre éclairé Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Par défaut
    A mon avis, mais je n'en suis pas sûr à 100%, tu ne pourras pas le faire. Tu peux faire la vérification qu'apres la validation du formulaire. J'ai voulu faire la meme chose.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 172
    Par défaut
    C'est à dire?

    Si l'utilisateur clique sur le bouton "submit" et que le nom présent dans le champ existe déjà, y'a pas moyen d'afficher un message d'erreur? Même avec une fonction javascript?

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 172
    Par défaut
    Si tu as essayé de faire la même chose, comment as tu résolu ton problème?

  5. #5
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par grumly22
    C'est à dire?

    Si l'utilisateur clique sur le bouton "submit" et que le nom présent dans le champ existe déjà, y'a pas moyen d'afficher un message d'erreur? Même avec une fonction javascript?
    C'est peut-être possible, mais personnellement je ne connais pas les technos qui permettent à javascript de se connecter à un SGBD. Et de toute manière il est probable que les connexions distantes ne soient pas acceptées. D'autre part, si JS est désactivé chez le client, la vérification ne se fera pas et tu auras éventuellement des erreurs lors de ta requête d'inclusion. (C'est pour ça que le JS doit être seulement une aide à la navigation, il ne faut jamais compter dessus pour vérifier la cohérence des informations soumises)
    La solution "simple et sûre" consiste à le faire en php, après soumission du formulaire, en réaffichant le formulaire avec un message d'erreur.

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 172
    Par défaut
    J'y ai pensé, mais je ne voit pas comment faire ...

  7. #7
    Membre chevronné
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Par défaut
    Il n'a pas dit qu'il voulait absolument ça en javascript

    Grumly : quand l'utilisateur soumet le formulaire, tu fais un
    'SELECT id FROM personne WHERE LOWER(nom) = "'.$_POST['nom'].'"' ;

    Si ça te retourne un résultat c'est que le nom existe déjà en bd.

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 172
    Par défaut
    ok, mais pour faire en sorte qu'il me raffiche mon formulaire sans prendre en compte la requête d'enregistrement dans la base de données, comment je fais?
    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    print '
    	<form action="../op/op.TagMgr.php" method="post" enctype="multipart/form-data" name="form0_3" onsubmit="return checkForm1(this.elements[\'version[]\']);">
    	<input type="Hidden" name="action" value="linktotag">
    	<table width=200%>
    		<tr>
    			<td class="inputDescription" valign="top">Tag name:
    			<input name="name"></td>';
    	print "";
    	print "<div class=\"standardText\"><ul>";
    	printFolder(getFolder($folderid));
    	print "</ul></div>";
    	print '</td></tr>
    		<tr>
    				<td colspan="2"><br><input type="Submit"></td>
    		</tr>
    	</table>
    	</form>';
    Ce code renvoit donc à la page op/op.TagMgr.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    else if ($action == "linktotag")
    {
    	printStartBox(getMLText("set_tag"));
    	print "<div class=\"standardText\">";
    	printMLText("document_linked");
    	$newTag = addTag($name);
    	$tag = mysql_insert_id();
    	$dc= addLink($tag, $documentid, $version);
    	printMLText("op_finished");
    	printGoto(array(array(getMLText("tag"), "../out/out.TagMgr.php")));
    }
    qui renvoit donc aux fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    function addTag($name)
    {
    	GLOBAl $db;
     
    	$queryStr = "INSERT INTO tblTags (name, comment, date) VALUES ('".$name."', 'no comment', NOW())";
    	$res = $db->getResult($queryStr);
    	if (!$res)
    		return false;
     
    	return getTag($db->getInsertID());
    }
     
     
     
    function addLink($tag, $document, $version)
    {
    	GLOBAl $db;
    	GLOBAL $version;
     
    	/*$tg=getSelectedTag();
    	$tag=$tg->getID();*/
     
    	foreach ($version as $vers){
    		$v=getVersionID($vers);
    		$ver=$v->getVersion();
     
    		$d=getVersionID($vers);
    		$doc=$d->getDocumentID();
     
    		$queryStr = "INSERT INTO tblLinkTagDocument (tag, document, version) VALUES ('".$tag."', '".$doc."', '".$ver."')";
    		$res = $db->getResult($queryStr);
    	}
    	if (!$res)
    		return false;
     
    	return getLink($db->getInsertID());
    }

    Note : J'ai l'impression que j'ai des problèmes de connexions, il se peux que je ne puisse avoir accès à internet d'ici peu (c'est donc pas que je ne veux plus vous parler) ...

    Merci de m'aider.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] vérification bouton de radio
    Par Marcus15 dans le forum Langage
    Réponses: 4
    Dernier message: 02/07/2007, 16h17
  2. Réponses: 25
    Dernier message: 12/04/2007, 11h32
  3. [PHP-JS] Vérification des champs
    Par hartecel dans le forum Langage
    Réponses: 7
    Dernier message: 02/03/2007, 12h54
  4. [PHP-JS] Vérification en javascript d'un tableau en PHP
    Par johnson95 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/12/2006, 13h24
  5. [PHP-JS] Vérification de champs
    Par marsya dans le forum Langage
    Réponses: 1
    Dernier message: 04/09/2006, 03h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo