<form id="contact" name="contact" action="enregistrer.php" method="post">
<p><label>Name: <input type="text" id="nom" name="nom" value="" /></label></p>
<p><label>Email: <input type="text" id="email" name="email" value="" /></label></p>
<p><input type="submit" id="enregistrer" name="enregistrer" value="enregistrer" /></p>
</form>
donc notre formulaire contient deux champs :...
$hostname = "localhost";
$database = "db_contacts";
$username = "root";
$password = "back2skl";
$connection = mysql_connect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database, $connection);
...
puis il doit récupérer les informations du formulaire donc :...
$nom = $_POST['nom'];
$email = $_POST['email'];
...
maintenant il faut construire notre requête SQL et l’exécuté pour enregistrer les informations dans la base de données:$ma_requete = 'insert into matable(NOM,EMAIL) values ('.$nom.','.$email.')';
$resultat = mysql_query($ma_requete, $connection) or die(mysql_error());
if($resultat)
{
header('Location: ok.php');
}else{
header('Location: erreur.php');
}
Bon c'est un code générique pour comprendre le processus, de plus il est préférable de faire les vérifications des données introduites par l'utilisateur par un script JavaScript (JQuery) si un erreurs est détecté c'est avant l'envoi du formulaire qu'on informera l'utilisateur de la non conformité des données.<?php
session_start();
if(empty($_SESSION['membre']))
{
header('Location: terre.php');
}
try
{
$bdd= new PDO('mysql:host=localhost;dbname=croizad', 'root', '') or die(print_r($bdd->errorInfo()));
$bdd->exec('SET NAMES utf8');
}
catch(Exeption $e){
die('Erreur:'.$e->getMessage());
}
$req = $bdd->prepare('SELECT * FROM membre WHERE login=:login');
$req->execute(array('login'=>$_SESSION['membre']));
$data= $req->fetch();
$req->closeCursor();
if(!empty($_POST))
{
extract($_POST);
$valid = true;
if($valid = true)
{
$req = $bdd->prepare('INSERT INTO membre (nom,prénom,age,sexe,adresse,site,profession) VALUES (:nom,:prénom,:age,:sexe,:adresse,:site,:profession');
$req->execute(array(
'nom'=>$nom,
'prénom'=>$prénom,
'age'=>$age,
'sexe'=>$sexe,
'adresse'=>$adresse,
'site'=>$site,
'profession'=>$profession));
$req->closeCursor();
$ok = 'Modification réussie. Reconnectez vous';
session_destroy();
}
}
?>
<!DOCTYPE html>
<html>
<meta charset="utf-8" />
<link href="style.css" rel="stylesheet"/>
<head>
<title>CROIZAD|chacun sa croix</title>
</head>
<body>
<?php include("bann.php"); ?>
<?php include("menu.php"); ?>
<div class="titre">Profil de <?php echo $data['login'];?></div>
<br/>
<section>
<div id="contenu">
<ul class="profil">
<li><a href="profil.php">Informations</a></li>
<li><a href="profil1.php">Editer E-m@il|Mot de Passe</a></li>
<li><a href="manifeste.php">Manifeste</a></li>
<li><a href="ajout.php">Ajouter infos</a></li>
</ul>
<div class="profil2">
<?php if(isset($ok)) echo '<div class="ok">'.$ok.'<div>';?>
<p>Vous pouvez retrouvez toutes vos informations ici,</p>
<form method="post" action="ajout.php">
<fieldset><legend>Ajouter infos</legend>
<label for="nom"><u><b>Nom:</u></b></label>
<input type="text" name="nom" id="nom" value="<?php if(isset($data['nom'])) echo $data['nom'];?>">
<div><?php if(isset($erreurnom)) echo $erreurnom;?></div>
<br/>
<label for="prénom"><u><b>Prénom:</u></b></label>
<input type="text" name="prénom" id="prénom" value="<?php if(isset($data['prénom'])) echo $data['prénom'];?>">
<div><?php if(isset($erreurprénom)) echo $erreurprénom;?></div>
<br/>
<label for="age"><u><b>Date de Naissance:</label>
<select name="age" id="age">
<option value="<1940"><1940</option>
<option value="1940-1950">1940-1950</option>
<option value="1950-1960">1950-1960</option>
<option value="1960-1970">1960-1970</option>
<option value="1970-1980">1970-1980</option>
<option value="1980-1990">1980-1990</option>
<option value="1990-2000">1990-2000</option>
<option value="2000-2010">2000-2010</option>
<option value=">2010">>2010</option>
</select>
<div><?php if(isset($erreurage)) echo $erreurage;?></div>
<br/>
<br/>
<label for="sexe">Sexe</label>
<select name="sexe" id="sexe">
<option value="homme">Homme</option>
<option value="femme">Femme</option>
</select>
<br/>
<br/>
<label for="adresse"><u><b>Adresse:</u></b></label>
<input type="text" name="adresse" id="adresse" value="<?php if(isset($data['adresse'])) echo $data['adresse'];?>">
<div><?php if(isset($erreuradresse)) echo $erreuradresse;?></div>
<br/>
<label for="site"><u><b>Site internet:</u></b></label>
<input type="url" name="site" id="site" value="<?php if(isset($data['site'])) echo $data['site'];?>">
<div><?php if(isset($erreursite)) echo $erreursite;?></div>
<br/>
<label for="profession"><u><b>Profession:</u></b></label>
<input type="text" name="profession" id="profession" value="<?php if(isset($data['profession'])) echo $data['profession'];?>">
<div><?php if(isset($erreurprofession)) echo $erreurprofession;?></div>
<br/>
<input type="submit" value="Envoyer">
</fieldset>
<form>
</div>
</section>
<?php include("footer.php"); ?>
</body>
</html>...
'prénom'=>$prénom,
...
d'habitude les lettres accentués posent souvent problèmes!
$mot = 'test';
$phrase = 'Ceci est un ' . $mot . ' de concaténation.';
La question serait plutôt, d'où peut provenir l'identifiant unique à insérer dans la requête.<?php
session_start();
if(empty($_SESSION['membre']))
{
header('Location: terre.php');
}
try
{
$bdd= new PDO('mysql:host=localhost;dbname=croizad', 'root', '') or die(print_r($bdd->errorInfo()));
$bdd->exec('SET NAMES utf8');
}
catch(Exeption $e){
die('Erreur:'.$e->getMessage());
}
if(!empty($_POST))
{
extract($_POST);
$valid = true;
}
else
{
$valid=false;
}
if($valid)
{
$req = $bdd->prepare('UPDATE membre SET (text=:text)');
$req->execute(array('text'=>$text));
$req->closeCursor();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link href="style.css" rel="stylesheet"/>
<title> CROIZAD - Chacun sa croix</title>
<?php include("bann.php"); ?>
<?php include("menu.php"); ?>
</head>
<body>
<div class="titre">Profil de <?php echo $_SESSION['membre'];?></div>
<br/>
<section>
<br/>
<div id="contenu">
<ul class="profil">
<li><a href="profil.php">Informations</a></li>
<li><a href="profil1.php">Editer E-m@il|Mot de Passe</a></li>
<li><a href="manifeste.php">Manifeste</a></li>
<li><a href="ajout.php">Ajouter infos</a></li>
</ul>
<div class="profil2">
<form action="manifeste.php" method="post">
<fieldset>
<label for="text">Manifeste</label><br/>
<textarea name="text" id="text" rows=10 cols=40></textarea><br/>
<br/>
<input type="submit" value="Ecrire">
<br/>
</fieldset>
</form>
</div>
</div>
<br/>
<br/>
<?php
$req = $bdd->prepare('SELECT * FROM membre WHERE login = '.$_SESSION['membre'].'')->fetchColumn();?>
<div class="manifeste">
<?php echo $req ?>
<h3><?php if(isset($_SESSION['membre'])) {echo $_SESSION['membre'];} ?></h3>
<br/>
<p><?php if(isset($data['text'])) {echo $_SESSION['text'];} ?></p>
</div>
<br/>
</div>
</section>
<?php include("footer.php"); ?>
</body>
</html> ...
if($valid)
{
$req = $bdd->prepare('UPDATE membre SET (text=:text)');
$req->execute(array('text'=>$text));
$req->closeCursor();
}
...
alors ce code vas mettre ajour toutes les lignes de la table "membre" car il n y a pas la close "where" je n'utilise pas PDO mais il faut avoir un truck comme :...
if($valid)
{
$req = $bdd->prepare('UPDATE membre SET (text=:text) where id='.$_SESSION['id']);
$req->execute(array('text'=>$text));
$req->closeCursor();
}
...
si vous enregistrer l'id du membre dans une variable session ça devra marché.