Comment envoyer depuis un boutton une page php -> page html?
Résolu/Ferméjordane45 Messages postés 38286 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 novembre 2024 - 24 sept. 2022 à 18:06
- Comment envoyer depuis un boutton une page php -> page html?
- Supprimer une page word - Guide
- Comment traduire une page - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Créer une page facebook - Guide
- Word numéro de page 1/2 - Guide
2 réponses
23 sept. 2022 à 23:18
Bonjour
Pour commencer, il serait bien de nous indiquer qu'elle est l'URL qui apparaît dans ton navigateur Internet lorsque tu obtiens ce message.
Ensuite, il faudrait nous poster ton code complet car là il semble qu'il manque pas mal de choses..
Pense aussi à modifier tous tes fichiers censé être protégé par cette authentification en PHP sinon n'importe qui ayant l'URL pourra se connecter à sa page profil et à celle des autres....
D'ailleurs, pour protéger tes pages, il serait bien que tu te penches sur le fonctionnement des variables de session.
Et au cas où, ne confonds pas la connexion à la base de données et l'authentification de ton utilisateur... La connexion à la base, sert uniquement au programme PHP pour pouvoir effectuer des requêtes SQL dans cette base.
L'authentification de ton utilisateur, passera par une requête SQL qui ira vérifier que son login existe puis en PHP vérifiera que le mot de passe crypté correspond à celui que tu as transpi dans le formulaire.
24 sept. 2022 à 18:06
Ton formulaire fais appel ( et redirige ) vers le fichier de connexion
action="Connection1.php"
Il ne faut donc pas l'inclure dans ta page
<?php include "Connexion1.php"; ?>
En plus tu sembles avoir un fichier de connexion à la bdd en PDO ... et tu greffes un peu au hasard.. des lignes de codes en mysqli ...
Bref, ton code devrait ressembler à ça
<?php //-----------------------------------------// //Démarrage des variables de session //-----------------------------------------// session_start(); //-----------------------------------------// //Affichage des éventuelles erreurs PHP : //( à lire : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code ) //-----------------------------------------// error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //-----------------------------------------// //connexion à la bdd // visiblement, tu as un fichier contenant la connexion en PDO // Merci d'appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs //-----------------------------------------// require_once "database.php"; //-----------------------------------------// // Traitement du formulaire (submit) //-----------------------------------------// if(isset($_POST['formlogin'])) { extract($_POST); if(!empty($lemail) && !empty($lpassword)) { try{ $q= $db->prepare("SELECT * FROM users WHERE email = :email"); $q->execute(['email' => $lemail]); $result = $q->fetch(); //on rempli la variable de session avec les infos de l'utilisateur ( son ID par exemple ) $_SESSION['USER']['ID'] = $result['id']; }catch(Exception $e){ echo "Erreur : " . $e->getMessage(); } //Si la requête a retournée quelquechose if(!empty($result)) { //compte existant $hashpassword = $result['password']; if(password_verify($lpassword, $result['password'])){ //redirection automatique vers une autre page après vérification des conditions en amont header("Location:Monblocnote.html"); // si tu laisses ce fichier en .html, tu ne pourras pas utiliser le php pour vérifier que la variable de session est remplie et qu'il a le droit de voir cette page... exit; } else{ echo " Mais le mot de passe n'est pas correct"; } } else { echo " Mais L'adresse mail ne correspond pas à un compte existant"; } } else { echo "Tous les champs ne sont pas renseignés"; } } ?> <!Doctype html> <html> <head> <meta charset= "utf-8"> <title>Connection</title> <link rel="apple-touch-icon" sizes="57x57" href="img/apple-icon-57x57.png"> <link rel="apple-touch-icon" sizes="60x60" href="img/apple-icon-60x60.png"> <link rel="apple-touch-icon" sizes="72x72" href="img/apple-icon-72x72.png"> <link rel="apple-touch-icon" sizes="76x76" href="img/apple-icon-76x76.png"> <link rel="apple-touch-icon" sizes="114x114" href="img/apple-icon-114x114.png"> <link rel="apple-touch-icon" sizes="120x120" href="img/apple-icon-120x120.png"> <link rel="apple-touch-icon" sizes="144x144" href="img/apple-icon-144x144.png"> <link rel="apple-touch-icon" sizes="152x152" href="img/apple-icon-152x152.png"> <link rel="apple-touch-icon" sizes="180x180" href="img/apple-icon-180x180.png"> <link rel="icon" type="image/png" sizes="192x192" href="img/android-icon-192x192.png"> <link rel="icon" type="image/png" sizes="32x32" href="img/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="96x96" href="img/favicon-96x96.png"> <link rel="icon" type="image/png" sizes="16x16" href="img/favicon-16x16.png"> <link rel="manifest" href="img/manifest.json"> <meta name="msapplication-TileColor" content="#ffffff"> <meta name="msapplication-TileImage" content="img/ms-icon-144x144.png"> <meta name="theme-color" content="#ffffff"> <style> h1{ font-family: 'Century Gothic'; } p{ font-family:'Century Gothic' ; } </style> </head> <body> <header> <center> <h1>Connection</h1> </center> </header> <div> <center> <!-- action ="" ==> Le formulaire redirige sur la même page --> <form method="post" type ="lemail" type ="lpassword" action=""> <p>Votre email :</p> <input type="lemail" name="lemail" id="lemail" required><br/> <br> <br> <p>Votre mots de passe :</p> <input type="lpassword" name="lpassword" id="lpassword" required><br/> <br> <br> <p>Se connecter </p><input type="submit" name="formlogin" id="formlogin" value="..."> </form> </center> </div> </body> </html>
Je te laisse lire les commentaires que j'y ai glissé ... (et les appliquer ! )
Pour ce qui est de ton autre question, merci d'ouvrir une nouvelle discussion propre à son traitement.
Je peux tout de même déjà te dire .. que tu sembles essayer de mettre des instruction apache (qui devraient se trouver dans un fichier .htaccess et/ou dans la config apache de ton serveur ... avec du code php .. et .. non... faut vraiment arrêter de copier/coller des trucs au pifs n'importe où dans les fichiers de ton site sinon tu n'y arrivera pas.
Je te rappelle encore une fois au passage, que si tu laisse l'extension .html à tes fichiers, ceux-ci ne pourront pas exécuter de code php ( et donc vérifier que l'utilisateur est connecté ..) . ( à moins d'avoir fait un paramétrage pariculier dans la config apache de ton serveur... mais je déconseille ! )
Voila. Bonne continuation.
24 sept. 2022 à 13:08
Bonjour;
Alors l'url qu'il est sencé affiché "http://localhost/Pagewebphphtml/Connexion-inscription/Monblocnote.html"mais m'affiche ce si:
http://localhost/Pagewebphphtml/Connexion-inscription/Connection1.php
voilà mon code complet de ma page connexion
Le html:
Le php connection 1 :
le php connexion 2 :
J'espere qu'il y aura tous ce que vous aurez besoin mais ne vous inquietez pas je protegerais mes fichiers pour qu'aucun ne puisse y accedder sans connection.
Merci à l'avance de votre aide!
24 sept. 2022 à 14:20
Ton formulaire redirige bien vers la page qui t'est affichée...
Ton fichier connexion 2 n'est jamais appelé ou utiliser dans le code que tu nous montres...
D'ailleurs, son code devrait se trouver à l'intérieur du fichier connexion 1 vers la ligne 36.
24 sept. 2022 à 14:40
De cette façon ?
Mais j'ai tjrs le meme probleme
Mais sinon pendant ce temps là j'ai trouvé de la protection de l'url pouvez me dire si il est juste.