Remplir une base MySQL avec un formulaire html ...

lemon bubble

Membre actif
5 Septembre 2001
165
2
45
01
www.terral-designer.com
Bonjour,

Suite au changement de mon poste et l'installation sans anicroches d'apache, php, mysql et de phpmyadmin sur ce nouvel ordi (cf post "pt'it serveur intranet, mais....") j'ai commencé l'apprentissage avec le cookbook MYSQL de microapplication et le site phpdebutant.org.

Je vous présente les protagonistes :

à ma droite un formulaire html

<html>
<table>
<form action="add.php" method="POST">
<tr>
<td>Nom : </td>
<td><input type="text" name="nom" value=""></td>
</tr>
<tr>
<td>Prenom : </td>
<td><input type="text" name="prenom" value=""></td>
</tr>
<tr>
<td>service : </td>
<td><input type="text" name="service" value=""></td>
</tr>
<tr>
<td>date : </td>
<td><input type="text" name="date" value=""></td>
</tr>
<tr>
<td>Titre : </td>
<td><input type="text" name="titre" value=""></td>
</tr>
<tr>
<td>source : </td>
<td><input type="text" name="source" value=""></td>
</tr>

<tr>
<td>Information : </td>
<td><textarea name="information" cols=25 rows=5> </textarea></td>
</tr>
<tr>
<td>incidence : </td>
<td><input type="text" name="incidence" value=""></td>
</tr>
<tr>
<td colspan=2 align=center><input type="submit" value="Envoyer"></td>
</tr>
</form>
</table>
</html>

à ma gauche un fichier de configuration(.inc.php)

<?php

$serveur = "localhost";
$utilisateur = "client_php";
$mot_de_passe = "passe_php";
$nom_de_la_base = "veille";
$mail_administrateur = "[email protected]";

?>

et au centre la moulinette php/mysql qui nous interesse (add.php):

<?
include ("configuration.inc.php");
$link = mysql_connect($serveur, $utilisateur, $mot_de_passe)
or die ("Impossible de se connecter");
Print ("connection ok");

mysql_select_db($nom_de_la_base, $link)
or die ("Impossible d'acceder a la base de donnees");
Print ("connection base ok");
    
    $sql = "INSERT INTO bveille VALUES('$nom', '$prenom', '$service', '$date', '$titre', '$source', '$incidence', '$information')";
    
    mysql_query($sql) or die("Erreur MySQL");

    echo 'Vos infos on été ajoutées.';

    mysql_close();
?>

et il me répond laconiquement
Parse error: parse error, unexpected T_STRING in /Library/WebServer/Documents/add.php on line 11

A votre avis où le bas blesse ? J'accepte que l'on me tape sur les doigts pour les erreurs d'inattention :)

Merci

 
 
chuis pas fort en php, mais il manquerait pas un point virgule a la fin de cette ligne:
$link = mysql_connect($serveur, $utilisateur, $mot_de_passe)

dans add.php ?
 
>chuis pas fort en php, mais il manquerait pas un point virgule a la >fin de cette ligne:

Non, non car ces deux lignes font partie de la même commande
$link = mysql_connect($serveur, $utilisateur, $mot_de_passe) or die ("Impossible de se connecter");

donc le point virgule se trouve aprés [...connecter")]
 
qd je disais que j'etais pas fort en php
laugh.gif
 
bonjour.

tu as copié/collé ton code php depuis un site web, non?

si c'est oui, ton erreur est indécelable, mais retapes "à la main" la ligne 11 ($sql = "INSERT INTO bveille VALUES('$nom', '$prenom', '$service', '$date', '$titre', '$source', '$incidence', '$information')";)

dans ton copié/collé, tu as embarqué des faux caractères espace qui bloquent ton interpréteur PHP.
ces faux espaces sont entre le début de la ligne et le début $sql.

tiens nous au courant, y en a peut-être d'autres (enlèves les espaces qui simulent une tabulation).
à+

 
Merci Grenoble, la syntaxe était semble-t-il juste. Car une fois tout recopié à la main et sans faire de Pomme+C, Pomme+V cette fois-ci
laugh.gif
eh ben ça tourne !!.

Bon la requête me fait bien une ligne supplémentaire dans mysql mais tout les champs sont vides !! Bon j'y retourne

Merci
 
Une petite réponse à moi même pour l'histoire des champs vides dans la base de données.

En fait comme je le pressentais il faut déclarer les variables comme ceci :
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];

Bizarre cependant que tout les sites d'aide, de tutorial, et les bouquins utilisent les variables $variable tel quel sans les déclarer avec la méthode ci-dessus.
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par lemon bubble:</font><hr /> Bizarre cependant que tout les sites d'aide, de tutorial, et les bouquins utilisent les variables $variable tel quel sans les déclarer avec la méthode ci-dessus.

[/QUOTE]

c'est normal, c'est tout nouveau tout chaud
smile.gif


en effet, c'est la nouvelle version 4.2 de php qui force ces nouvelles contraires afin d'inciter à créer un code plus strict et sécurisé.
mais la transition va être longue et laborieuse, alors il y a toujours la possibilité de court-circuiter cet état de fait si tu veux utiliser de "vieux" scripts. je te laisse découvrir quelques explications parce qu'on progresse mieux avec l'apprentissage des embûches
wink.gif


Site Internet

je te conseillerais toutefois, si tu es nouveau à ce langage, d'apprendre tout de suite de bons automatismes...
wink.gif
 
Eh oui je suis un bleu en codage (tout genre confondu ...) alors ...

... Les bras le long du corps, majeurs sur les coutures du pantalon, menton relevé : "YES SIR, YES SIR, Toujours propre sera mon code, toujours lisible mes sources seront, toujours .... "

Aïhh pas la tête et merci pour le lien
wink.gif