Rechercher : dans
Par :

PHP Variable formulaire

Dernière réponse le 12 déc 2007 à 00:21:08 Karine24, le 1 mai 2004 à 17:16:27 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « PHP Variable formulaire » dans :
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...
PHP - Les opérateurs VoirQu'est-ce qu'un opérateur? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : les opérateurs de calcul les opérateurs...

1

www.edetmoi.com, le 1 mai 2004 à 17:48:54

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.

Répondre à www.edetmoi.com

2

www.edetmoi.com, le 1 mai 2004 à 17:52:08

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

Répondre à www.edetmoi.com

3

Karine24, le 1 mai 2004 à 18:06:46

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 :)

Répondre à Karine24

5

mr_bluch, le 21 fév 2005 à 22:56:47

Salut
g le meme probleme que toi il me reste les deux erreurs

Array to string conversion
Fatal error: Call to undefined function: array()


as tu trouvé une solution ? ca m'interresse

merci d'avance


a plus

Répondre à mr_bluch

8

kij_82, le 20 avr 2005 à 19:28:14

Surement parce que vous avez recopiée betement (je ne critique pas mais juste parce que ca m'arrive souvent) : le premier $_HTTP_POST_VAR doit être corrigé en $_HTTP_POST_VARS.
et voilà !

++ ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

4

www.edetmoi.com, le 1 mai 2004 à 19:28:26

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.

Répondre à www.edetmoi.com

6

zdoobz, le 20 avr 2005 à 18:00:15

<=> $_POST['varsansledollar']

Répondre à zdoobz

7

Luffy =), le 20 avr 2005 à 18:05:49

$_POST['varsansledollar']
+1

je trouve plus simple de l'utiliser comme cela. et pour la méthode GET :
<?
$var = $_GET['var'];
?>
opopop :-P

Répondre à Luffy =)

9

beeboo, le 20 avr 2005 à 21:09:13

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)

Répondre à beeboo

10

kij_82, le 20 avr 2005 à 21:13:35

Non seulement, mais ca ne dispense pas de mettre la bonne orthographe
;)

$_HTTP_POST_VARS['bidule'];
ou
$_POST['bidule']

++ ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

11

diop, le 5 jui 2005 à 17:51:08
  • +1

Bonjour j'ai le même probleme mé moi il me genere
Fatal error: Call to undefined function: array() in c:\program files\easyphp1-7\php_fich\connexion.php on line 15
kelkun peut m'aider

Répondre à diop

12

 thierrydel1, le 12 déc 2007 à 00:21:08

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

Répondre à thierrydel1
Collection CommentÇaMarche.net