Formulaire : Nom de champs directement transformé en variable
cs_fluR
Messages postés14Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention12 juillet 2006
-
21 oct. 2004 à 12:32
ehmarc
Messages postés393Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention29 septembre 2008
-
21 oct. 2004 à 18:03
Bonjour, j previens j suis un noob en php,
je suis les exercicss d'un livre pour apprendre les bases de php avant de m envoler moi meme ds mes propres codes sources...
Cependant, je cale sur un problème (resolu d une certaine maniere, mais qui n'est pas des plus pratique :) )
Je construit un formulaire relatant une bibliothèque: on entre le code isbn, le nom , l auteur et le prix du livre. Chaque champs porte un nom specifique.
Ds mon book php, leur code reprend directement le nom des champs en tant que variable sans specialement passé par un $_POST();
PS: que je mette des quotes ou des guillemets ou meme rien du tout aux noms des propriétés (ex: name='title' ou name="title" ou name=title) , ca ne change rien au problème
Et voici le code de add_book.php d'apres le livre(même si un peu modifié par moi même:
<?
if (!$isbn || !$author || !$title || !$price)
{
echo "You have not entered all the required details.
"
."Please go back and try again.";
exit;
}
if (!$db)
{
echo "Error: Could not connect to database. Please try again later.";
exit;
}
$query = "insert into books values ('".$isbn."', '".$author."', '".$title."', '".$price."')";
$result = mysql_db_query("books",$query);
if ($result)
echo mysql_affected_rows()." book inserted into database.";
?>
Si j utilise ce code il me met une erreur de ce type : NOTICE: Undefined variable: isbn in c:\laurent\easyphp1-7\www\bookorama\add_book.php on line 10
Par contre ca marche si je met
$isbn = $_POST['isbn'];
$author = $_POST['author'];
$title = $_POST['title'];
$price = $_POST['price'];
au debut de mon code
Puiske ds ce cas il reprend bien les valeur des champs d apres leur nom.
Mais ma question est là: comment transformer les valeurs en variable a partir de leur nom de champs sans passer par un $_POST[];????
Dois je configurer mon fichier PHP.ini? si ui comment?
Changer la cfg d'Apache?
Ne me dites pas que c pas possible, puiske le codeur du livre y arrive bien(j vois mal l interet de montrer des sources ki marchent pas aux lecteurs). Version 4 de php.
J'oubliais de dire ke je test mes codes sur EASY PHP 1.7 => version 4 de php lui aussi.
-----------------------------
Just me! Not another...
A voir également:
Formulaire : Nom de champs directement transformé en variable
ehmarc
Messages postés393Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention29 septembre 2008 21 oct. 2004 à 17:17
Salut
c possible mais....
Si la directive register_globals est active, alors ces variables seront aussi rendues directement accessible dans le contexte d'exécution global. C'est à dire séparément des tableaux $_POST et $HTTP_POST_VARS
donc register_global pour toi est à "off" et si tu veut ne plu mettre $_post faut la mettre à "on"
toutefois, le meilleurs conseil que je puisse te donner c de la laisser tel quel et continuer à utiliser les $_post et $_get c mieux niveaux securite
++
"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller" 8-)