Ergebnis 1 bis 4 von 4

Thema: [SQL] Edit- Button

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Der Edit-Button muss (wenn du's nicht mit AJAX o.ä. auf der gleichen Seite in ein Formular einfügst, was aber eindeutig aufwendiger ist) auf eine Seite in der Art "edit.php?id=1" (für das Item mit der ID 1) verweisen.
    In die "edit.php" kommt dann etwas ähnlich dem Folgenden:
    PHP-Code:
    <?php
    $id 
    intval($_GET['id']);
    if (
    id == 0) {
        echo 
    "Ungültiger ID-Parameter!";
    }

    $db mysql_connect("localhost""benutzername""passwort") or die("MySQL-Fehler!");
    mysql_selectdb("verwendete_tabelle"$db);

    $sql "SELECT `spalte1`, `spalte2`, `spalte3` FROM `tabelle` WHERE `id` = $id LIMIT 1";
    $result mysql_query($sql$db) or die("MySQL-Fehler!");

    $data mysql_fetch_array($result);
    mysql_free_result($result);
    mysql_close($db);
    ?>
    <!-- Normale HTML-Datei bis zum Formular-Teil -->

    <form method = "post" action = "update.php">
        <input type = "hidden" name = "id" value = "<?php echo $id?>" />
        <label for = "input1">Spalte1:</label>
        <input type = "text" id = "input1" name = "input1" value =
            "<?php echo html_specialchars($data['spalte1']); ?>" />
        <label for = "input2">Spalte2:</label>
        <input type = "text" id = "input2" name = "input2" value =
            "<?php echo html_specialchars($data['spalte2']); ?>" />
        <label for = "input3">Spalte3:</label>
        <input type = "text" id = "input3" name = "input3" value =
            "<?php echo html_specialchars($data['spalte3']); ?>" />
        <input type = "submit" value = "Änderungen übernehmen" />
    </form>

    <!-- Rest der HTML-Datei -->
    In "update.php" erhältst du dann die neuen Werte in den POST-Daten, und kannst sie in etwa so in der Datenbank ändern:
    PHP-Code:
    mysql_query("UPDATE `tabelle` SET `spalte1` = '" mysql_real_escape_string($_POST['spalte1']) . "', `spalte2` = '" mysql_real_escape_string($_POST['spalte2']) . "', `spalte3` = '" mysql_real_escape_string($_POST['spalte3']) . "' WHERE `id` = " intval($_POST['id']) . " LIMIT 1"$db); 
    Zu ergänzen wäre natürlich noch ein Authentifizierungsmechanismus, damit nicht jeder das Ganze editieren kann wie er will.
    Ahja, und Fehler sind auch sicher noch drin, nicht getestet. <__<'

  2. #2
    Zitat Zitat
    Ahja, und Fehler sind auch sicher noch drin, nicht getestet. <__<'
    Genau, [FONT="Courier New"]htmlspecialchars[/FONT] schreibt man ohne [FONT="Courier New"]_[/FONT].

    Zudem würde ich empfehlen, dass:
    Code:
    or die("MySQL-Fehler!");
    durch:
    Code:
    or die(mysql_error());
    zu ersetzen.

  3. #3
    Ich hab mir mit eurem Zutun und dem Atelier eine Lösung zusammengefrömmeln können.
    Danke vielmals .

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •