Salut j'ai regarder ce que tu ma donné mais me suis dirigé vers ma procédure actuelle PDO.
Ce petit bout de code devrait normalement me retournée le dernier id en bdd mais mon echo m'affiche 0.
Auriez vous une idée ?
<?php
$lastInsertId = $bdd->lastInsertId();
echo $lastInsertId; // Affiche l'id inséré
?>
Ma page verification.php ( en cas si besoin )
<?php session_start();?>
<?php
try
{
$bdd = new PDO('mysql:host=******;dbname=*******','********','*************');
$bdd->exec('SET NAMES utf8');
}
catch(Exception $e)
{
echo 'Une erreur est survenue !';
die();
}
// Même chose que error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Trouver ma sortie</title>
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/custom.css">
<link rel="stylesheet" href="css/administration.css">
<link rel="stylesheet" href="css/font-awesome.min.css">
<link rel="Stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/base/jquery-ui.css" />
</head>
<body onLoad="CFInstall.check()">
<body>
<?php include("include/header.php");?>
<div class="container">
<?php echo $_SESSION['phone']; ?><br>
<?php echo $_SESSION['titre']; ?><br>
<?php echo $_SESSION['street']; ?><br>
<?php echo $_SESSION['city']; ?><br>
<?php
$lastInsertId = $bdd->lastInsertId();
echo $lastInsertId; // Affiche l'id inséré
?>
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" >
<label> Choix du type d'offre publicitaire</label>
<select name="amount">
<?php
$req = $bdd->query('SELECT * FROM offers');
while($d = $req->fetch(PDO::FETCH_ASSOC)){
?>
<option value="<?php echo $d['price']; ?>"><?php echo $d['name'];?> -<?php echo $d['price'];?> Euros</option>
<?php
}
?>
</select>
<input name="currency_code" type="hidden" value="EUR" />
<input name="shipping" type="hidden" value="0.00" />
<input name="tax" type="hidden" value="0.00" />
<input name="return" type="hidden" value="http://www.lasortie.fr/succes.php" />
<input name="cancel_return" type="hidden" value="URL_ANNULATION" />
<input name="notify_url" type="hidden" value="http://www.lasortie.fr/ipn.php" />
<input name="cmd" type="hidden" value="_xclick" />
<input name="business" type="hidden" value="[email protected]" />
<input name="item_name" type="hidden" value="offre publicitaire" />
<input name="no_note" type="hidden" value="1" />
<input name="lc" type="hidden" value="FR" />
<input name="bn" type="hidden" value="PP-BuyNowBF" />
<input name="custom" type="hidden"value="user_id=<?php echo $_SESSION['user']['id'] ?>" />
<input type="submit" value="S'abonner" class="btn primary">
</form>
</div>
</body>
</html>
et la page formulaire ( 1er formulaire)
<?php session_start();?>
<?php $page = "profil";?>
<?php
if(!empty($_POST)) {
$_SESSION['titre'] = $_POST['titre'];
$_SESSION['phone'] = $_POST['phone'];
$_SESSION['postcode'] = $_POST['postcode'];
$_SESSION['city'] = $_POST['city'];
$_SESSION['street'] = $_POST['street'];
echo var_dump ($_SESSION);
}
?>
<?php
try
{
$bdd = new PDO('mysql:host=********;dbname=*******','*********','*********');
$bdd->exec('SET NAMES utf8');
}
catch(Exception $e)
{
echo 'Une erreur est survenue !';
die();
}
// Même chose que error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>
<?php
$erreurs = array(); //tableau contenant des messages d'erreurs
/* traitement des erreurs
* tous les champs du formulaire non remplis seront placés
* dans le tableau des erreurs $erreurs.A la fin du traitement
* ce tableau sera soit vide, auquel cas on exécute la requête insert
* pour inserer les données en bd, soit ce tableau n'est pas vide(champs non remplis) on invite
* l'utilisateur à remplir tous les champs
*/
if(!empty($_POST)) {//soumission du formulaire
//Verification titre
if(empty($_POST['titre']))
{
$erreurs['titre'] = 'Renseigner un nom de sortie';
}
//Verification ville
if(empty($_POST['city']))
{
$erreurs['city'] = 'Renseigner une ville';
}
//Verification code postal
if(empty($_POST['postcode']))
{
$erreurs['postcode'] = 'Renseigner un code postal';
}
//fin traitement des erreurs
//s'il y a problème, procède au debogage en decommentant les 2 lignes çi-dessus:
//var_dump($_POST);
//die('fin debogage');
//le tableau d'erreurs est vide alors on insère les données
if( empty( $erreurs) ){
$req = $bdd->prepare('INSERT INTO orders ( titre, phone, street, postcode, city)
VALUES (:titre, :phone, :street, :postcode, :city)');
$retour= $req->execute(array(
'titre'=>$_POST['titre'],
'phone'=>$_POST['phone'],
'street'=>$_POST['street'],
'postcode'=>$_POST['postcode'],
'city'=>$_POST['city']
));
if( $retour ===false) echo "Problème lors de l'insertion";
}else{//le tableau ne contient
echo "<p> renseignez les champs vides</p>";
}
header('Location: verification.php');
}//fin de la soumission du formulaire
$id_data = $bdd->lastInsertId();
?>
<form action="ma_pub.php" method="post" enctype="multipart/form-data">
<!-- titre de la sortie -->
<label>titre :</label>
<input class="form-control" type="text" name="titre" value="<?php if(isset($_POST['titre'])) echo $_POST['titre'];?>" />
<div class="error"><?php if(isset($erreurs['titre'])) echo $erreurs['titre'];?></div>
<!-- Ville de la sortie -->
<label>Ville *</label>
<input class="form-control" type="text" name="city" value="<?php if(isset($_POST['city'])) echo $_POST['city'];?>" />
<div class="error"><?php if(isset($erreurs['city'])) echo $erreurs['city'];?></div>
<!-- Ville de la sortie -->
<label>Rue</label>
<input class="form-control" type="text" name="street" value="<?php if(isset($_POST['street'])) echo $_POST['street'];?>" />
<div class="error"><?php if(isset($erreurs['street'])) echo $erreurs['street'];?></div>
<!-- Code postal de la sortie -->
<label>Code postal *</label>
<input class="form-control" type="text" name="postcode" value="<?php if(isset($_POST['postcode'])) echo $_POST['postcode'];?>" />
<div class="error"><?php if(isset($erreurs['postcode'])) echo $erreurs['postcode'];?></div>
<label>Télephone</label>
<input class="form-control" type="text" name="phone" value="<?php if(isset($_POST['phone'])) echo $_POST['phone'];?>" />
<div class="error"><?php if(isset($erreurs['phone'])) echo $erreurs['phone'];?></div>
<input type="submit" value="S'abonner" class="btn primary">
</form>
Salut j'ai regarder ce que tu ma donné mais me suis dirigé vers ma procédure actuelle PDO.
Ce petit bout de code devrait normalement me retournée le dernier id en bdd mais mon echo m'affiche 0.
Auriez vous une idée ?
[php]
<?php
$lastInsertId = $bdd->lastInsertId();
echo $lastInsertId; // Affiche l'id inséré
?>[/php]
Ma page verification.php ( en cas si besoin )
[php]<?php session_start();?>
<?php
try
{
$bdd = new PDO('mysql:host=******;dbname=*******','********','*************');
$bdd->exec('SET NAMES utf8');
}
catch(Exception $e)
{
echo 'Une erreur est survenue !';
die();
}
// Même chose que error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Trouver ma sortie</title>
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/custom.css">
<link rel="stylesheet" href="css/administration.css">
<link rel="stylesheet" href="css/font-awesome.min.css">
<link rel="Stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/base/jquery-ui.css" />
</head>
<body onLoad="CFInstall.check()">
<body>
<?php include("include/header.php");?>
<div class="container">
<?php echo $_SESSION['phone']; ?><br>
<?php echo $_SESSION['titre']; ?><br>
<?php echo $_SESSION['street']; ?><br>
<?php echo $_SESSION['city']; ?><br>
<?php
$lastInsertId = $bdd->lastInsertId();
echo $lastInsertId; // Affiche l'id inséré
?>
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" >
<label> Choix du type d'offre publicitaire</label>
<select name="amount">
<?php
$req = $bdd->query('SELECT * FROM offers');
while($d = $req->fetch(PDO::FETCH_ASSOC)){
?>
<option value="<?php echo $d['price']; ?>"><?php echo $d['name'];?> -<?php echo $d['price'];?> Euros</option>
<?php
}
?>
</select>
<input name="currency_code" type="hidden" value="EUR" />
<input name="shipping" type="hidden" value="0.00" />
<input name="tax" type="hidden" value="0.00" />
<input name="return" type="hidden" value="http://www.lasortie.fr/succes.php" />
<input name="cancel_return" type="hidden" value="URL_ANNULATION" />
<input name="notify_url" type="hidden" value="http://www.lasortie.fr/ipn.php" />
<input name="cmd" type="hidden" value="_xclick" />
<input name="business" type="hidden" value="
[email protected]" />
<input name="item_name" type="hidden" value="offre publicitaire" />
<input name="no_note" type="hidden" value="1" />
<input name="lc" type="hidden" value="FR" />
<input name="bn" type="hidden" value="PP-BuyNowBF" />
<input name="custom" type="hidden"value="user_id=<?php echo $_SESSION['user']['id'] ?>" />
<input type="submit" value="S'abonner" class="btn primary">
</form>
</div>
</body>
</html>[/php]
et la page formulaire ( 1er formulaire)
[php]<?php session_start();?>
<?php $page = "profil";?>
<?php
if(!empty($_POST)) {
$_SESSION['titre'] = $_POST['titre'];
$_SESSION['phone'] = $_POST['phone'];
$_SESSION['postcode'] = $_POST['postcode'];
$_SESSION['city'] = $_POST['city'];
$_SESSION['street'] = $_POST['street'];
echo var_dump ($_SESSION);
}
?>
<?php
try
{
$bdd = new PDO('mysql:host=********;dbname=*******','*********','*********');
$bdd->exec('SET NAMES utf8');
}
catch(Exception $e)
{
echo 'Une erreur est survenue !';
die();
}
// Même chose que error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>
<?php
$erreurs = array(); //tableau contenant des messages d'erreurs
/* traitement des erreurs
* tous les champs du formulaire non remplis seront placés
* dans le tableau des erreurs $erreurs.A la fin du traitement
* ce tableau sera soit vide, auquel cas on exécute la requête insert
* pour inserer les données en bd, soit ce tableau n'est pas vide(champs non remplis) on invite
* l'utilisateur à remplir tous les champs
*/
if(!empty($_POST)) {//soumission du formulaire
//Verification titre
if(empty($_POST['titre']))
{
$erreurs['titre'] = 'Renseigner un nom de sortie';
}
//Verification ville
if(empty($_POST['city']))
{
$erreurs['city'] = 'Renseigner une ville';
}
//Verification code postal
if(empty($_POST['postcode']))
{
$erreurs['postcode'] = 'Renseigner un code postal';
}
//fin traitement des erreurs
//s'il y a problème, procède au debogage en decommentant les 2 lignes çi-dessus:
//var_dump($_POST);
//die('fin debogage');
//le tableau d'erreurs est vide alors on insère les données
if( empty( $erreurs) ){
$req = $bdd->prepare('INSERT INTO orders ( titre, phone, street, postcode, city)
VALUES (:titre, :phone, :street, :postcode, :city)');
$retour= $req->execute(array(
'titre'=>$_POST['titre'],
'phone'=>$_POST['phone'],
'street'=>$_POST['street'],
'postcode'=>$_POST['postcode'],
'city'=>$_POST['city']
));
if( $retour ===false) echo "Problème lors de l'insertion";
}else{//le tableau ne contient
echo "<p> renseignez les champs vides</p>";
}
header('Location: verification.php');
}//fin de la soumission du formulaire
$id_data = $bdd->lastInsertId();
?>
<form action="ma_pub.php" method="post" enctype="multipart/form-data">
<!-- titre de la sortie -->
<label>titre :</label>
<input class="form-control" type="text" name="titre" value="<?php if(isset($_POST['titre'])) echo $_POST['titre'];?>" />
<div class="error"><?php if(isset($erreurs['titre'])) echo $erreurs['titre'];?></div>
<!-- Ville de la sortie -->
<label>Ville *</label>
<input class="form-control" type="text" name="city" value="<?php if(isset($_POST['city'])) echo $_POST['city'];?>" />
<div class="error"><?php if(isset($erreurs['city'])) echo $erreurs['city'];?></div>
<!-- Ville de la sortie -->
<label>Rue</label>
<input class="form-control" type="text" name="street" value="<?php if(isset($_POST['street'])) echo $_POST['street'];?>" />
<div class="error"><?php if(isset($erreurs['street'])) echo $erreurs['street'];?></div>
<!-- Code postal de la sortie -->
<label>Code postal *</label>
<input class="form-control" type="text" name="postcode" value="<?php if(isset($_POST['postcode'])) echo $_POST['postcode'];?>" />
<div class="error"><?php if(isset($erreurs['postcode'])) echo $erreurs['postcode'];?></div>
<label>Télephone</label>
<input class="form-control" type="text" name="phone" value="<?php if(isset($_POST['phone'])) echo $_POST['phone'];?>" />
<div class="error"><?php if(isset($erreurs['phone'])) echo $erreurs['phone'];?></div>
<input type="submit" value="S'abonner" class="btn primary">
</form>[/php]