$_POST pour acces à base de données
Résolu
trauqnej
Messages postés
154
Date d'inscription
Statut
Membre
Dernière intervention
-
rodoplop Messages postés 77 Date d'inscription Statut Membre Dernière intervention -
rodoplop Messages postés 77 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'aimerais passer par une page nommée 066a.php me demandant (hote,utilisateur,motdepasse) voici le code ci-dessous:
<?php
echo "
<meta http-equiv='Content-Type' content='text/html; charset=utf8'>
<form name='form' action='066.php' method='post'>
<input type='text' name='hote' value='localhost'>
<input type='text' name='utilisateur' value='root'>
<input type='text' name='pwd' value='fred'>
<input type='submit' value='appui'>
"
?>
dans la page 066.php (dont le code se trouve ci-dessous) qui réceptionne les variables, je n'arrive pas à ouvrir la base
jobtiens le message : "êtes-vous bien passés par 066a.php?"
bien que je vois les variable qui s'affiche (grâce à echo)
comment faire pour que cela fonctionne sans avoir à décommenter le trio ($host,$login, $pass) ?
Les mettre en global ? en fait, j'en sais rien.
si vous avez une idée, je suis preneur
<!-- code vu dans php pour les nuls page 66 -->
<?php
$host = $_POST['hote'];
$login = $_POST['utilisateur'];
$pass = $_POST['pwd'];
# $host = 'localhost';
# $login = 'root';
# $pass = 'fred';
#
echo $host,"\n ",$login,"\n ",$pass;
/* Section d'exécution de la requête */
if(@$_GET['form'] == "yes")
{
mysql_connect($host,$login,$pass) or die ("<font color='red'>êtes-vous bien passés par 066a.php?</font>");
j'aimerais passer par une page nommée 066a.php me demandant (hote,utilisateur,motdepasse) voici le code ci-dessous:
<?php
echo "
<meta http-equiv='Content-Type' content='text/html; charset=utf8'>
<form name='form' action='066.php' method='post'>
<input type='text' name='hote' value='localhost'>
<input type='text' name='utilisateur' value='root'>
<input type='text' name='pwd' value='fred'>
<input type='submit' value='appui'>
"
?>
dans la page 066.php (dont le code se trouve ci-dessous) qui réceptionne les variables, je n'arrive pas à ouvrir la base
jobtiens le message : "êtes-vous bien passés par 066a.php?"
bien que je vois les variable qui s'affiche (grâce à echo)
comment faire pour que cela fonctionne sans avoir à décommenter le trio ($host,$login, $pass) ?
Les mettre en global ? en fait, j'en sais rien.
si vous avez une idée, je suis preneur
<!-- code vu dans php pour les nuls page 66 -->
<?php
$host = $_POST['hote'];
$login = $_POST['utilisateur'];
$pass = $_POST['pwd'];
# $host = 'localhost';
# $login = 'root';
# $pass = 'fred';
#
echo $host,"\n ",$login,"\n ",$pass;
/* Section d'exécution de la requête */
if(@$_GET['form'] == "yes")
{
mysql_connect($host,$login,$pass) or die ("<font color='red'>êtes-vous bien passés par 066a.php?</font>");
A voir également:
- $_POST pour acces à base de données
- Fuite données maif - Guide
- Base de registre - Guide
- Acces rapide - Guide
- Supprimer les données de navigation - Guide
- Je n'ai plus acces a ma boite mail gmail - Guide
3 réponses
première chose déjà, ta balise meta doit être contenue dans un head d'une page html, non directement avant ton formulaire
ton formulaire est soumis en post et non en GET
si tu veux être sûr que tu arrive sur ta page 066.php par ton formulaire remplace
par
Tu test si la variable hote en Post existe (cela signifie que ton formulaire a bien été soumis) et ensuite tu vérifie que cette valeur n'est pas vide avec !empty()
tu peux également le tester sur les deux autre variables.
ensuite, tu peut afficher l'erreur mysql en utilisant
cela te retournera le message d'erreur que mysql te renvoi.
ton formulaire est soumis en post et non en GET
si tu veux être sûr que tu arrive sur ta page 066.php par ton formulaire remplace
if(@$_GET['form'] == "yes")
par
if(isset($_POST['hote']) AND !empty($_POST['hote']))
Tu test si la variable hote en Post existe (cela signifie que ton formulaire a bien été soumis) et ensuite tu vérifie que cette valeur n'est pas vide avec !empty()
tu peux également le tester sur les deux autre variables.
ensuite, tu peut afficher l'erreur mysql en utilisant
mysql_error()
cela te retournera le message d'erreur que mysql te renvoi.
mysql_connect($host,$login,$pass) or die ("<font color='red'>êtes-vous bien passés par 066a.php?</font><br />Error : ".mysql_error());
ça marche, merci.
j'ai dù modifier quelque peut la page066a.php (formulaire) afin d'y rajouter :
<input type='text' name='database' value='aaa'>
<input type='text' name='query' value='SHOW databases'>
parce que sinon, il me mettait une erreur :
Erreur 1065: Query was empty
bien qu'il était intégrer à la page 066.php
j'ai dù modifier quelque peut la page066a.php (formulaire) afin d'y rajouter :
<input type='text' name='database' value='aaa'>
<input type='text' name='query' value='SHOW databases'>
parce que sinon, il me mettait une erreur :
Erreur 1065: Query was empty
bien qu'il était intégrer à la page 066.php