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();
Voyez plutot:
ceci est mon formulaire:
<form action="add_book.php" method="post">
<table border=0>
<tr><td>ISBN</td><td><input type=text name=isbn maxlength=13 size=13><br></td></tr>
<tr><td>Author</td><td> <input type=text name=author maxlength=30 size=30><br></td></tr>
<tr><td>Title</td><td> <input type=text name=title maxlength=60 size=30><br></td></tr>
<tr><td>Price ¤</td><td><input type=text name=price maxlength=7 size=7><br></td></tr>
<tr><td colspan=2><input type="submit" value="Register"></td></tr>
</table>
</form>
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.<br>"
."Please go back and try again.";
exit;
}
$isbn = addslashes($isbn);
$author = addslashes($author);
$title = addslashes($title);
$price = doubleval($price);
@ $db = mysql_pconnect("localhost", "root", "", "books");
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...