begin process at 2012 05 30 17:58:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

PB: insertion des données saisies dans base mysql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

PB: insertion des données saisies dans base mysql

lundi 6 décembre 2004 à 21:16:36 | PB: insertion des données saisies dans base mysql

spritzz

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>
lundi 6 décembre 2004 à 21:39:28 | Re : PB: insertion des données saisies dans base mysql

HecToR_coCHON

1 ) Tu n'as pas besoin de fermer les tag php pour insérer du HTML :
echo "Le livre $titr de l'auteur $aut a bien été enregistré";?><Br>
<?

peut être remplacé par
echo "Le livre $titr de l'auteur $aut a bien été enregistré<br>";

et s'est tout de suite a la fois plus lisible et mieux

2 ) Ensuite pour ton problème la solution est simple. Lorsque tu envoi des données depuis un formulaire à une page, les données ne sont pas directement affecté à des variables php ( sauf si le register_global est sur on mais c'est pas génial ), il faut donc les récupérer. Pour cela, comme les données viennent d'un formulaire envoyé des POST , tu fait, par exemple pour aut :
$aut = $_POST['aut'];


Tu fait cela pour toute tes valeurs transmises et c'est bon !

3 ) Pour le $action aps définie, je ne sais pas si ce n'est qu'il y a peut être un problème avec le

<input type="hidden" name="action" value="inserer">

qui n'a rien à faire là ( et ne sert à rien ?? ) juste avant l'ouverture de ton tag php.
lundi 6 décembre 2004 à 22:01:55 | Re : PB: insertion des données saisies dans base mysql

Anthomicro

Salut ;-)

[citation : echo "Le livre $titr de l'auteur $aut a bien été enregistré<br>";

et s'est tout de suite a la fois plus lisible et mieux]

Heu, le meilleur reste encore le echo 'Le livre',$titr,'de l\'auteur ',$aut,' a bien été enregistré <br />';

a ++


Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique


Cette discussion est classée dans : base, php, données, mysql, livre


Répondre à ce message

Sujets en rapport avec ce message

Tableau avec php et données mysql [ par Alpha911 ] Bonjour,j'essais de faire un tableau dont les lignes s'ajustent en fonction du nombre de données exemple l'utilisateur 9 a effectué 4 emprunts de livr Récupération de données dans la base mysql [ par krazylo ] Bonjour,Je suis débutant en php , mysql et je voulais savoir comment est-il possible de récuperer des données dans une base mysql pour les afficher su Transfert de bases de données Mysql en PHP [ par cz1702 ] Bonjour à tous,Je cherche à transférer une base de données Mysql_A (se trouvant sur le serveur A) vers une autre base de données Mysql_B (sur le serve Programme php pour transferer des donnees format Dbf dans une base de données format Mysql [ par Eljildius ] Salutation a tous !Je travail actuellement sur une application en php qui à un moment données devrat transférer des données format bdf dans une base d Aide codage formulaire php pour base de données, toutes les données ne sont pas enregistrées. [ par sebing ] Bonjour, Je redemande votre aide, je veux améliorer mon formulaire, mais celui ne fonctionne plus. En effet une seule donnée est enregistrée dans la PHP et MySQL [ par casper77610 ] Bonsoir à tous, Ceci est ma première question sur ce forum. J'espère que je serais explicite dans la formulation. Voila je cherche faire une page we Backup Base de données [ par sidalilo ] bonjour j'ai une application de gestion developpée en php et la base de données en mysql dans xp et je veux faire un backup automatique de cette base Erreur connexion base de données PHPMyAdmin !! [ par kennysp ] Bonjour, Petit problème technique en PHP. Précision : je suis amateur voire très amateur. Pour la première fois, je me lance dans la création d'une b Access/Mysql [ par javalang ] La société pour laquelle je suis en train de faire une base de données utilise Ms Access. Moi, je fais la base avec Mysql. Y a-t-il un moyen du genre uploader sur serveur une base mysql entière de 50Mo via script php [ par michelvernet2 ] bonjour, impossible de trouver la bonne syntaxe PHP ( ou le bon code carrément ? ) pour uploder un fichier base.sql de 50 mega pour reconstituer ma b


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,290 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales