Condition en PHP

Résolu
Romi3600 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -  
Romi3600 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Contributeur Dernière intervention   523
 
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   Statut Membre Dernière intervention   171
 
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   Statut Membre Dernière intervention   125
 
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
nathanael
 
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
nathanael
 
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   Statut Membre Dernière intervention   3
 
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   Statut Contributeur Dernière intervention   523
 
Hep, part pas si vite !

Tu devrais y faire un tour :

http://www.phpdebutant.org

@+
0
nathanael
 
Bien sur tu remplace nathan et 010203 par tes id's!
0
Romi3600 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   3
 
Oui merci beaucoup !!
0
Romi3600 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   125
 
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   Statut Membre Dernière intervention   3
 
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