PHP Variable formulaire
Karine24
Messages postés
2
Statut
Membre
-
thierrydel1 -
thierrydel1 -
Bonjour à tous et à toutes .
Ça fait maintenant 5 ans que je n'ai pas touché à aucune programmation . Hier mon patron m'a demandé de faire un petit site intranet pour pouvoir stocker différente information .
Donc je regarde un peu sur internet , j'apprends le html (que je connaissait déjà pas si mal) et je me retourne vers PHP pour pouvoir créer et gérer une base de donnée .
Ma première étape est de vérifier si la personne à le droit d'accèder à un page (les login et password serait stoker dans ma base de données SQL).
Je commencer par créer un fichier .HTML
<html>
<FORM name="form1" Method="POST" Action="test.php">
Logon: <INPUT type=text size=20 name=user><BR>
Mot de passe : <INPUT type=password size=20 name=pass><BR>
<INPUT type=submit value=Envoyer>
</FORM>
</html>
ensuite je cré le fichier test.php
<?php
// Déclaration des paramètres de connexion
$host = "localhost";
$bdd = "employe";
mysql_connect($host,$user,$pass) or die("Mauvais mot de passe ou vous n'avez pas les accès");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
?>
--------------------------------------
Voila , je sais que mon script est plustôt simple mais peu importe ce que je fais , je suis incapable de récupérer mes variables de mon formulaires .
Erreur : Notice: Undefined variable: user in test.php
J'ai essayer tous les exemples que j'ai pu trouver sur internet mais sans succes . De plus si j'inscrit directement les informations je suis capable de faire des requêtes SQL.
Merci de bien vouloir m'aider :) HELP hihihi
Ça fait maintenant 5 ans que je n'ai pas touché à aucune programmation . Hier mon patron m'a demandé de faire un petit site intranet pour pouvoir stocker différente information .
Donc je regarde un peu sur internet , j'apprends le html (que je connaissait déjà pas si mal) et je me retourne vers PHP pour pouvoir créer et gérer une base de donnée .
Ma première étape est de vérifier si la personne à le droit d'accèder à un page (les login et password serait stoker dans ma base de données SQL).
Je commencer par créer un fichier .HTML
<html>
<FORM name="form1" Method="POST" Action="test.php">
Logon: <INPUT type=text size=20 name=user><BR>
Mot de passe : <INPUT type=password size=20 name=pass><BR>
<INPUT type=submit value=Envoyer>
</FORM>
</html>
ensuite je cré le fichier test.php
<?php
// Déclaration des paramètres de connexion
$host = "localhost";
$bdd = "employe";
mysql_connect($host,$user,$pass) or die("Mauvais mot de passe ou vous n'avez pas les accès");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
?>
--------------------------------------
Voila , je sais que mon script est plustôt simple mais peu importe ce que je fais , je suis incapable de récupérer mes variables de mon formulaires .
Erreur : Notice: Undefined variable: user in test.php
J'ai essayer tous les exemples que j'ai pu trouver sur internet mais sans succes . De plus si j'inscrit directement les informations je suis capable de faire des requêtes SQL.
Merci de bien vouloir m'aider :) HELP hihihi
A voir également:
- PHP Variable formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
8 réponses
Salut
Commece déjà par mettre les valeur des attribut entre guillemets :
<FORM name="form1" Method="POST" Action="test.php">
Logon: <INPUT type="text" size="20" name="user"><BR>
Mot de passe : <INPUT type="password" size="20" name="pass"><BR>
<INPUT type="submit" value="Envoyer">
</FORM>
Ca, c'est juste pour avoir un code + propre.
Ensuite, dans ton fichier cible php tu captes tes résulats dans les variables de récup :
$username = $HTTP_POST_VAR("user");
et
$motdepasse = $ HTTP_POST_VARS("password");
tu passe ces variables en requette sql pour vérifier leur présence conjointe dans la base et ainsi tu sais si l'identification est valide ou pas
Ed.
Commece déjà par mettre les valeur des attribut entre guillemets :
<FORM name="form1" Method="POST" Action="test.php">
Logon: <INPUT type="text" size="20" name="user"><BR>
Mot de passe : <INPUT type="password" size="20" name="pass"><BR>
<INPUT type="submit" value="Envoyer">
</FORM>
Ca, c'est juste pour avoir un code + propre.
Ensuite, dans ton fichier cible php tu captes tes résulats dans les variables de récup :
$username = $HTTP_POST_VAR("user");
et
$motdepasse = $ HTTP_POST_VARS("password");
tu passe ces variables en requette sql pour vérifier leur présence conjointe dans la base et ainsi tu sais si l'identification est valide ou pas
Ed.
Au fait,
dans ce cas ci : mysql_connect($host,$user,$pass)
$user et $pass sont ceux des seules personnes autorisée à accéder à la base sql (donc définit par l'administrateur lui-même) et no pas des gens enregistrées dans une table de la base.
Par prudence, mieux vaut utiliser des variable au nom bien différent
dans ce cas ci : mysql_connect($host,$user,$pass)
$user et $pass sont ceux des seules personnes autorisée à accéder à la base sql (donc définit par l'administrateur lui-même) et no pas des gens enregistrées dans une table de la base.
Par prudence, mieux vaut utiliser des variable au nom bien différent
Wow , c'est super :)
Merci pour les conseils .
$HTTP_POST_VAR sert à récupérer les variables ?
Voila , il me reste toujours 2 erreurs , mais au moin j'avance grace a votre aide :D
Notice: Array to string conversion
Fatal error: Call to undefined function: array()
La vie est pas facile :)
Voila je me remets a mon code pour essayer de trouver la raison . merci beaucoup :)
Merci pour les conseils .
$HTTP_POST_VAR sert à récupérer les variables ?
Voila , il me reste toujours 2 erreurs , mais au moin j'avance grace a votre aide :D
Notice: Array to string conversion
Fatal error: Call to undefined function: array()
La vie est pas facile :)
Voila je me remets a mon code pour essayer de trouver la raison . merci beaucoup :)
voici une méthode que j'utilise pour les connections à la base
1 - définition de la fonction de connection (dans fichier externe de pref)
function Connect2MyBase( $base, $host, $login, $password)
{
$link = mysql_connect( "$host", "$login", "$password" ) ;
if ( ! $link ) die(" Impossible de se connecter à MySql" ) ;
mysql_select_db( "$base",$link ) or die( "Impossible d'ouvrir $db: ".mysql_error()) ;
return( $link ) ;
}
2 - appel de la fonction, depuis n'importe quelle page, selon les besoin, en faisant un simple include du fichier externe où sera écrit la fonction citée plus haut
require("fonctions.php");
$lets_go= Connect2MyBase( HOST_BASE, HOST_NAME, HOST_LOGIN, HOST_PASSW );
Avec ça, la connection se fait sans problème, à condition de définir correctement les parametres HOST_BASE, HOST_NAME, HOST_LOGIN et HOST_PASSW
Dans mon cas, j'utilise une fonction define en amont de la fonction Connect2MyBase
Dans ton cas, initialise ces paramètres selon les éléments récupéré via le formulaire.
Cela donnerait, dans le fichier cible de ton formulaire (on oublie pour l'instant l'histoire des fichiers externes et des includes)
function Connect2MyBase( $base, $host, $login, $password)
{
$link = mysql_connect( "$host", "$login", "$password" ) ;
if ( ! $link ) die(" Impossible de se connecter à MySql" ) ;
mysql_select_db( "$base",$link ) or die( "Impossible d'ouvrir $db: ".mysql_error()) ;
return( $link ) ;
}
HOST_BASE = "employe";
HOST_NAME = "localhost";
HOST_LOGIN = $HTTP_POST_VAR("user");
HOST_PASSW = $HTTP_POST_VAR("password");
$lets_go = Connect2MyBase( HOST_BASE, HOST_NAME, HOST_LOGIN, HOST_PASSW );
Et voilà !
Le tour est joué, à condition, je le répête, que les valeurs saisies dans les champs "user" et "password" soient bien ceux de personnes autorisée à accéder à la base de données "employe".
Bon courage !
Ed.
1 - définition de la fonction de connection (dans fichier externe de pref)
function Connect2MyBase( $base, $host, $login, $password)
{
$link = mysql_connect( "$host", "$login", "$password" ) ;
if ( ! $link ) die(" Impossible de se connecter à MySql" ) ;
mysql_select_db( "$base",$link ) or die( "Impossible d'ouvrir $db: ".mysql_error()) ;
return( $link ) ;
}
2 - appel de la fonction, depuis n'importe quelle page, selon les besoin, en faisant un simple include du fichier externe où sera écrit la fonction citée plus haut
require("fonctions.php");
$lets_go= Connect2MyBase( HOST_BASE, HOST_NAME, HOST_LOGIN, HOST_PASSW );
Avec ça, la connection se fait sans problème, à condition de définir correctement les parametres HOST_BASE, HOST_NAME, HOST_LOGIN et HOST_PASSW
Dans mon cas, j'utilise une fonction define en amont de la fonction Connect2MyBase
Dans ton cas, initialise ces paramètres selon les éléments récupéré via le formulaire.
Cela donnerait, dans le fichier cible de ton formulaire (on oublie pour l'instant l'histoire des fichiers externes et des includes)
function Connect2MyBase( $base, $host, $login, $password)
{
$link = mysql_connect( "$host", "$login", "$password" ) ;
if ( ! $link ) die(" Impossible de se connecter à MySql" ) ;
mysql_select_db( "$base",$link ) or die( "Impossible d'ouvrir $db: ".mysql_error()) ;
return( $link ) ;
}
HOST_BASE = "employe";
HOST_NAME = "localhost";
HOST_LOGIN = $HTTP_POST_VAR("user");
HOST_PASSW = $HTTP_POST_VAR("password");
$lets_go = Connect2MyBase( HOST_BASE, HOST_NAME, HOST_LOGIN, HOST_PASSW );
Et voilà !
Le tour est joué, à condition, je le répête, que les valeurs saisies dans les champs "user" et "password" soient bien ceux de personnes autorisée à accéder à la base de données "employe".
Bon courage !
Ed.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
$_POST['varsansledollar']
+1
je trouve plus simple de l'utiliser comme cela. et pour la méthode GET :
<?
$var = $_GET['var'];
?>
+1
je trouve plus simple de l'utiliser comme cela. et pour la méthode GET :
<?
$var = $_GET['var'];
?>
Depuis PHP4, $HTTP_POST_VAR et $HTTP_GET_VAR, bien que toujours utilisables, sont devenues obsolètes. Il est conseillé d'utiliser $_POST et $_GET (et en plus, c'est plus court)
bonjour
pour pouvoir mieux faire , il faut prendre une application déjà prête , comme sur le livre des nuls php&msql, il y a un intranet deja a 80% et les code sont disponnible sur le livre , ou le net , vous devez être dans la programmation ne devraient pas poser de problèmes! il ne faut pas réinventer la roue, car elle est déjà là c'est un bon livre
pour pouvoir mieux faire , il faut prendre une application déjà prête , comme sur le livre des nuls php&msql, il y a un intranet deja a 80% et les code sont disponnible sur le livre , ou le net , vous devez être dans la programmation ne devraient pas poser de problèmes! il ne faut pas réinventer la roue, car elle est déjà là c'est un bon livre