je suis sous easyphp 1.7(php 4.3.3) en localhost, et j'ai un problème pour insérer des données dans ma base mysql, ca ne fonctionne pas si je laisse ma variable php prédéfinie "register_globals=off".
Par contre ca marche si "register_globals" est sur on, mais j'ai un message d'erreur qui apparaît en permanence dans le chargement de ma page:
"Notice: Undefined variable: action in c:\program files\easyphp1-7\www\ajoutlivre.php on line 8"
-->correspnd à la ligne: switch ($action)
la variable $action etant pourtant bien déclaré.
quelles sont les autres méthodes pour insérer des données dans la base mysql autre que :
<form method="post" action="<?echo $PHP_SELF;?>">
Voici mon code, si quelq'un veut bien le tester (en créant la petite table qui correspond si possible)ou me dire d'ou viens le problème, merci.
--------------------------------------------------------------------------------------
<html>
<title>Test AJOUT Livre</title>
<body bgcolor="#E7E7E7" vlink="#002850" link="#002850" text="#323232" alink="#002850" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<input type="hidden" name="action" value="inserer">
<?
switch ($action)
{
case "inserer": //Insertion dans la base MySQL
/* déclaration de quelques variables */
$server = "localhost";
$user = "root";
$pass = "";
$bdd = "media";
$table = "livre";
/* connection avec MySQL */
mysql_connect($server,$user,$pass) or die("Impossible de se connecter à la base de données"); // Le @ ordonne a php de ne pas afficher de message d'erreur
mysql_select_db("$bdd") or die("Impossible de se connecter à la base de données");
/* affichage sélection */
echo "Le livre $titr de l'auteur $aut a bien été enregistré";?><Br>
<?
echo "Remarques particulières : $comm .";
/* stockage dans la bdd */
$query = "INSERT INTO $table(titre,auteur,comment)
VALUES('$titr','$aut'','$comm')";
$result = mysql_query($query);
/*echo "$result";*/
/* déconnection avec MySQL */
mysql_close();
break;
default: // FORMULAIRE HTML
?>
<table border="1" bgcolor="" width="">
<caption></caption>
</table>
<table>
<td align="center" width="70"</td>
<td align="right" width="430"><H4 align="left"><font face="Verdana" size="3" color=#000000>AJOUTER NOUVEAU TITRE</font></H4></td>
</table>
<table>
<td align="center" width="70"</td>
<td><hr align="left" width="660"></hr></td>
</table>
<form method="post" action="<?echo $PHP_SELF;?>">
<p>
<table>
<td align="center" width="70"</td>
<td bgcolor="#CCCCCC" align="center" width="142"><font face="Verdana" size="2" color=#336666>Titre du livre</font></td>
<td bgcolor="#CCCCCC" align="center" width="142"><font face="Verdana" size="2" color=#336666>Auteur du livre</font></td>
</table>
<table>
<td align="center" width="70"></td>
<td bgcolor="#D3DCE3"><input type="text" name="titr"></<td>
<td bgcolor="#D3DCE3"><input type="text" name="aut"></td>
</table>
<table>
<td align="center" width="70"</td>
<td bgcolor="#CCCCCC" align="left" width="654"> <font face="Verdana" size="2" color=#336666>Commentaires sur le livre ou l'auteur</font></td>
</table>
<table>
<td align="center" width="70"></td>
<td bgcolor="#D3DCE3"><textarea rows="1" name="comm" cols="79"></textarea></td>
</table>
<table>
<td align="center" width="667"></td>
<td><input type="submit" name="Valider" value="Ajouter"></td>
<td><input type="hidden" name="action" value="inserer"></td>
</table>
</p>
</form>
<?
break;
}
?>
</body>
</html>