$_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   -
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>");



A voir également:

3 réponses

rodoplop Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   12
 
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

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());
0
trauqnej Messages postés 154 Date d'inscription   Statut Membre Dernière intervention   23
 
ç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
0
rodoplop Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   12
 
effectivement, sans la totalité de la page, on ne pouvait pas tout débugger d'un coup.

le principal c'est que la réponse soit là. Bon courage pour la suite, n'hésite pas à marquer ton sujet en résolu.
0