[RESOLU] Faire une condition

r88
Eléphanteau du PHP | 11 Messages

15 févr. 2013, 21:14

Bonjour,
Je veux afficher une phrase sur mon site suivant que le mebre soit société ou association : Je m'éxplique :::

J'ai mon espace session id :
table user :
lors de l'inscription les membre selection : particulier ou societe ou association.Cette donnée s'enregistre dans : users, champs "type"
En se connectant le membre arrive sur une page session.
Si le membre a d'enregistré "PARTICULIER", je veux que "DDDDDDD" s'affiche
Si le membre a d'enregistré "SOCIETE", je veux que "EEEEEE" s'affiche
Si le membre a d'enregistré "ASSOCIATION", je veux que "AAAAAAA" s'affiche

Alors j'ai fait :

Code : Tout sélectionner

<?php $sql = 'SELECT * FROM users'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data = mysql_fetch_assoc($req)) if($data['type'] == 'Association') echo 'Vous etes une association<br/>'; elseif ($data['type'] == 'Particulier') echo 'Vous etes un particulier<br />'; elseif ($data['type'] == 'Société') echo 'Vous etes une societe<br />'; ?>
Et ca marche pas !!!

Avez vous une idée ?
Merci d'avance

Mammouth du PHP | 571 Messages

15 févr. 2013, 22:20

salut,

tu peux écrire un script d'authentification qui vérifie le login et le password fournis par l'internaute. En cas de succès, tu mets en session le type d'utilisateur désiré.

Mammouth du PHP | 2278 Messages

16 févr. 2013, 00:30

<?php
//globalement: mysqli doit être préféré à mysql (cf manuel)
$sql = 'SELECT * FROM users';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
//je me demande bien pourquoi un while quand il y a une seule personne à la fois
while($data = mysql_fetch_assoc($req))
//au lieu de s'embêter avec des if, switch ferait bien l'affaire
    $statut = $data['type'];
    switch ($statut)
    {
     case "Association":
        $message = "vous êtes une association";
      break;
     case "Particulier:
        $message = "vous êtes un particulier";
     break;
     case "Société:
        $message = "vous êtes une sociétér";
     break;    
    }
echo ($message);
?>
sinon tenter
<?php
//globalement: mysqli doit être préféré à mysql (cf manuel)
$sql = 'SELECT * FROM users';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
//je me demande bien pourquoi un while quand il y a une seule personne à la fois
//$statut = $data['type'];
//remplacer $data['type'] par $statut
//et si ça ne marche pas ajouter dans les deux cas
//var_dump ($statut);
ou
//var_dump($data['type'});

//et en fin
//var_dump($data);
    if($data['type'] ==  'Association')   
        echo 'Vous etes une association<br/>';
       elseif ($data['type'] == 'Particulier')   
           echo 'Vous etes un particulier';
               elseif ($data['type'] == 'Société')   
                    echo 'Vous etes une societe
';
 ?>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

r88
Eléphanteau du PHP | 11 Messages

16 févr. 2013, 09:26

J'ai tout éssayé, ca marche pas.

J'ai fait ca :
<?php
 $sql = 'SELECT type FROM users';
 $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 $statut = $data['type'];
     if($statut['type'] ==  'Association')   
        echo 'Vous etes une association<br/>';
        elseif ($statut['type'] == 'Particulier')   
           echo 'Vous etes un particulier';
                elseif ($statut['type'] == 'Société')   
                    echo 'Vous etes une societe
 ';
  ?>
Ca marche pas, avez vous la source du problème ?
Merci d'avance

Mammouth du PHP | 2278 Messages

16 févr. 2013, 11:00

Mais non!!!!!

if($statut['type'] == 'Association') >>>> if($statut == "Association")
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

r88
Eléphanteau du PHP | 11 Messages

16 févr. 2013, 11:20

autant pour moi :

J'ai mis :
<?php
 $sql = 'SELECT * FROM users';
 $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
 $statut = $data['type'];
     if($statut == "Association") 
        echo 'Vous etes une association<br/>';
        elseif ($statut == "Particulier")   
           echo 'Vous etes un particulier';
                elseif ($statut == "Société")   
                    echo 'Vous etes une Société';				
?>
Rien ne s'affiche

Mammouth du PHP | 504 Messages

16 févr. 2013, 12:53

Peut etre
<?php
$sql = 'SELECT * FROM users';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_array($req)) {

if($data['type'] ==  'Association')    {
echo 'Vous etes une association<br/>'; }

elseif ($data['type'] == 'Particulier')   { 
echo 'Vous etes un particulier';}

elseif ($data['type'] == 'Société')  {  
echo 'Vous etes une societe'; }

}
 ?>

Mammouth du PHP | 2278 Messages

16 févr. 2013, 14:29

autant pour moi :

J'ai mis :
<?php
 $sql = 'SELECT * FROM users';
 $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
//il faut un fetch quelque chose 
//var_dump($data); donne quoi?
 $statut = $data['type'];
//ajoute echo($statut); ce qu'il faut toujours faire quand les choses ne vont pas comme on veut
     if($statut == "Association") 
        echo 'Vous etes une association<br/>';
        elseif ($statut == "Particulier")   
           echo 'Vous etes un particulier';
                elseif ($statut == "Société")   
                    echo 'Vous etes une Société';				
?>
Rien ne s'affiche
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

r88
Eléphanteau du PHP | 11 Messages

16 févr. 2013, 16:09

quand je mets cela :
<?php
  $sql = 'SELECT * FROM users';
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
var_dump($data);
  $statut = $data['type'];
echo($statut); 
      if($statut == "Association") 
        echo 'Vous etes une association<br/>';
         elseif ($statut == "Particulier")   
           echo 'Vous etes un particulier';
                 elseif ($statut == "Société")   
                    echo 'Vous etes une Société';                             
?>
c'a écrit : NULL
et y'a pas d'echo
alors que j'ai bien une table "type" avec dedans Association

Mammouth du PHP | 2278 Messages

16 févr. 2013, 16:19

juste après $req=...;
il faut mettre le
$data = mysql_fetch_assoc($data);
quand je contestais, c'était le while que je contestais
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

r88
Eléphanteau du PHP | 11 Messages

16 févr. 2013, 16:26

En ajoutant :
$data = mysql_fetch_assoc($data);
ca mets :
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given



<?php
  $sql = 'SELECT * FROM users';
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($data);
      if($statut == "Association") 
        echo 'Vous etes une association<br/>';
         elseif ($statut == "Particulier")   
           echo 'Vous etes un particulier';
                 elseif ($statut == "Société")   
                    echo 'Vous etes une Société';                             
?>

Mammouth du PHP | 2278 Messages

16 févr. 2013, 16:29

<?php
$sql = 'SELECT * FROM users';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
if($statut == "Association")
echo 'Vous etes une association<br/>';
elseif ($statut == "Particulier")
echo 'Vous etes un particulier';
elseif ($statut == "Société")
echo 'Vous etes une Société';
?>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

r88
Eléphanteau du PHP | 11 Messages

16 févr. 2013, 16:38

J'ai mis :::
<?php
 $sql = 'SELECT * FROM users';
 $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
$statut = $data['type'];
 if($statut == "Association")
 echo 'Vous etes une association<br/>';
 elseif ($statut == "Particulier") 
echo 'Vous etes un particulier';
 elseif ($statut == "Société") 
echo 'Vous etes une Société'; 
?>
CA ECRIT TOUJORUS ASSOCIATION

Mammouth du PHP | 2278 Messages

16 févr. 2013, 17:21

J'ai mis :::
<?php
 $sql = 'SELECT * FROM users';
 $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
$statut = $data['type'];
//ce n'est pas pour rien que je disais de mettre
[b]var_dump($statut);[/b]
//Si tu sélectionnes tous les enregistrements de users et si le premier est une association, il n'y a là rien d'étonnant.
//il faudrait faire un select where quelque chose.
//qu'as-tu dans ta table users qui permette d'identifier un utilisateur et qu'il pourrait donner comme renseignement? si tu préfères, structure de tatable users?
 if($statut == "Association")
 echo 'Vous etes une association<br/>';
 elseif ($statut == "Particulier") 
echo 'Vous etes un particulier';
 elseif ($statut == "Société") 
echo 'Vous etes une Société'; 
?>
CA ECRIT TOUJORUS ASSOCIATION
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

r88
Eléphanteau du PHP | 11 Messages

16 févr. 2013, 17:29

en tout cas, merci sirakawa

USERS :
`id` int(11) NOT NULL AUTO_INCREMENT,
`pseudo` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`mdp` varchar(255) NOT NULL,
`type` varchar(255) NOT NULL,
`valide` varchar(3) NOT NULL DEFAULT 'NON',
`ip` varchar(255) NOT NULL,
`date` date NOT NULL,
`remember` char(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=127 ;