par
BlitzMX » 19 juin 2019, 12:43
Bonjour
Je continue mon projet, j'ai résolu quelques soucis, et... j'en rencontre d'autres.
J'ai un fichier "editer_billet.php" qui remonte les info de la base de donnée.
Je veux maintenant mettre a jour avec un update.
fichier editer_billet.php :
<?php
// BOUTON - VALIDER - TO DATABASE
if ($_SERVER['REQUEST_METHOD'] == "POST" AND isset($_POST["editer"])) {
$Titre = $_POST["titre"];
// $Contenu = $_POST["contenu"];
$Contenu = "test";
// var_dump($Contenu);
// PREPARE QUERY - use prepare pour les accents sur les lettres
// EXAMPLE UPDATE QUERY "UPDATE MyGuests SET lastname='Doe' WHERE id=2"
$id = $_POST['id'];
var_dump($id);
// sleep(10); Pause of 10 Seconds
$bdd = new PDO('mysql:host=localhost;dbname=blog', 'root', '');
$req = $bdd->prepare("UPDATE billets SET titre=" . $Titre . " and contenu=" . $Contenu . " WHERE id=$id");
// $req = $bdd->prepare("UPDATE INTO billets(titre, contenu, date_creation) values (?, ?, NOW())");
$req->execute(array($Titre, $Contenu));
header('Location: index.php');
exit();
}
//// BUILD HTML INDEX CODE
// GET Index.html into $view
$view = file_get_contents(("editer_billet.html"));
//// REMPLACE {HTML_DEFAULT_START} BY CODE
$html_default_start = file_get_contents("html_default_start.html");
$view = str_replace("{HTML_DEFAULT_START}", $html_default_start, $view);
//// REMPLACE {HTML_DEFAULT_END} BY CODE
$html_default_end = file_get_contents("html_default_end.html");
$view = str_replace("{HTML_DEFAULT_END}", $html_default_end, $view);
// DEFINE DATABASE CONNECTION - PDO
try {
$bdd = new PDO('mysql:host=localhost;dbname=blog', 'root', '');
} catch (\Throwable $e) {
die('Erreur : ' . $e->getMessage());
}
// GET CURRENT DATA INSIDE DATABASE
$bdd = new PDO('mysql:host=localhost;dbname=blog', 'root', '');
$req = $bdd->prepare('SELECT titre, contenu FROM billets WHERE id = :id');
$req->bindParam(':id', $_GET['id']);
$req->execute();
$result = $req->fetchall();
foreach ($result as $current_result) {
$view = str_replace("{INPUT_TITRE}", '<input type="text" name="titre" id="Titre" value="' . $current_result["titre"] . '" required>', $view);
$view = str_replace("{INPUT_ID}", $_GET['id'] , $view);
$view = str_replace("{INPUT_CONTENU}", '<div class="input_text"> <textarea id="textarea" name="contenu" required>' . $current_result["contenu"] . '</textarea></div>', $view);
$view = str_replace("{ID}", $_GET['id'], $view);
}
// MONTRE TOUT LE CODE DE LA PAGE
echo $view;
et, bien sur, mon fichier "editer_billet.html" :
{HTML_DEFAULT_START}
<form action="editer_billet.php" method="post" class="form-example">
<div class="form-example">
<label for="name">Titre du billet: </label>
{INPUT_TITRE}
<br>
{INPUT_ID}
<!-- <input type="text" name="Titre" id="Titre" required> -->
</div>
<div class="form-example">
<label for="name">Contenu: </label>
<br>
{INPUT_CONTENU}
<!-- <div class="input_text"> <textarea id="textarea" name="Contenu" required></textarea></div> -->
<br>
</div>
<div class="form-example">
<input type="submit" name="editer" value="Valider">
</div>
<br>
</form>
<br>
{HTML_DEFAULT_END}
J'ai essaye de construire un autre fichier update exprès pour mais je n'arrive pas a débugger correctement.
Quelqu'un peux aider?
Merci
Bonjour
Je continue mon projet, j'ai résolu quelques soucis, et... j'en rencontre d'autres.
J'ai un fichier "editer_billet.php" qui remonte les info de la base de donnée.
Je veux maintenant mettre a jour avec un update.
fichier editer_billet.php :
[PHP]
<?php
// BOUTON - VALIDER - TO DATABASE
if ($_SERVER['REQUEST_METHOD'] == "POST" AND isset($_POST["editer"])) {
$Titre = $_POST["titre"];
// $Contenu = $_POST["contenu"];
$Contenu = "test";
// var_dump($Contenu);
// PREPARE QUERY - use prepare pour les accents sur les lettres
// EXAMPLE UPDATE QUERY "UPDATE MyGuests SET lastname='Doe' WHERE id=2"
$id = $_POST['id'];
var_dump($id);
// sleep(10); Pause of 10 Seconds
$bdd = new PDO('mysql:host=localhost;dbname=blog', 'root', '');
$req = $bdd->prepare("UPDATE billets SET titre=" . $Titre . " and contenu=" . $Contenu . " WHERE id=$id");
// $req = $bdd->prepare("UPDATE INTO billets(titre, contenu, date_creation) values (?, ?, NOW())");
$req->execute(array($Titre, $Contenu));
header('Location: index.php');
exit();
}
//// BUILD HTML INDEX CODE
// GET Index.html into $view
$view = file_get_contents(("editer_billet.html"));
//// REMPLACE {HTML_DEFAULT_START} BY CODE
$html_default_start = file_get_contents("html_default_start.html");
$view = str_replace("{HTML_DEFAULT_START}", $html_default_start, $view);
//// REMPLACE {HTML_DEFAULT_END} BY CODE
$html_default_end = file_get_contents("html_default_end.html");
$view = str_replace("{HTML_DEFAULT_END}", $html_default_end, $view);
// DEFINE DATABASE CONNECTION - PDO
try {
$bdd = new PDO('mysql:host=localhost;dbname=blog', 'root', '');
} catch (\Throwable $e) {
die('Erreur : ' . $e->getMessage());
}
// GET CURRENT DATA INSIDE DATABASE
$bdd = new PDO('mysql:host=localhost;dbname=blog', 'root', '');
$req = $bdd->prepare('SELECT titre, contenu FROM billets WHERE id = :id');
$req->bindParam(':id', $_GET['id']);
$req->execute();
$result = $req->fetchall();
foreach ($result as $current_result) {
$view = str_replace("{INPUT_TITRE}", '<input type="text" name="titre" id="Titre" value="' . $current_result["titre"] . '" required>', $view);
$view = str_replace("{INPUT_ID}", $_GET['id'] , $view);
$view = str_replace("{INPUT_CONTENU}", '<div class="input_text"> <textarea id="textarea" name="contenu" required>' . $current_result["contenu"] . '</textarea></div>', $view);
$view = str_replace("{ID}", $_GET['id'], $view);
}
// MONTRE TOUT LE CODE DE LA PAGE
echo $view;
[/PHP]
et, bien sur, mon fichier "editer_billet.html" :
[PHP]
{HTML_DEFAULT_START}
<form action="editer_billet.php" method="post" class="form-example">
<div class="form-example">
<label for="name">Titre du billet: </label>
{INPUT_TITRE}
<br>
{INPUT_ID}
<!-- <input type="text" name="Titre" id="Titre" required> -->
</div>
<div class="form-example">
<label for="name">Contenu: </label>
<br>
{INPUT_CONTENU}
<!-- <div class="input_text"> <textarea id="textarea" name="Contenu" required></textarea></div> -->
<br>
</div>
<div class="form-example">
<input type="submit" name="editer" value="Valider">
</div>
<br>
</form>
<br>
{HTML_DEFAULT_END}
[/PHP]
J'ai essaye de construire un autre fichier update exprès pour mais je n'arrive pas a débugger correctement.
Quelqu'un peux aider?
Merci