begin process at 2012 05 28 08:47:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Comparaison d'une donnée avec une donnée d'une table


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comparaison d'une donnée avec une donnée d'une table

mercredi 14 juin 2006 à 10:48:44 | Comparaison d'une donnée avec une donnée d'une table

monsieurmartinez

Bonjour je crée actuellement un site internet pour une faculté roumaine.
Je suis actuellement en train de créer un formulaire d'inscription pour les élèves.
J'ai auparavant crée une table tbl_user_admin où le webmaster peut ajouter le nom et le numéro de carte étudiant d'un élève.
De ce fait je voudrais que lorsqu'un élève se crée un compte en utilisant un nom ou un numéro de carte étudiant faux, un message d'erreur lui dise qu'il n'est pas répertorié comme étant étudiant.
Les codes que j'ai déjà tapé sont ci-dessous.Ceux-ci acceptent tous les étudiants même s'ils ne sont pas répertoriés dans la table tbl_user_admin.
Si quelqu'un voit d'où vient l'erreur merci de m'en informer.
C'est peut -être une erreur toute bête mais excsez moi d'avance je débute en php.

Page formulaire.php (enfin la partie qui nous intéresse plus précisément !!):
<form action="inscription.php" method='post'>
<table align="center" border="0">
 

<tr>
    <td>Numéro de <br>carte étudiant : </td>
    <td><input type="text" name="etude" maxlength="250"></td>
</tr>

<tr>
    <td>Nom :</td>
    <td><input type="text" name="nom" maxlength="250"></td>
</tr>


<tr>
    <td>Login :</td>
    <td><input type="text" name="login" maxlength="250"></td>
</tr>
 
<tr>
    <td>Password :</td>
    <td><input type="password" name="pass" maxlength="10"></td>
</tr>

<tr>
    <td>Age :</td> 
    <td><select name="age"><option value="-">Age</option>
          <? for($i=1;$i<100;$i++) echo "<option value='$i'>$i</option>";?>
    </select> ans
    </td>
</tr>

<tr><td>Sexe: </td><tD>
    <input type="radio" name="sexe" value="f">F
    <input type="radio" name="sexe" value="m">M
    </tD>
</tr>

<tr>
    <td colspan="2" align="right"><input type="submit" value="Envoyer"></td>
</tr>

page inscription.php :
<?php
$bdd="université";
$host="localhost";
$user="root";
$pass="";
mysql_connect($host,$user,$pass) or die ("Impossible de se connecter à la base de données");
mysql_select_db($bdd);

// On commence par récupérer les champs
if(isset($_POST['login']))      $login=$_POST['login'];
else      $login="";

if(isset($_POST['pass']))      $pass=$_POST['pass'];
else      $pass="";

if(isset($_POST['age']))      $age=$_POST['age'];
else      $age="";

if(isset($_POST['sexe']))      $sexe=$_POST['sexe'];
else      $sexe="";

if(isset($_POST['etude']))      $etude=$_POST['etude'];
else      $etude="";

if(isset($_POST['nom']))      $nom=$_POST['nom'];
else      $nom="";

$query="SELECT numero,nom FROM tbl_user_admin WHERE 'numero'=$etude AND 'nom'=$nom";

if($result=mysql_query($query))
{
 while($ligne=mysql_fetch_array($result))
 {
  $numero=$ligne('numero');
  $nom=$ligne('nom');
 }
 if(($numero[0]=="") or ($nom[0]==""))
 {
  echo "Vous n'êtes pas répertorié comme étant un étudiant de l'université de Pitesti";
 }
}

if(empty($login) OR empty($pass) OR empty($etude) OR empty($sexe) OR empty($nom))
{
 echo '<font color="red">Attention, seul le champs <b>age</b> peut rester vide !</font>';
}

// Aucun champ n'est vide, on peut enregistrer dans la table
else     
{
       // connexion à la base
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
// sélection de la base 

    mysql_select_db('université',$db)  or die('Erreur de selection '.mysql_error());
    
    // on écrit la requête sql
    $sql = "INSERT INTO tbl_user(nom, id_user, login, pass,age, sexe,etude) VALUES('nom','','$login','$pass','$age','$sexe','$etude')";
    
    // on insère les informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

    // on affiche le résultat pour le visiteur
    echo 'Vos infos on été ajoutées.';

    mysql_close();  // on ferme la connexion
}

mercredi 14 juin 2006 à 11:03:12 | Re : Comparaison d'une donnée avec une donnée d'une table

PoFMaN

Salut, Le problème c'est que si ton if : if($result=mysql_query($query)) échoue ca veut dire qu'il n'y a pas d'etudiant corresondant aux info ds la table tbl_user_admin et après ce if tu insère le mec dans la table tbl_user du coup quelque soit le résutat de la requete select et bien tu l'insère en fait toute ta partie insertion dans la table tbl_user devrai être dans ce if Au passage pour vérifier si un étudiant est dans la table tbl_user_admin tu devrai plutot faire un "select count(*) where 'numero'=$etude AND 'nom'=$nom" Il me semble que c'est plus optimisé, par contre ça change ton if faudra tester la valeur renvoyée donc ca donnerai un truc comme ca: $result=mysql_query($query); $tabResult=mysql_fetch_array($result); if($tabResult['count(*)']) { //autres tests et insertion } else { //et ben non tu peu pas t'es pas étudiant }
mercredi 14 juin 2006 à 11:04:15 | Re : Comparaison d'une donnée avec une donnée d'une table

Tit0x

Membre Club
Hello Ne t'inquiètes pas ;) Il y a un début à tout ;) Moi aussi je débute donc ^^ J'essaye d'aider les autres pour m'améliorer, comme ca si j'dit une connerie bah je serai corriger =D Sinon j'ai regardé ton code et j'ai trouvé ca : $numero=$ligne('numero'); $nom=$ligne('nom'); Moi je ne met pas comme ca (et moi ca fonctionne) donc j'pense que c'est une 'erreur'. Voilà ce que je met moi : $numero=$ligne[numero]; $nom=$ligne[nom]; Essayes et tient moi au courant =D Encore une fois j'dit peut être une bétise mais bon au moins j'essaye ^^ titoxx
mercredi 14 juin 2006 à 11:24:54 | Re : Comparaison d'une donnée avec une donnée d'une table

monsieurmartinez

Merci à vous deux pour vos réponses rapides mais j'ai toujours un problème.
Titox j'ai essaé ce que tu as mis mais ca n'a rien changé.Merci quand même.
j'ai modifié et j'ai tout inséré dans le if mais maintenant ca ne m'affiche rien du tout, enfin pas la phrase comme quoi il n'est pas répertorié dans la table tbl_user.
Le code est devenu :

$query="SELECT * FROM tbl_user_admin WHERE 'numero'=$etude AND 'nom'=$nom";
if($result=mysql_query($query))
{
 while($ligne=mysql_fetch_array($result))
 {
  $numero=$ligne('numero');
  $nom=$ligne('nom');
 }

if(($numero[0]="") or ($nom[0]=""))
 {
  echo "Vous n'êtes pas répertorié comme étant un étudiant de l'université de Pitesti";
 }

if(empty($login) OR empty($pass) OR empty($etude) OR empty($sexe) OR empty($nom))
{
 echo '<font color="red">Attention, seul le champs <b>age</b> peut rester vide !</font>';
}

// Aucun champ n'est vide, on peut enregistrer dans la table
else     
{
       // connexion à la base
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
// sélection de la base 

    mysql_select_db('université',$db)  or die('Erreur de selection '.mysql_error());
    
    // on écrit la requête sql
    $sql = "INSERT INTO tbl_user(nom, id_user, login, pass,age, sexe,etude) VALUES('nom','','$login','$pass','$age','$sexe','$etude')";
    
    // on insère les informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

    // on affiche le résultat pour le visiteur
    echo 'Vos infos on été ajoutées.';

    mysql_close();  // on ferme la connexion
}
}

mercredi 14 juin 2006 à 11:27:11 | Re : Comparaison d'une donnée avec une donnée d'une table

Tit0x

Membre Club
Re $query="SELECT * FROM tbl_user_admin WHERE 'numero'=$etude AND 'nom'=$nom"; C'est pas : $query="SELECT * FROM tbl_user_admin WHERE numero='$etude' AND nom='$nom'"; Les quotes mal placées ? titoxx
mercredi 14 juin 2006 à 11:33:27 | Re : Comparaison d'une donnée avec une donnée d'une table

PoFMaN

Bon, j'ai pas du être clair en fait je te suggerai de faire ca: $query="SELECT count(*) FROM tbl_user_admin WHERE 'numero'=$etude AND 'nom'=$nom"; $result=mysql_query($query); $tabResult=mysql_fetch_array($result); if($tabResult['count(*)']) { if(empty($login) OR empty($pass) OR empty($etude) OR empty($sexe) OR empty($nom)) { echo 'Attention, seul le champs age peut rester vide !'; } // Aucun champ n'est vide, on peut enregistrer dans la table else { // connexion à la base $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('université',$db) or die('Erreur de selection '.mysql_error()); // on écrit la requête sql $sql = "INSERT INTO tbl_user(nom, id_user, login, pass,age, sexe,etude) VALUES('nom','','$login','$pass','$age','$sexe','$etude')"; // on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.'; mysql_close(); // on ferme la connexion } } else { echo "Vous n'êtes pas répertorié comme étant un étudiant de l'université de Pitesti"; } Au passage ton test pour savoir si les bon champ ont été remplis tu devrai le faire au début (avant de faire des requetes SQL qui seront pas necessaires si le test échoue), ou même en javascript, ou les deux si tu veux être sur
mercredi 14 juin 2006 à 11:33:35 | Re : Comparaison d'une donnée avec une donnée d'une table

monsieurmartinez

ouais c'était faux je m'en suis rendu compte quand tu me l'as dit mais maintenant ca enregistre tout le monde meme si il n'est pas dans la table_user_admin.
mercredi 14 juin 2006 à 11:40:45 | Re : Comparaison d'une donnée avec une donnée d'une table

monsieurmartinez

j'ai fait un copeir coller de ce que tu m'as envoyé et maintenant ca me met une erreur  :
Warning
: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\monsite\kit51\inscription.php on line 114
Vous n'êtes pas répertorié comme étant un étudiant de l'université de Pitesti

la ligne 114 est celle la : $tabResult=mysql_fetch_array($result);
mercredi 14 juin 2006 à 11:47:31 | Re : Comparaison d'une donnée avec une donnée d'une table

PoFMaN

Chez moi ca marche avec une table différente et une condition différente. Juste je vien de me rendre compte que j'avai recopier ton erreur des ' que titox t'as signalé, ca doit venir de là $query="SELECT count(*) FROM tbl_user_admin WHERE 'numero'=$etude AND 'nom'=$nom"; devient $query="SELECT count(*) FROM tbl_user_admin WHERE numero='$etude' AND nom='$nom'";
mercredi 14 juin 2006 à 11:51:56 | Re : Comparaison d'une donnée avec une donnée d'une table

monsieurmartinez

Ok merci ça marche nickel maintenant.
Merci à vous deux car ca fesait depuis ce matin 9h que je planchait la-dessus alors qu'il me semblait que ce n'était pas si dur que ça.
Merci beaucoup.


Cette discussion est classée dans : mysql, login, age, post, pass


Répondre à ce message

Sujets en rapport avec ce message

Besoin de vos yeux expert [ par Anthotill ] Bonjour à tousJ'ai un probleme avec une page que je suis en train de créer, une page d'authentification.Je récupère les informations de deux formulair mes erreur de ce marque pas espace membre [ par speedylol ] bonjour voici , j ai un script membres que j'ai modifier a mon goût mes les erreur de fonction pas je vois pas pq seriez vous m'eclairez la dessus svp Problème : script d'autentification [ par cirtey ] Bonjour; J'essaye de créer un script qui permet à une personne d'être authentifiée pour accéder à une page. Je suis sous wamp et dreamweaver v9. J'ai Problème d'authentification [ par rasengan7 ] Bonjour j'aurai aimé savoir comment mettre des input type tout en regardant si le login et le pass sont bon. voici mon code: ?> <form recherche multicritere [ par sclormu67 ] Bonjour, j'utilise un code de recherche multicritère (trouver sur phpcs), il fonctionne bien mais j'aimerai suprimer le choix "et"   et "ou" dans le f Plusieurs mots dans un même champ? [ par sclormu67 ] Bonjour,j'utilise un formulaire de recherche multicritere qui fonctionne plutot bien mais je n'arrive pas à faire une recherche de plusieurs mot dans Faire une session d'administration [ par romega ] Salut, Je me remet a l'informatique je connais un peu le php et le html ainsi que dreamweaver et je découvre le mysql. Je compte faire un blog a base session [ par nicomilville ] Bonjour tout le monde, mon problème est le suivant :j'ai une page connection.php qui permet de se connecter et je voudrai que si l'utilisateur est rec horreur!! pb page admin!! [ par justine75 ] bonjour!j'ai un petit problème avec ma page administration de mon siteen effet, les données de ma table "rat" s'affiche tres bien mais lorsque je veux probleme de session_start [ par metal_death ] Bonjour  j'ai créer un espace membre grace a phpfacile mais j'ai un petit probleme lors de la connection je recois ce message : Warning: session_star


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales