Problème formulaire d'inscription PHP
fel_thll
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis entrains de créer un site web qui n'est pas encore en ligne , et quand je créer un formulaire d'inscription en php, j'ouvre le fichier que j'ai nommé inscription.php, et au lieu d'afficher la page avec le formulaire sur google chrome (le site n'est pas en ligne) ça affiche le code php.
Merci de votre réponse
Voici le code :
EDIT : Ajout des balises de code
Je suis entrains de créer un site web qui n'est pas encore en ligne , et quand je créer un formulaire d'inscription en php, j'ouvre le fichier que j'ai nommé inscription.php, et au lieu d'afficher la page avec le formulaire sur google chrome (le site n'est pas en ligne) ça affiche le code php.
Merci de votre réponse
Voici le code :
<?php // on teste si le visiteur a soumis le formulaire if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') { // on teste l'existence de nos variables. On teste également si elles ne sont pas vides if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) { // on teste les deux mots de passe if ($_POST['pass'] != $_POST['pass_confirm']) { $erreur = 'Les 2 mots de passe sont différents.'; } else { $base = mysql_connect ('serveur', 'login', 'password'); mysql_select_db ('nom_base', $base); // on recherche si ce login est déjà utilisé par un autre membre $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); if ($data[0] == 0) { $sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")'; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); session_start(); $_SESSION['login'] = $_POST['login']; header('Location: membre.php'); exit(); } else { $erreur = 'Un membre possède déjà ce login.'; } } } else { $erreur = 'Au moins un des champs est vide.'; } } ?> <html> <head> <title>Inscription</title> </head> <body> Inscription à l'espace membre :<br /> <form action="inscription.php" method="post"> Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br /> Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br /> Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br /> <input type="submit" name="inscription" value="Inscription"> </form> <?php if (isset($erreur)) echo '<br />',$erreur; ?> </body> </html>
EDIT : Ajout des balises de code
A voir également:
- Problème formulaire d'inscription PHP
- Whatsapp formulaire opposition - Guide
- Wetransfer gratuit sans inscription - Guide
- Formulaire de réclamation facebook - Guide
- Twitter inscription - Guide
- Vinted inscription - Guide
5 réponses
Bonjour,
Si le site n'est pas en ligne, tu testes où ? Sur ton pc ? Alors tu as du installer apache, php, mysql, généralement un tout en un du style WAMP.
Pour executer du php, on ne peut pas le lancer directement dans le navigateur, il faut passer par le serveur apache et le moteur php.
Pour cela dans le navigateur, il faut lancer
Cdlt
Si le site n'est pas en ligne, tu testes où ? Sur ton pc ? Alors tu as du installer apache, php, mysql, généralement un tout en un du style WAMP.
Pour executer du php, on ne peut pas le lancer directement dans le navigateur, il faut passer par le serveur apache et le moteur php.
Pour cela dans le navigateur, il faut lancer
localhost/inscription.php(le source étant bien sur dans le répertoire www de l'apache).
Cdlt
si tu n'as pas apache, ni php, ni mysql, effectivement tu es loin de pouvoir faire des tests,
sur mac ? je ne connais pas voir : https://www.google.com/search?client=firefox-b-d&q=mac+apache%2C+php%2C+mysql
sur mac ? je ne connais pas voir : https://www.google.com/search?client=firefox-b-d&q=mac+apache%2C+php%2C+mysql
Bonjour,
Pour mac : https://www.mamp.info/en/windows/
Et au passage... l'extension mysql_ est obsolete.
Désormais il faut utiliser mysqli ou pdo
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Je t'invite également à lire et à appliquer ceci lorsque tu codes en php
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ainsi que cela lorsque tu postes du code sur le forum :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Pour mac : https://www.mamp.info/en/windows/
Et au passage... l'extension mysql_ est obsolete.
Désormais il faut utiliser mysqli ou pdo
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Je t'invite également à lire et à appliquer ceci lorsque tu codes en php
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ainsi que cela lorsque tu postes du code sur le forum :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Une fois que j'ai télécharger mysql et php, quand je clique sur le fichier inscription.php, ça affiche le code et non la page web.
Merci de votre réponse
Merci de votre réponse
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mais maintenant quand j’essaye de charger la page .php ça met ´cet page ne fonctionne pas impossible de traiter cette demande via localhost a l’h Actuelle
HTTP error 500´
Merci de votre réponse
HTTP error 500´
Merci de votre réponse
Cela indique une erreur dans ton code.
Bien entendu... tu as refais ton code en appliquant les consignes données dans les liens que je t'avais fourni ??
Pour rappel :
Une fois ces modifications réalisées... si ton souci persiste... viens nous poster ton "nouveau" code qu'on puisse essayer de t'aider.
Bien entendu... tu as refais ton code en appliquant les consignes données dans les liens que je t'avais fourni ??
Pour rappel :
Et au passage... l'extension mysql_ est obsolete.
Désormais il faut utiliser mysqli ou pdo
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Je t'invite également à lire et à appliquer ceci lorsque tu codes en php
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Une fois ces modifications réalisées... si ton souci persiste... viens nous poster ton "nouveau" code qu'on puisse essayer de t'aider.
<h1><strong>Inscription à l'espace membre : </strong></h1><br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br /><br>
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br /><br>
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><
<br /><br>
Àge : <input type="number" name="<?php $age ?>" value="<?php if ($age > 16){echo "Désolé, il faut avoir 16 ans minimum"; }?>"><br /><br>
Sinon il y a une autre page qui fonctionne pas :
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('serveur', 'login', 'password');
mysql_select_db ('nom_base', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br /><br>
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br /><br>
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><
<br /><br>
Àge : <input type="number" name="<?php $age ?>" value="<?php if ($age > 16){echo "Désolé, il faut avoir 16 ans minimum"; }?>"><br /><br>
Sinon il y a une autre page qui fonctionne pas :
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('serveur', 'login', 'password');
mysql_select_db ('nom_base', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
Comme je te l'ai déjà indiqué... pour poster ton code sur le forum tu dois utiliser les BALISES DE CODE
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite, je t'ai indiqué à deux reprises que l'extension mysql est OBSOLETE.... (connais tu le sens de ce mot ?? )
Et donc.. que tu dois remplacer ton code par du mysqli (remarque la lettre "i" à la fin ) ou (je préfère) en PDO.
Je te redonne encore une fois le message que je t'ai déjà posté plusieurs fois :
Ne reviens que quand tu auras pris la peine de correctement lire le contenu de ces trois liens et mis en application TOUT ce qui s'y trouve.
Merci.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite, je t'ai indiqué à deux reprises que l'extension mysql est OBSOLETE.... (connais tu le sens de ce mot ?? )
Et donc.. que tu dois remplacer ton code par du mysqli (remarque la lettre "i" à la fin ) ou (je préfère) en PDO.
Je te redonne encore une fois le message que je t'ai déjà posté plusieurs fois :
. l'extension mysql_ est obsolete.
Désormais il faut utiliser mysqli ou pdo
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Je t'invite également à lire et à appliquer ceci lorsque tu codes en php
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ainsi que cela lorsque tu postes du code sur le forum :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ne reviens que quand tu auras pris la peine de correctement lire le contenu de ces trois liens et mis en application TOUT ce qui s'y trouve.
Merci.