Aller au contenu

Nimra

Membre
  • Compteur de contenus

    2
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. tout d'abord merci, par contre j'ai un autre soucis depuis tout à l'heure, tout marchait très bien pour le login et maintenant impossible d'avoir accès au backoffice... Le code que j'ai écrit vient du prof qui m'avait donné les cours, c'est lui qui nous avait montré comme ça, mais je prends en compte tes remarques pour que mon code soit plus propre. Voila le code de la page admin : <?php require_once('inc/connexion.php'); session_start(); //-------------------------------------------------- $action=isset($_REQUEST['action'])?$_REQUEST['action']:''; $identifiant=isset($_REQUEST['identifiant'])?$_REQUEST['identifiant']:''; $motDePasse=isset($_REQUEST['motDePasse'])?$_REQUEST['motDePasse']:''; //-------------------------------------------------- if($action=='valider'){ $identifiant=mysqli_real_escape_string($connex,$identifiant); $motDePasse=mysqli_real_escape_string($connex,$motDePasse); $req="SELECT * FROM utilisateur WHERE identifiant='{$identifiant}' AND motDePasse='{$motDePasse}'"; $jeu=mysqli_query($connex,$req); if(mysqli_num_rows($jeu)){ // Générer un idSession $idSession=md5(uniqid('',true)); // Placer idSession dans la session $_SESSION['idSession']=$idSession; // Stocker idSession dans la table $req="UPDATE utilisateur SET idSession='{$idSession}' WHERE identifiant='{$identifiant}'"; mysqli_query($connex,$req); // Rediriger vers /admin header("Location:admin/index.php"); exit; } } ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Connexion</title> </head> <body> <form name="form1" action="admin.php?action=valider" method="post"> <p align="center">Connexion</p> <?php if($action=='valider'){ ?> <p align="center">Identifiant ou mot de passe incorrects !</p> <?php } ?> <table align="center"> <tr> <th>Identifiant</th> <td><input name="identifiant" type="text" value="<?php echo htmlspecialchars($identifiant) ?>" size="10" maxlength="10" required></td> </tr> <tr> <th>Mot de passe</th> <td><input name="motDePasse" type="password" size="10" maxlength="10" required></td> </tr> <tr> <th> </th> <td><input type="submit" value="Connexion"></td> </tr> </table> </form> </body> </html> Et voila l'erreur générée par php : Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\wamp\www\Lepianoenchantesite\admin.php on line 15 Plus ça va, plus je me dit que ce prof nous a fait faire n'importe quoi. Ce code marchait très bien jusqu'à tout à l'heure, je ne comprends pas pourquoi il bugue maintenant. Je suis allée voir plein de tuto mais je n'en trouve pas de simple où il explique la connexion à la base de données pour les sessions, ils prennent tous des exemples où les variables identifiant et mot de passe sont déclarée sur la page. Un petit indice ? Merci encore Blackpage
  2. Bonjour, je me trouve face à un problème depuis le début de la journée et je ne sais pas comment y remédier. J'ai un formulaire dont je dois récupérer les données pour les stocker dans un base de données puis les afficher dans une page admin où l'administrateur pourra gérer ses clients. J'ai essayé en simplifiant au maximum le formulaire pour voir où était l'erreur... ça marche, mais dès que je repasse sur le code de sépart, rien ne se passe. Je ne comprends plus et j'ai la tête comme une cocotte à force d'écumer les forums qui ne répondent pas réellement à mon problème. (j'ai volontairement mis les selecteurs à choix unique en commentaire, d'abord parce que je ne sais pas les traiter, et surtout parce que je voulais tenter sans trop de données à inserer). Et désolée le code n'est pas indenté. Quelqu'un pour me secourir ??? S'il vous plait... voila le code de la page 1 : form_commande.php <?phprequire_once('inc/connexion.php');//--------------------------------------------------$action=isset($_REQUEST['action'])?$_REQUEST['action']:'';$id_commande=isset($_REQUEST['id_commande'])?$_REQUEST['id_commande']:0;$PcNom=isset($_REQUEST['PcNom'])?$_REQUEST['PcNom']:'';$PcPrenom=isset($_REQUEST['PcPrenom'])?$_REQUEST['PcPrenom']:'';$PcTel=isset($_REQUEST['PcTel'])?$_REQUEST['PcTel']:'';$PcMail=isset($_REQUEST['PcMail'])?$_REQUEST['PcMail']:'';$couleur=isset($_REQUEST['couleur'])?$_REQUEST['couleur']:'';$type=isset($_REQUEST['type'])?$_REQUEST['type']:'';$sonorite=isset($_REQUEST['sonorite'])?$_REQUEST['sonorite']:'';$marque=isset($_REQUEST['marque'])?$_REQUEST['marque']:'';//--------------------------------------------------if($action=="valider"){ // Update if($id_commande){ $req="UPDATE ana_commande SET PcNom='{$PcNom}', PcPrenom={'$PcPrenom}', PcTel={$PcTel}, PcMail='{$PcMail}' WHERE id_commande={$id_commande}"; mysqli_query($connex,$req); } // Insert else{ $req="INSERT INTO ana_commande VALUES(NULL,'{$PcNom}',{$PcPrenom}, {$PcTel}, '{$PcMail}')"; mysqli_query($connex,$req); } // Redirection header("Location:commandeP.php"); exit;}//--------------------------------------------------?><!doctype html><html><head><meta charset="utf-8"><title>Commande de piano d'exception</title><link href="css/formu_style.css" rel="stylesheet" type="text/css"></head><body><form id="commandeP" method="post" action="commandeP.php?action=valider" enctype="multipart/form-data"> <fieldset><legend id="legend2">Bon de commande : Votre piano d'exception</legend><input type="hidden" name="id_commande" value="<?php echo $id_commande ?>"><div class="myName"><label>Votre nom</label><input type="text" name="PcNom" class="textfield" value="<?php echo $PcNom ?>" required/></div><div class="myFirstname"><label>Votre prénom</label><input type="text" name="PcPrenom" class="textfield" value="<?php echo $PcPrenom ?>" required/></div><div class="myEmail"><label>Votre E-mail</label><p class="hint">Rentrez une adresse e-mail valide</p><input type="email" name="PcMail" class="textfield" value="<?php echo $PcMail ?>" /></div><!--<div class="Couleur"><label>Couleur</label><select class="dropdown" name="couleur" ><option value="">Choisissez une couleur</option><option value="Noir">Noir</option><option value="Blanc">Blanc</option><option value ="Marron">Marron</option></select></div><div class="type"><label>Type de piano</label><select class="dropdown" name="type" ><option value="">Choisissez le type de piano</option><option value="Quart de queue">Quart de queue</option><option value="Demi queue">Demi queue</option><option value ="Queue">Queue</option></select></div><div class="type"><label>Sonorité et timbre</label><select class="dropdown" name="sonorite"><option value="">Choisissez une Sonorité</option><option value="Grave">Grave</option><option value="Médium">Médium</option><option value ="Métallique">Métallique</option></select></div><div class="type"><label>Marque</label><select class="dropdown" name="marque" ><option value="">Choisissez la marque</option><option value="Bechstein">Bechstein</option><option value="Bösendorfer">Bösendorfer</option><option value="Petrof">Petrof</option><option value="Pleyel">Pleyel</option><option value="Steinway">Steinway</option><option value="Yamaha">Yamaha</option></select></div><!--<div class="myFirstname"><label>Date de fabrication</label><input type="date" max="2013-01-01" min="1700-01-01" name="date" required></div><div class="myComments"><label>Votre message</label><p class="hint">Soyez le plus clair possible pour que nous puissions répondre à votre demande</p><textarea cols="60" rows="10" class="textarea"></textarea></div>--><div class="sendTip"><input type="submit" name="valider" value="Valider" class="btn" /></div></fieldset></form></body></html> Voila la deuxième page : commandeP.php <?phprequire_once('inc/connexion.php');//--------------------------------------------------$action=isset($_REQUEST['action'])?$_REQUEST['action']:'';$id_commande=isset($_REQUEST['id_commande'])?$_REQUEST['id_commande']:0;$PcNom=isset($_REQUEST['PcNom'])?$_REQUEST['PcNom']:'';$PcPrenom=isset($_REQUEST['PcPrenom'])?$_REQUEST['PcPrenom']:'';$PcTel=isset($_REQUEST['PcTel'])?$_REQUEST['PcTel']:'';$PcMail=isset($_REQUEST['PcMail'])?$_REQUEST['PcMail']:'';$couleur=isset($_REQUEST['couleur'])?$_REQUEST['couleur']:'';$type=isset($_REQUEST['type'])?$_REQUEST['type']:'';$sonorite=isset($_REQUEST['sonorite'])?$_REQUEST['sonorite']:'';$marque=isset($_REQUEST['marque'])?$_REQUEST['marque']:'';//--------------------------------------------------?><!doctype html><html><head><meta charset="utf-8"><title>Document sans titre</title></head><body><p>Votre commande a bien été enregistrée, vous recevrez par mail le document en pdf</p><?phpecho '<p>'.$PcNom.','.$PcPrenom.','.$PcTel.','.$PcMail.','.$couleur.','.$type.','.$sonorite.','.$marque.'</p>'; ?></body></html> sur cette deuxième page j'ai bien les variables qui s'affichent telles que choisies grace à l'echo mais rien ne s'insère dans la base de données... pourquoi ? base de données structure de la table ana_commande : Colonne Type Interclassement Attributs Null Défaut Extra Actionid_commande int(10) Non Aucun AUTO_INCREMENTPcNom varchar(20) utf8_unicode_ci Oui NULLPcPrenom varchar(20) utf8_unicode_ci Oui NULLPcTel int(10) Oui NULLPcMail varchar(20) utf8_unicode_ci Oui NULLcouleur varchar(20) utf8_unicode_ci Oui NULLtype varchar(20) utf8_unicode_ci Oui NULLsonorite varchar(20) utf8_unicode_ci Oui NULLmarque varchar(20) utf8_unicode_ci Oui NULL MERCI D'AVANCE à celui ou celle qui voudra bien prendre un peu de son temps pour me répondre.
×