NemProgrammering.dk logo

Mini-CMS – Opdatering af indhold

  Skrevet af: Kenneth     09-12-2012     Skrevet i: PHP

Hej allesammen

Dette er så min 4. video omkring Mini-CMS med prepared statements.

I denne video viser jeg hvordan du kan redigere dit indhold med prepared statements. Der skal bruges en html-formular og et php-script.


Kildekode:
Rediger_side.php

<div id="content">
                <?php
                    $page_id = $_GET['page_id'];
                    if(isset($_SESSION['done'])) {
                        echo '<div class="status">'.$_SESSION['done'].'</div>';
                        unset($_SESSION['done']);
                    }
                    if(isset($_SESSION['fail'])) {
                        echo '<div class="status">'.$_SESSION['fail'].'</div>';
                        unset($_SESSION['fail']);
                    }
                    if($stmt=$mysqli->prepare('SELECT titel, tekst FROM content WHERE page_id=?')) {
                        $stmt->bind_param('i',$page_id);
                        //Send forespørgsel
                        $stmt->execute();
                        //Gem modtagne data
                        $stmt->bind_result($side_titel, $side_tekst);
                        $stmt->fetch();
                        //Lukker forbindelen
                        $stmt->close();
                    }
                    else {
                        echo 'Der opstået en fejl: '.$mysqli->error;
                    }
                ?>
                <form name="opret_side" method="post" action="update.php">
                    Titel: <input type="text" name="titel" value="<?php echo $side_titel; ?>" /><br />
                    Tekst:<br />
                    <textarea name="tekst"><?php echo $side_tekst; ?></textarea><br />
                    <input type="hidden" value="<?php echo $page_id; ?>" name="page_id" />
                    <input type="submit" name="opret" value="Opret side" class="btn btn-primary" />
                </form>
            </div>

Update.php

session_start();
include '../inc/connect.inc.php';
if($stmt=$mysqli->prepare('UPDATE content SET titel=?, tekst=? WHERE page_id=?')) {
    $stmt->bind_param('ssi', $titel, $tekst, $id);
    $titel = $_POST['titel'];
    $tekst = $_POST['tekst'];
    $id = $_POST['page_id'];
    $stmt->execute();
    $stmt->close();
    $status = 0;
}
else {
    echo 'Der er opstået en fejl'.$mysqli->error;
}
if($status == 0) {
    $_SESSION['done'] == "Side opdateret";
    header ('Location: ../index.php');
}
else {
    $_SESSION['fail'] = "Siden blev ikke opdateret".$mysqli->error;
    header ('Location: ../index.php');
}

Spørgsmål og kommentarer

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *