Condition en PHP

Résolu/Fermé
Romi3600 Messages postés 83 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 18 juin 2009 - 24 févr. 2009 à 23:37
Romi3600 Messages postés 83 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 18 juin 2009 - 27 févr. 2009 à 19:32
Bonjour,
Je souhaite faire un code PHP , que voici :

<?php $pseudorcp = $_POST['pseudo'] ?>;
		  <?php $passrcp = $_POST['pass'] ?>;
	     <?php if ($pseudorcp == "admin" AND $passrcp == "crapule15"); ?>
		 <?php
		 {
		 	echo "Vos Accès sont correcte ! Patientez nous vous redirigeons vers le panel d'administration ";
		 $code = '<META http-equiv="refresh" content="1; URL=paneladmin.php">'; ?> 
		 <?php echo $code ?>; <?php
		 } ?>


Je souhaite que si les identifiants sont correcte en redirige sur paneladmin.php
Sinon non et on redirige sur erreur.html

Mais la je bloque sur la condition , celle-ce s'applique pas , il redirige meme si le pass est faux pourquoi ?

Merci d'avance
A voir également:

10 réponses

neogenesis Messages postés 4748 Date d'inscription dimanche 19 octobre 2008 Statut Contributeur Dernière intervention 24 janvier 2010 512
25 févr. 2009 à 00:48
Salut,

C'est tes balises php qui font tout bugger :-)

Pourquoi tu les répètes à chaque ligne ?

Fais simplement <?php avant de mettre ton bloc php ensuite ferme avec ?>
2
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
25 févr. 2009 à 03:52
Salut,

c'est pas exactement tes balises PHP qui font tout bugger, ça pourrai marcher avec autant de balises mais c'est plutôt que tu mets des ';' quasiment à chaque ligne ET au mauvais endroits ! lol
Et surtout, t'en met pour la condition ... aoutchh ^_^'
voici le bon code :

<?php 
  $pseudorcp = $_POST['pseudo'];
  $passrcp = $_POST['pass'];
  if ($pseudorcp == "admin" AND $passrcp == "crapule15"){
       echo "Vos Accès sont correcte ! Patientez nous vous redirigeons vers le panel d'administration";
       echo '<META http-equiv="refresh" content="1; URL=paneladmin.php">';
  }
?>


A+

Gaerebut
1
kryoportail Messages postés 222 Date d'inscription dimanche 10 août 2008 Statut Membre Dernière intervention 22 mai 2014 125
25 févr. 2009 à 06:29
Salut,

'gaerebut' a raison...

J'ajouterais juste que '$_POST['pseudo']' est une variable utilisateur et comme toute variable venant de l'utilisateur il faut la tester....

if( isset($_POST['pseudo']) )
{
...
}


et pour la redirection... vu que tu utilises PHP pourquoi ne pas directement envoyer ça avec les headers au lieu d'utiliser la balise meta !!?

header('/adminpanel/index.php',301);
exit();



Amicalement,
S@M...
1
tu as plus facile regarde:
tu fais ton formulaire qui 'POST' vers ta page panel.php
et apres si tu veux une interdiction pour mauvais id's voila le code:

<?php
if(isset($_POST['pseudo']) AND isset($_POST['pass'])) //tu nome tes variables
{  //on oublie pas d'ouvrir la condition
	if($_POST['pseudo'] == 'nathan' AND $_POST['pass'] == '010203') // tu donne les bons id
	{ ?> //on ferme
	
<h2>LE BON TEXT S'AFFICHE Nous vous redirigons vers votre...</h2>
<?php    //on reouvre
}
else   //sinon si le gars post de mauvais id, on lui affiche ceci:
{  //boléens
?>
<h2>Mauvais ID's!!! Retournez à L'authentification</h2>
<?php
	} //ferme les boléens
}	//et on oublie pas de fermer la condition
?>


Et normalement si le gars marque de mauvais id's ça lui affichera le texte de ton choix
et si tu marque tes bons id's ça marche...

J'espere que je t'ai aidé!

A bientôt !!!!!!!
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tu as plus facile regarde:
tu fais ton formulaire qui 'POST' vers ta page panel.php
et apres si tu veux une interdiction pour mauvais id's voila le code:

<?php
if(isset($_POST['pseudo']) AND isset($_POST['pass'])) //tu nome tes variables
{  //on oublie pas d'ouvrir la condition
	if($_POST['pseudo'] == 'nathan' AND $_POST['pass'] == '010203') // tu donne les bons id
	{ ?> //on ferme
	
<h2>LE BON TEXT S'AFFICHE Nous vous redirigons vers votre...</h2>
<?php    //on reouvre
}
else   //sinon si le gars post de mauvais id, on lui affiche ceci:
{  //boléens
?>
<h2>Mauvais ID's!!! Retournez à L'authentification</h2>
<?php
	} //ferme les boléens
}	//et on oublie pas de fermer la condition
?>


Et normalement si le gars marque de mauvais id's ça lui affichera le texte de ton choix
et si tu marque tes bons id's ça marche...

J'espere que je t'ai aidé!

A bientôt !!!!!!!
1
Romi3600 Messages postés 83 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 18 juin 2009 3
25 févr. 2009 à 10:33
Ok merci de toutes vos réponses , je vois que j'ai encore beaucoup a apprendre

Bonne journée a vous et merci !
0
neogenesis Messages postés 4748 Date d'inscription dimanche 19 octobre 2008 Statut Contributeur Dernière intervention 24 janvier 2010 512
25 févr. 2009 à 10:33
Hep, part pas si vite !

Tu devrais y faire un tour :

http://www.phpdebutant.org

@+
0
Bien sur tu remplace nathan et 010203 par tes id's!
0
Romi3600 Messages postés 83 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 18 juin 2009 3
26 févr. 2009 à 15:12
Oui merci beaucoup !!
0
Romi3600 Messages postés 83 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 18 juin 2009 3
26 févr. 2009 à 15:14
Heu les agrs , c'est pour un autre projet :
rien ne s'inscrit dans la table , c'est pas normale , pourtant tout m'a l'air juste , où peut-etre l'erreur ?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Vos achats</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	
   </head>
   <link rel="stylesheet" media="screen" type="text/css" title="Exemple" href="design.css" />
 
<body>
 
       <!-- L'en-tête -->
 <center>
       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div id="en_tete"> 
           
       </div>
 </center>
       <!-- Les menus -->
 
       <div id="menu">        
           <div class="element_menu">
               <h3>Mes infos. </h3>
               <ul>
                   <li><a href="moi.html">Moi</a></li>
                   <li><a href="codes.html">Mes Codes </a></li>
                   <li><a href="paiement.html">Votre demande </a></li>
               </ul>
           </div>
       
           <div class="element_menu">
               <h3>Le staff </h3>
               <ul>
                   <li><a href="staff.html">L'&eacute;quipe</a></li>
                   <li><a href="specialiste.html">Les Sp&eacute;cialit&eacute;s </a></li>
                   <li><a href="partenaires.html">Les partenaires </a></li>
               </ul>
           </div>        
       </div>
 
       <!-- Le corps -->
 
<div id="corps">
           <h1>Merci de votre commande.  </h1>
<p> 
    <?php mysql_connect("localhost", "romi36", "******");
mysql_select_db("cs_virtuel"); ?>
<?php $reponse = mysql_query("SELECT * FROM formualire "); 
echo $reponse ?>
<?php
$nomrcp = $_POST['nom'];
$prenomrcp = $_POST['prenom'];
$emailrcp = $_POST['email'];
$comrcp = $_POST['com'];
$pseudorcp = $_POST['pseudo'];
$commentsrcp = $_POST['comments'];
?>
<?php
mysql_query("INSERT INTO formulaire VALUES('', '', '$nomrcp', '$prenomrcp', '$pseudo', '$emailrcp','$comrcp', '$commentsrcp', '')"); ?>
 
  <p>
         Merci de celle-ci , nous vous prions de bien vouloir aller payer <a href="http://doudou.romi36.bilou042-hosting.eu/paiement.html">ICI</a>
		 
		 Les denières commandes : <?php echo $reponse ?>
         
</div>
 
       <!-- Le pied de page --><br />
       <div id="pied_de_page">
           <p>Copyright "Romi36 - Doudou118 Corporation" 2009, tous droits réservés</p>
       </div>
 
</body>
</html>
0
kryoportail Messages postés 222 Date d'inscription dimanche 10 août 2008 Statut Membre Dernière intervention 22 mai 2014 125
27 févr. 2009 à 06:41
Re,

<?php
mysql_connect("localhost", "romi36", "******");
mysql_select_db("cs_virtuel"); ?>
$reponse = mysql_query("SELECT * FROM formualire "); 
echo $reponse
 ?>


Oula, y a pas mal de chose qui manque là....

mysql_query renvoie une ressource et non pas une chaine de caractères !
la variable '$reponse' n'est donc pas exploitable directement par la commande 'echo'...
Tout ce que tu dois savoir sur Mysql et PHP se trouve la : https://www.php.net/manual/en/mysql.php
Note : un petit cours sur la théorie des bases de données ne te ferait pas de mal non plus à mon avis...

D'autre part, et comme déjà dit, il est impératif de vérifier, et contrôler les variables entrées par l'utilisateur...
1. Leur existence, si la variable $_POST['nom'], n'existe pas tu vas récupérer un avertissement dans le meilleur des cas, dans le pire des cas, le programme s'arrête (mode strict de PHP).
2. Tu te sers de ces variables pour composer une requête d'insertion sans les échapper : C'EST TRÈS DANGEREUX ! CF : INJECTIONS SQL ! Tu trouveras des explications ici : https://fr.wikipedia.org/wiki/Injection_SQL

Enfin, il serait bon de gérer les erreurs... en PHP 5 cela donnerait un truc du genre :

try
{ // Une exception survenant dans ce bloc sera capturée et redirigera le programme vers le bloc 'catch'...

   $dbLink = mysql_connect("localhost", "romi36", "******");
   mysql_select_db("cs_virtuel", $dbLink); ?>
   $dbRet = mysql_query("SELECT * FROM formualire ", $dbLink);  // On récupère le résultat sous forme de ressource
   $Row = mysql_fetch_row($dbRet);  // On récupère la première ligne du résultat sous forme de tableau
   echo  $Row[0] . $Row[1];               // On affiche la concaténation des 2 premières cases de la ligne récupérée
   mysql_free_result($dbRet);             // On libère la ressource résultat pour éviter d'encombrer la mémoire, puisqu'on en a plus besoin !...

// On teste, et on échappe les variables utilisateur...
$aUserVarNames = array( 'nom', 'prenom', 'email', 'com', 'pseudo', 'comments' );
$aUserVarValues = array();
foreach( $aUserVarNames as $sUserVarName )
{
   if( isset($_POST[$sUserVarName]) )
   {
        $aUserVarValues[] = '\'' . mysql_real_escape_string($_POST[$sUserVarName]) . '\'';
   } 
   else
   {
       throw new Exception( 'La variable ' . $sUserVarName . ' n\'est pas définie !' );
   }
}


mysql_query( 'INSERT INTO formulaire VALUES('', '', ' . explode( ', ', $aUserVarValues ) .  ', '')');

echo 'Tout s'est bien passé ! Merci de votre visite !';

}
catch( Exception $Ex )
{ // Gestion en cas d'erreur...

      die ('Une erreur est survenue au cours du traitement de votre demande, merci de bien vouloir prévenir le webmaster si le problème persiste....' . htmlentities((string)$Ex) );

}


Bien évidement le code ci-dessus, est un guide, une piste ... Il doit être adapté en fonction de tes besoins...
Mais tu devrais te documenter, et t'exercer je pense avant de t'attaquer à un site de commerce !....

Amicalement,
S@M...
http://kryoportail.ath.cx
0
Romi3600 Messages postés 83 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 18 juin 2009 3
27 févr. 2009 à 19:32
J'ai un projet aussi , c'est de faire comme les pompiers , je m'explique , j'ai un CSP , centre de secours principal Virtuel , il me faudrait un tableau dans lequel j'ai des véhicules , VSAV1 , 2 , 3 , 4 ... Bref
Et faudrait que je puisse par le moyen d'un table mysql changer la coluer de fond de la cellule du tableau , rouge => Indisponible , Bleu => En intervention , Blanc => Dispo

Mais voila , j'esssaye depuis 2 jours déja , et je n'y arrive pas , le proble et la récupération des données et leur entrés la cellule , enfin , j'y arrive pas ! Si vous avez des indices des idées , des pistes !?

Merci beaucoup

Romi
0