Creation de formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Creation de formulaire

par charabia » 27 mai 2009, 10:06

Tu peux mettre à la place de
<a href = "#">Cliquez ici pour vous connecter</a>
ce que tu veux. Il s'agit d'un exemple.

par Invité » 27 mai 2009, 10:00

Merci pour vos réponses.
La solution de AB me correspondrait mieux.
Le seul soucis est que dans le script de connexion, il est écrit qu'il faut indiqué la page que l'on souhaite afficher.
"// A MODIFIER Remplacer le '#' par l'adresse de votre page de destination, sinon ce lien indique la page actuelle."
Le problème est que je n'ai pas de page de destination, je souhaite juste afficher le résultat de la requête. Le but est que la personne accède à une page oû il trouve des informations personnelles (et donc forcément lui-seul peut y accéder grâce à son login et mdp).

Ne serait pas correct d'afficher un echo avec les résulats souhaités ?

par AB » 26 mai 2009, 18:20

Rooh l'aut, comment il fait de la pub pour ses tutos ! ;)
Yes :lol:

Ben oui les tutos ça sert aussi pour éviter de se répéter :)

Et comme le code était approximatif... pas de protection des données pour les requêtes, utilisation d'une boucle while quand on attend qu'un résultat... affichage de données sans protection ... je me disait que c'était pas plus mal de commencer par la case départ :wink:

par Ryle » 26 mai 2009, 17:51

Rooh l'aut, comment il fait de la pub pour ses tutos ! ;)


Le message d'erreur t'indique un problème à la ligne 27, avec la fonction mysql_fetch_array(). Il te précise même que l'argument spécifié pour cette méthode n'est pas une ressource MySQL valide.

Il faut donc regarder ce que contient ta variable $requete, à savoir, le résultat de ta requête. On peut donc supposer qu'il y a une erreur dans ta requête, ce que tu peux vérifier avec un mysql_error() ou en affichant la requête générée avant de l'exécuter.

En l'occurence, je dirais que tes chaines login et pwd ne sont pas délimitées par des apostrophes, et que mysql doit avoir bien du mal à essayer de les interpréter comme des instructions sql :)

par AB » 26 mai 2009, 17:22

Il y a un tuto avec code complet ici http://www.phpfrance.com/forums/voir_sujet-242539.php

par dunbar » 26 mai 2009, 17:21

Salut,

Et comme ceci :?:
<?php
// Script de connexion pour afficher le statut du dossier client

// Variables de connexion
$serveur  = 'localhost'; // nom du serveur
$login    = 'root'; // nom d'utilisateur mysql
$pwd      = 'password'; // mot de passe mysql
$bdd      = 'password'; // nom de la base de donnée


               $link = mysql_connect($serveur, $login, $pwd)
                  or die ("Connexion impossible avec MySQL");
                //-->Connexion a la base
                mysql_select_db ($bdd)
                  or die ("Connexion impossible avec la base".$bdd);

$loginForm  = mysql_real_escape_string($_post['login']);
$pwdForm    = mysql_real_escape_string($_post['mdp']);

	// Requête retournant le nom, prénom, statut du dossier en fonction de l'utilisateur loggué
	$requete ="SELECT Nom_Cli, Prenom_Cli, Statut_Dossier
	                      FROM jos_client
	                      WHERE Nom_Cli = '" . $loginFrom . "'
	                      AND Mdp_Cli = '" . $pwdForm . "'";
               $result = mysql_query($requete) or die("Erreur MySQL : Impossible de vérifier les données");

      $data = mysql_fetch_array($result);        
 /**
     * On récupère les données
     * Tant qu'une ligne sera présente, la boucle continuera
     */
          echo $data['Nom_Cli'].'<br>'; 
          echo $data['Prenom_Cli'];
        

 
     


// Déconnexion de la bdd
mysql_close();?>

Creation de formulaire

par sanigui » 26 mai 2009, 16:56

Bonjour,
je viens de débuter dans le php et souhaite créer un formulaire d'identification sur mon site.
Lorsque le client rentrera son login et mdp, une requete est effectuée afin d'aller chercher dans la BDD les informations voulu.
Le problème est que mon formulaire de vérification ne fonctionne pas.
Voici le formulaire de login en html (très basique, si vous avez des idées pour l'améliorer...) :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">

<form method="post" action="auth2.php">
  <fieldset> <legend></legend></fieldset><fieldset> 
  <p>Veuillez entrer vos identifiants afin d'acc&egrave;der &agrave; votre espace 
    perso.</p>
  <p>En cas de perte d'identifiant ou de mot de passe, merci de nous contacter 
    au 02.99.99.99.99</p>
  <p>Identifiant :</p>
  <p> 
    <input type="text" name="login">
  </p>
  <p>Mot de passe :</p>
  <p> 
    <input type="password" name="mdp">
  </p>
  <p>
    <input type="submit" name="submit" value="Envoyer">
  </p>
  </fieldset> 
</form>

Et voici mon fichier PHP :
<?php 
// Script de connexion pour afficher le statut du dossier client 

// Variables de connexion 
$serveur='localhost'; // nom du serveur 
$login='root'; // nom d'utilisateur mysql 
$pwd='password'; // mot de passe mysql 
$bdd='password'; // nom de la base de donnée 

// Ligne de connexion 
mysql_connect($serveur,$login,$pwd) or die('Erreur de connexion à la base'.mysql_error()); 

// Connexion à la table souhaité 
mysql_select_db($pwd) or die('Erreur de connexion à la talbe'.mysql_error());

$loginForm = $_post['login'];
$pwdForm = $_post['mdp'];

// Requête retournant le nom, prénom, statut du dossier en fonction de l'utilisateur loggué 
$requete=mysql_query("Select Nom_Cli, Prenom_Cli, Statut_Dossier
					  from jos_client 
					  where Nom_Cli=$loginFrom and Mdp_Cli=$pwdForm"); 
 /**  
     * On récupère les données  
     * Tant qu'une ligne sera présente, la boucle continuera  
     */  
     while($resultat = mysql_fetch_array($requete))  
     {  
        ?>

<?php echo $resultat['Nom_Cli']; ?><?php echo $resultat['Prenom_Cli']; ?><br /> <?php		  		  
     }  
		

// Déconnexion de la bdd 
mysql_close(); 
?> 

et j'ai comme erreur :



Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\OCS Inventory NG\xampp\htdocs\test\Auth2.php on line 27


Pouvez-vous m'aider ?
Merci.