Page 1 sur 2
Faire une condition
Posté : 15 févr. 2013, 21:14
par r88
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
Re: Faire une condition
Posté : 15 févr. 2013, 22:20
par yann18
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é.
Re: Faire une condition
Posté : 16 févr. 2013, 00:30
par sirakawa
<?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
';
?>
Re: Faire une condition
Posté : 16 févr. 2013, 09:26
par r88
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
Re: Faire une condition
Posté : 16 févr. 2013, 11:00
par sirakawa
Mais non!!!!!
if($statut['type'] == 'Association') >>>> if($statut == "Association")
Re: Faire une condition
Posté : 16 févr. 2013, 11:20
par r88
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
Re: Faire une condition
Posté : 16 févr. 2013, 12:53
par damien_55
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'; }
}
?>
Re: Faire une condition
Posté : 16 févr. 2013, 14:29
par sirakawa
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
Re: Faire une condition
Posté : 16 févr. 2013, 16:09
par r88
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
Re: Faire une condition
Posté : 16 févr. 2013, 16:19
par sirakawa
juste après $req=...;
il faut mettre le
$data = mysql_fetch_assoc($data);
quand je contestais, c'était le while que je contestais
Re: Faire une condition
Posté : 16 févr. 2013, 16:26
par r88
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é';
?>
Re: Faire une condition
Posté : 16 févr. 2013, 16:29
par sirakawa
<?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é';
?>
Re: Faire une condition
Posté : 16 févr. 2013, 16:38
par r88
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
Re: Faire une condition
Posté : 16 févr. 2013, 17:21
par sirakawa
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
Re: Faire une condition
Posté : 16 févr. 2013, 17:29
par r88
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 ;