Sois plus précis quand tu postes...et bien on me dis qu'elle ne marche pas je comprend pas encore pourquoi
Code : Tout sélectionner
CREATE TABLE test(
id int( 11 ) NOT NULL AUTO_INCREMENT ,
nom varchar( 20 ) NOT NULL ,
email varchar( 50 ) ,
dateheure datetime,
PRIMARY KEY ( id )
)
Code : Tout sélectionner
<?php /* Date de création: 22/04/2005 */ ?>
<html>
<body>
<?php
switch($_POST['action']){
// INSERTION DANS LA BASE case "inserer":
// déclaration de quelques variables
$host = "localhost";
$user = "root";
$pass = "";
$bdd = "fpg2";
$table = "test";
// connection avec MySQL
@mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données");
// Le @ indique à 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 '<p>Bonjour ' . htmlentities($_POST['nom']) . ', votre email est ' . htmlentities($_POST['email']) . '</p>';
// stockage dans la bdd
$nom = $_POST['nom'];
$email = $_POST['email'];
if(!get_magic_quotes_gpc())
{
// si php n'est pas configuré pour le faire automatiquement, on ajoute des \ devant les '
// deux raisons : autoriser d'ajouter des ', et sécuriser notre requete
// on y reviendra dans un prochain tutorial
$nom = addslashes($nom);
$email = addslashes($email);
}
$sql = "INSERT INTO " . $table . "(nom, email, dateheure) VALUES('" . $nom . "','" . $email . "', NOW())";
$res = mysql_query($sql);
// déconnection avec MySQL
mysql_close();
break;
// AFFICHAGE FORMULAIRE HTML
default:
?>
<form method="post" action="<?php
echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="action" value="inserer" />
<p>Votre nom : <input type="text" name="nom" /></p>
<p>Votre email : <input type="text" name="email" /></p>
<p><input type="submit" name="Submit" value="Ok" /></p>
</form>
<?
break;
}
?>
</body>
</html>
if(isset($_POST['Submit']))
{
// etc..
suis bien ton ptrogramme, tu es bien lancé: il y aura sans doute d'autre petits accrocs, mais c'est bien parti. // INSERTION DANS LA BASE
case "inserer":
// déclaration de quelques variables
case "inserer"; a été repris dans le commentaire.if (isset($_POST['action']))
{
$action=$_POST['action'];
}else{
$action="";
}
switch($action){
Si tu ne le comprends pas,demande, on t'expliquera.<?php
/* En haut de la page, on initialise les variables */
$nom = $_POST['nom'];
/* Plus loin lorsqu'on affiche à nouveau le formulaire, on peut utiliser cette variable */
?>
<input type="text" name="nom" value="<?php echo($nom); ?>" />
Voilà, exerce toi là-dessus, ce n'est pas compliqué. Mais attention: d'après le script que tu as affiché, le formulaire n'est présent qu'une fois dans ta page. Si tu l'utilises tel quel en ajoutant simplement ce que je viens d'illuster dans les attributs "value", lors de la première ouverture, tu auras une erreur parce que les variables ne sont pas initialisées. Il faudra donc les tester :
<input type="text" name="nom" value="<?php if(isset($_POST['nom'])){echo($_POST['nom']);} ?>" /><html>
<!-- Date de création: 22/04/2005 -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
</head>
<body>
<form method="post" action="index.php" target="_blank">
Ligne 1 colone 1 du tableau
<input type="text" name="unun"><br>
Ligne 1 colone 2 du tableau
<input type="text" name="undeux"><br>
Ligne 1 colone 3 du tableau
<input type="text" name="untrois"><br>
Ligne 2 colone 1 du tableau (1)
<input type="text" name="deuxun"><br>
Ligne 2 colone 1 du tableau (2)
<input type="text" name="deuxdeux"><br>
Ligne 2 colone 1 du tableau (3)
<input type="text" name="deuxtrois"><br>
Ligne 2 colone 3 du tableau
<input type="text" name="deuxquatre"><br>
Ligne 2 colone 2 du tableau
<input type="text" name="deuxcinq"><br>
troisun
<input type="text" name="troisun"><br>
troisdeux
<input type="text" name="troisdeux"><br>
quatreun
<input type="text" name="quatreun"><br>
quatredeux
<input type="text" name="quatredeux"><br>
quatretrois
<input type="text" name="quatretrois"><br>
<input type="submit" name="submit" value="Envoyer">
</form>
</body>
</html>
À ce stade là, je ne vois pas de problème particulier si ce n'est un petit point mineur : le nom de ton bouton submit : je ne recommande jamais d'utiliser un mot clé: "submit" est un mot clé et l'utiliser comme nom peut devenir source d'erreur : tu peux le nommer différemment. Mais c'est sans importance.<?php /* Date de création: 22/04/2005 */ ?>
<html>
<body bgcolor="#000000">
<div align=center><table size=750 cellspacing=0 cellpadding=0>
<tr>
<td><img src=entete.jpg><br>
<img src=nomteam.jpg><br>
</td>
</tr>
</table>
</div>
<br>
<?php
// connexion à la base de données
$db = mysql_connect('localhost', 'root', '')
or die('connexion impossible');
// sélection de la base
mysql_select_db('fpg',$db);
//J'identifie les variables
$unun = $_POST["unun"];
$undeux = $_POST["undeux"];
$untrois = $_POST["untrois"];
$deuxun = $_POST["deuxun"];
$deuxtrois = $_POST["deuxtrois"];
$troisun = $_POST["troisun"];
$troisdeux = $_POST["troisdeux"];
$quatreun = $_POST["quatreun"];
$quatredeux = $_POST["quatredeux"];
$quatretrois = $_POST["quatretrois"];
$deuxdeux = $_POST["deuxdeux"];
$deuxquatre = $_POST["deuxquatre"];
$deuxcinq = $_POST["deuxcinq"];
//J'envoie la requête d'insertion des données
mysql_query("INSERT INTO indextexte VALUES(' ','". $unun ."','". $undeux ."','". $untrois ."','". $deuxun ."','". $deuxtrois ."','". $troisun ."','". $troisdeux ."','". $quatreun ."','". $quatredeux ."','". $quatretrois ."','". $deuxdeux ."','". $deuxquatre ."')");
//Je recupere les données
?>
<div align=center>
<table border=1solid#FFFFFF size=750 cellspacing=0 cellpadding=0>
<tr>
<td width=200><font face=Arial color=#FFFFFF><div align=center><?php echo($unun); ?></div></font></td>
<td width=350><font face=Arial color=#00FF00><div align=center><?php echo($undeux); ?></div></font></td>
<td width=200><div align=center><font face=Arial color=#FFFFFF><?php echo($untrois); ?></font></div></td>
</tr>
<tr>
<td width=200>
<div align=center><font face=Arial color=#FF0000><?php echo($deuxun); ?></font><br>
<font face=Arial color=#555555><?php echo($deuxdeux); ?><br>
<?php echo($deuxtrois); ?></font></div></td>
<td width=350><font face=Arial color=00FF00><?php echo($deuxcinq); ?></font></td>
<td width=200><font face=Arial color=#0000CC><div align=center><?php echo($deuxquatre); ?></div></font></td>
</tr>
</table>
<br>
<table width=750 border=1solid#FFFFFF cellpadding=0 cellspacing=0>
<tr>
<td>
<div align=center><font face=Arial color=#FFFFFF><?php echo($deuxcinq); ?></font></div>
</td>
</tr>
</table>
<?php
// fin de la connexion
mysql_close();
?>
</div>
</body>
</html>
Bon, ok, où est le problème ? Tu ne me dis pas ce qui ne marche pas, alors je ne vois pas ce qui cloche. Les modification que j'ai effectuées sont, tu le vois au niveau de l'affichage du code HTML (que j'ai corrigé, tu devrais utiliser Ctrl+F9 dans WebExpert, c'est un raccourci intéressant) Et j,ai également apporté quelques correction dans l'écriture de la requête d'insertion: c'est une discipline que je recommande à qui veut bien l'entendre , séparer soigneusement le code PHP des chaines de caractères.