Ajout de donne en db php PDO Mysql
bonjour a tous,
je suis en train de faire un petit blog histoire de bosser un peu php et mysql mais j'ai une erreur que je ne comprend pas et j'en suis a un stade ou j’essaye tellement de choses que j'ai l'impression de m'enfoncer plus qu'autre chose.
j'ai une page create_com.php qui récupère l'id du billet sur lequel je souhaite ajouter mon commentaire de ma page read.php mais lorsque je rempli mes champ et que je valide rien ne se passe alors que je devrai atterrir une foi les donnée envoyer en db sur ma page d'index mais au lieu de cela je reste sur la même page"create_com" et rien ne c'est passer, aucun ajout en db et j'ai l'impression que de valider ne fait qu'actualiser la page ??
donc si quelqu'un peu m'aider svp je l'en remercie par avance
ma table "commentaires" a les champ suivant :
id
billet_id
auteur
commentaire
date_commentaire
voici le code de ma page create_com.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
<?php
/* id_billet auteur commentaire date_commentaire "com_perso" */
require 'database.php';
$billet_id = null;
if ( !empty($_GET['billet_id'])) {
$billet_id = $_REQUEST['billet_id'];
}
if ( !empty($_POST)) {
// keep track validation errors
$billet_id = null;
$auteurError = null;
$commentaireError = null;
// keep track post values
$billet_id = $_POST['billet_id'];
$auteur = $_POST['auteur'];
$commentaire = $_POST['commentaire'];
// validate input
if (empty($billet_id)) {
$billet_idError = 'entrer la auteur qui explique votre fonction';
$valid = false;
}
if (empty($auteur)) {
$auteurError = 'entrer la auteur qui explique votre fonction';
$valid = false;
}
if (empty($commentaire)) {
$commentaireError = 'merci de mettre un commentaire';
$valid = false;
}
// insert data
if ($valid) {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO commentaires (billet_id,auteur,commentaire,date_commentaire) values(?, ?, ?, NOW())";
$q = $pdo->prepare($sql);
$q->execute(array($billet_id,$auteur,$commentaire,$date_commentaire));
Database::disconnect();
header("Location: index.php");
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css" />
<!--link href="css/bootstrap.min.css" rel="stylesheet"-->
<!--script src="js/bootstrap.min.js"--><!--/script-->
</head>
<body>
<div class="container">
<div class="span10 offset1">
<div class="row">
<h3>ajouter une news</h3>
</div>
<form class="form-horizontal" action="create_com.php" method="post">
<div class="control-group <?php echo !empty($billet_idError)?'error':'';?>">
<label class="control-label">billet_id</label>
<div class="controls">
<input name="billet_id" type="text" placeholder="auteur" value="<?php echo !empty($billet_id)?$billet_id:'';?>">
<?php if (!empty($auteurError)): ?>
<span class="help-inline"><?php echo $auteurError;?></span>
<?php endif;?>
</div>
</div>
<div class="control-group <?php echo !empty($auteurError)?'error':'';?>">
<label class="control-label">auteur</label>
<div class="controls">
<input name="auteur" type="text" placeholder="auteur" value="<?php echo !empty($auteur)?$auteur:'';?>">
<?php if (!empty($auteurError)): ?>
<span class="help-inline"><?php echo $auteurError;?></span>
<?php endif;?>
</div>
</div>
<div class="control-group <?php echo !empty($commentaireError)?'error':'';?>">
<label class="control-label">commentaire</label>
<div class="controls">
<textarea name="commentaire" type="text" cols="150" rows="5" placeholder="commentaire" value="<?php echo !empty($commentaire)?$commentaire:'';?>">
<?php if (!empty($commentaireError)): ?>
<span class="help-inline"><?php echo $commentaireError;?></span>
<?php endif;?></textarea>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-success">Ajouter</button>
<a class="btn" href="index.php">Retour</a>
</div>
</form>
</div>
</div> <!-- /container -->
</body>
</html> |
: