condition si $variable == quelquechose

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 : condition si $variable == quelquechose

Re: condition si $variable == quelquechose

par Alexis55000 » 14 oct. 2010, 12:16

C'est oublié xTG ^^

bon sinon merci, j'ai réussi grâce à votre script et vos explications :)

j'ai modifier 2 troi truc et c'est parti

Mici bisou :P lol

alex

Re: condition si $variable == quelquechose

par jojolapine » 14 oct. 2010, 09:09

Hey!
Moi je pense que le problème dans les derniers codes sources, c'est que dans le switch ... case
le default est... au début :/
ça devrait plutôt donner ça:
switch ($resultat["type"])
  {
 
  case "Moderateur" :
  include_once ("page_moderateur.php");
  break;

  case "Administrateur" :
  include_once ("page_administrateur.php");
  break;

  default :
  include_once ("page_membre.php");
  break;
  }

Re: condition si $variable == quelquechose

par xTG » 14 oct. 2010, 08:52

Désolé que tu l'ai pris de cette façon alex55000, m'enfin c'était à prévoir...
Je ne te reproche pas le fait de ne rien savoir de la programmation, je te reproche le fait de débarquer et nous jeter le bébé.
C'est ton manque d'intérêt pour l'aspect que nous développons tous les jours ici qui m'a énervé.
Comment je fait alor ^^
Tu l'aurais formulé autrement que je n'aurais peut être pas répondu...
Une formule indiquant que tu n'as pas compris la réponse qui t'a été donné, une demande d'éclaircissement. Enfin voilà quoi, et pas une formule indiquant "oui bah c'est cool mais tu m'as pas résolu mon problème".

Enfin après tout est question d'interprétation, mon interprétation de ta réponse peut être différente d'un autre lecteur cela va sans dire.
Je ne suis aucunement en volonté de lancer un débat ou autre mais voulait simplement expliquer mon point de vue sur la chose.
Je te souhaite donc bon courage dans la résolution de ton problème.

Re: condition si $variable == quelquechose

par Aureusms » 13 oct. 2010, 22:48

ralala ces jeunes... Bon calmons nous un peu...

Il faut d'abord que tu créé ton formulaire pour identifier ton utilisateur.
Un formulaire te permet d'envoyer des données de l'utilisateur pour qu'il le vérifie. Il y a deux modes de formulaire (en fait 3 mais deux pour commencer c'est mieux). La méthode POST et la méthode GET.
La méthode GET envoie les données utilisateurs à la page "action" via l'URL du site i.e. "htpp:///qqchose". La méthode POST permet de faire la même chose mais directement côté serveur. L'avantage du POST est que c'est (un peu) caché pour l'utilisateur et c'est plus propre à coder. C'est la méthode privilégiée par ton bon Webmaster (même si la méthode GET à d'autres avantages mais dans ton cas de figure POST est meilleure).
Pour récupérer les variables envoyée via POST il faut utiliser la SUPERVARIABLE $_POST qui est en fait un tableau associatif mais en version GLOBALE. Elle n'a donc pas besoin d'être initiée par la page qu'il l'apelle et cela reste un tableau associatif.

Un formulaire simple se place entre les borne <form> et </form>.
Dans cette balise <form> tu mets la méthode utilisée et le fichier qui va traiter le formulaire. Ce fichier peut être le même qui a envoyé le formulaire mais c'est plus dur à coder. Néanmoins ce choix permet de ne pas (trop) créer de faille de sécurité.
Si on part d'une page index.php qui envoi en méthode POST vers une page traitement.php cela donnerai :

Code : Tout sélectionner

<form method="POST" action="traitement.php"> //formulaire </form>
Dans ce formulaire tu mets des "input" ou des "select" qui sont des balises formulaire. Partons simple avec un "input" de type texte (pour envoyer du texte)

Code : Tout sélectionner

<form method="POST" action="traitement.php"> <input name="nom" type="text" value="Votre nom" /> </form>
Là ton formulaire est créé mais tu ne peut pas l'envoyer : il te faut un "input" bouton de type submit (soumettre en anglais)

Code : Tout sélectionner

<form method="POST" action="traitement.php"> <input name="email" type="text" value="Votre email SVP" /> <input type="submit" value="Envoyer" /> </form>
Là ton formulaire est terminé et dès que tu cliques sur le bouton envoyé, cela envoi le formulaire côté serveur à la page traitement.php.
Il y a plein d'astuces de formulaire mais restons simple pour le moment.

Allons du côté de la page traitement : si on récupère la variable $_POST en tableau associatif on doit connaître la structure du formulaire envoyé. On se rapelle que le "input" de type texte avait un attribut "name" qui s'appellait "email" (name="email" : voir plus haut). Aussi pour récupérer la valeur il faut juste faire $_POST["email"] comme un tableau associatif simple.

Si on reprends ensuite l'exemple précédent :
$email = addslashes($_POST["email"]);
// la fonction addslahshes est là pour protéger les caractères spéciaux : c'est un conseil de TOUJOURS protéger les retours de formulaire.

$requete = "SELECT ID_Utilisateur,type FROM Comptes_Utilisateurs WHERE Adresse_Email = '".$email."' LIMIT 1";
$resultat_sql = mysql_query ($requete);

if (mysql_num_rows ($resultat_sql) != 0)
{
  //l'utilisateur existe
  $resultat = mysql_fetch_assoc($resultat_sql);
  switch ($resultat["type"])
  {
  default :
  case "membre" :
  include_once ("page_membre.php");
  break;
 
  case "Moderateur" :
  include_once ("page_moderateur.php");
  break;

  case "Administrateur" :
  include_once ("page_administrateur.php");
  break;

  }
}
else
{
  //existe pas
 echo 'enregistrez vous';
}
Ainsi tu envoi ton formulaire depuis index.php et la page traitement.php vérifie que l'utilisateur est bien dans la base grâce à son email. Et si oui il ouvre la page adéquate.

Edit : il faudra quand même rajouter à la page traitement.php les fonctions des connexions à la base de données. sinon cela ne marchera pas. Allez hop hop hop au boulot et lâché moi cette mauvaise humeur...

Re: condition si $variable == quelquechose

par alex55000 » 13 oct. 2010, 22:24

Si je suis venus, ici c'est pour avoir de l'aide et non pas pour lire des remarques comme celle que vous aviez pu me faire comprendre !

J'ai, il y a de cela maintenant 7 à 8 ans, lu un cour de php sur le site du zéro, uniquement pour "connaître" grossièrement le fonctionnement d'un site dynamique.

Aujourd'hui je demande de l'aide comme je l'ai déjà dit précédemment, sur une fonction que je souhaiterais uniquement appliquer sur une page d'un site local qui sert juste de répertorier des partitions de musique, créer non pas par mes soins, mais ceux d'une personne qui n'est plus présente.

Étant donné que je ne suis ni créateur de site, ou web-master ou autre dans le domaine des sites Web, je ne pense pas qu'apprendre le php durant 2 mois serait utile pour un seul script.

un exemple : une personne qui utilise l'informatique pour traiter du texte ,souhaitant que l'on l'aide sur un forum parce-qu'elle a un logiciel malveillant sur son micro; cette personne devrait-elle impérativement prendre des cours d'informatique; de programmation; sur la conception d'un os pour pouvoir gérer son problème ?

Sur ce, je vous laisse réfléchir, et vais suivre votre indication, c'est à dire passer mon chemin vu votre intérêt pour mon problème.

Je tiens par ailleurs, remercier les personnes aillant donné d'un peu de leurs temps pour m'éclaircir.

PS : je ne connaissait pas encore cette mentalité sur ce forum. Je ne pense donc pas y rester plus longtemps.

Cordialement.

Alexis

Re: condition si $variable == quelquechose

par xTG » 13 oct. 2010, 20:32

Il serait bon de lire un peu des cours ou des tutoriaux sur le langage avant de s'engager dans de tels systèmes...
Car comme on peut le voir à tes réponses tu ne connais même pas les bases les plus petites.

La variable $_POST ne signifie rien pour toi, les données émises par un formulaire ne te font susciter aucune expression favorable donc...

Je rappellerai donc gentiment que ce forum est là pour aider, mais pas pour faire la programmation de votre système à votre place.
Vous avez un problème ? Venez l'exposer, vous avez un code à faire et n'y connaissez rien ? Passez votre chemin et aller apprendre le langage...

Re: condition si $variable == quelquechose

par Alexis55000 » 13 oct. 2010, 20:25

Comment je fait alor ^^

Re: condition si $variable == quelquechose

par Aureusms » 13 oct. 2010, 19:23

Cela veut dire : retour formulaire que tu as surement créé!!! Sinon, bah, ca marche pô...

Re: condition si $variable == quelquechose

par Alexis55000 » 13 oct. 2010, 15:20

Alors j'ai essayé, mais que ce soit un membre qui se connecte ou un administrateur, c'est toujours la pages "page_administrateur.php" qui s'affiche.

voila le code un tout petit peu modifié :
$requete = "SELECT ID_Utilisateur,type FROM Comptes_Utilisateurs WHERE Adresse_Email = '".addslashes($_POST["retour_forumualire_a_creer"])."' LIMIT 1";
$resultat_sql = mysql_query ($requete);

if (mysql_num_rows ($resultat_sql) != 0)
{
  //l'utilisateur existe
  $resultat = mysql_fetch_assoc($resultat_sql);
  switch ($resultat["type"])
  {
  default :
  case "membre" :
  include_once ("page_membre.php");
  break;
 
  case "Moderateur" :
  include_once ("page_moderateur.php");
  break;

  case "Administrateur" :
  include_once ("page_administrateur.php");
  break;

  }
}
else
{
  //existe pas
 echo 'enregistrez vous';
}
par contre j'ai pas bien compris la ligne là :
.addslashes($_POST["retour_forumualire_a_creer"])."' LIMIT 1

Re: condition si $variable == quelquechose

par alexis55000 » 13 oct. 2010, 14:44

Tout d'abord, merci ^^

Aureusms je vais tester ce que tu me propose et je te tiens au courant, mais je crois avoir compris. (quelques petites pages du site du zéro me reviennes ^^)

Re: condition si $variable == quelquechose

par Aureusms » 12 oct. 2010, 22:01

Tu testes d'abord si ton utilisateur est bien enregistré via :
$requete = "SELECT ID_Utilisateur,type FROM matable WHERE Adresse_Email = '".addslashes($_POST["retour_forumualire_a_creer"])."' LIMIT 1",
$resultat_sql = mysql_query ($requete);

if (musql_num_rows ($resultat_sql) != 0)
{
  //l'utilisateur existe
  $resultat = mysql_fetch_assoc($resultat_sql);
  switch ($resultat["type"])
  {
  default :
  case "membre" :
  include_once ("page_membre.php");
  break;
 
  case "Moderateur" :
  include_once ("page_moderateur.php");
  break;

  case "Administrateur" :
  include_once ("page_administrateur.php");
  break;

  }
}
else
{
  //existe pas
 echo 'enregistrez vous';
}
Voilà pour le principe

Re: condition si $variable == quelquechose

par xTG » 12 oct. 2010, 19:06

Connais-tu le fondement des requêtes SQL ? Car le principe est tout simple.
Tu récupères les informations de ton membre et tu testes la valeur du champ type, en fonction de ça tu affiches ce que tu désires.

Re: condition si $variable == quelquechose

par Alexis55000 » 12 oct. 2010, 18:11

personne ne sait ??

jlaisserais pas tomber pour autant ^^

condition si $variable == quelquechose

par Alexis55000 » 11 oct. 2010, 22:41

Bonjour,

tout d'abord, je tiens a précisé que je début en partant du début dans le domaine du php ^^.

Bon j'expose mon premier probleme :

j'ai créer une petite section connexion membre c'est à dire, que l'on peut s'inscrire sur mon site (c'est un site que je créer pour apprendre le php, donc c'es tout basique).

et là j'aimerais créer une page par groupe de membre. c'est à dire une page pour les membres du groupe Administrateur, une pour le groupe Modérateur, et Membre simple.

voici ma table :

Colonne Type Null Défaut Commentaires
ID_Utilisateur int(20) Non
Nom_Utilisateur varchar(20) Non
Mot_de_Passe varchar(32) Non
Adresse_Email varchar(255) Non
Date_Inscription int(10) Non
Compte_Active enum('0', '1') Non
Clef_Activation varchar(8) Non
type set('membre', 'Moderateur', 'Administrateur') Non

donc j'aimerais que lorsqu'un membre est connécté, dans le menu apparait un lien; "Administration" et "mon profil" pour les administrateurs, "Administration" et "mon profil" pour les modérateurs, et "mon profil"

petite précision, quand un utilisateur est conécté, cela créer un cookie avec la variable "ID_Utilisateur"

je vous rappel que je suis débutant de chez débutant ^^

merci d'avance pour ceux qui cherchent !