Ankündigung

Einklappen
Keine Ankündigung bisher.

Eintrag wird nicht eingetragen (Kontrollfunktion lügt?)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eintrag wird nicht eingetragen (Kontrollfunktion lügt?)

    also, ich habe eine einzige php datei, in der ich einträge anlegen löschen und ändern will.

    die seite zeigt erstmal einen Link für das anlegen eines neuen eintrags, danach soll eine übersicht aller einträge erfolgen, neben jedem eintrag soll dann eine URL sein mittels derer man ihn ändern/löschen kann.

    die links machen nichts anderes als auf ?variable=blubb zu verweisen. das php script hat also anfangs mehrere kontrollstrukturen die dann gegebenfalls ein formular darstellt und danach exit() eingibt damit die ganze liste der befehle nicht angezeigt wird.

    folgendes problem: Eintragen neuer Einträge funktioniert eiwnand frei
    Editieren der Beiträge funktioniert EIGENTLICH auch einwandfrei. es öffnet sich das formular, die felder sind mit den richtigen werten ausgefüllt, wenn ich dann etwas verändere und auch Speichern klicke, sagt die kontrollstruktur dass der Eintrag erfolgreich war. aber wenn man dann nachschaut, wurde NICHTS aktualisiert:

    Hier der Link zur Adminseite (hat noch keinen Login)
    Das hinzufügen braucht ihr nicht zu testen, das geht problemlos
    um einen Beiotrag zu editieren, gebt einfach "?wannaedit=1&editid=5" bei der URL dazu.

    Ihr könnt gerne pobieren einen Eintrag zu editieren. ob das geklappt habt seht ihr dann hier

    So, jetzt zum Quellcode

    PHP-Code:
    <?php
    mysql_connect
    ("localhost","***","***");
    mysql_select_db("****");
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
        <title>Tuning-Teil-Manager</title>
    </head>

    <body>
    <?php
    //Kontrolle: User will neuen Author anlegen (wanna add ist "1"):
    if ($_GET['wannaadd'] == "1")
    {
    echo 
    "Neuen Eintrag erstellen
    "
    ;
    echo 
    '<form action="';
    echo 
    $_SERVER['PHP_SELF'];
    echo 
    '" method="post">';
    echo 
    '<table border="1"><tr><td>Name:<input name="befehlname" type="text" size="30" ></td><td>Standardwert:<input name="standardwert" type="text" size="10"></td></tr>';
    echo 
    '<tr><td>Hier die Beschreibung eingeben:
    <textarea name="beschreibung" cols="50" rows="10"></textarea>'
    ;
    echo 
    '<tr><td>Hier die Empfehlung eingeben:
    <textarea name="empfehlung" cols="50" rows="10"></textarea>'
    ;
    echo 
    '<input type="submit" name="added" Value="Speichern">';
    exit();    
    }
    ?>
    <?php
    //Kontrolle, ob ein Eintrag editiert werden soll (wanna edit ist 1 und editid entspricht der ID des eintrags):
    if ($_GET['wannaedit'] == "1")
    {
    $ergebnis=mysql_query("SELECT id, name, sdwert, beschr, empf FROM tunings WHERE id=$_GET[editid]");
    $row mysql_fetch_array($ergebnis);
    $id $row["id"];
    $name $row["name"];
    $stand $row["sdwert"];
    $besch $row["beschr"];
    $emp $row["empf"];
    echo 
    "Eintrag editieren
    "
    ;
    echo 
    '<form action="';
    echo 
    $_SERVER['PHP_SELF'];
    echo 
    '" method="post">';
    echo 
    '<table border="1"><tr><td>Name:<input name="befehlname" type="text" size="30" value="'.$name.'"></td><td>Standardwert:<input name="standardwert" type="text" size="10" value="'.$stand.'"></td></tr>';
    echo 
    '<tr><td>Hier die Beschreibung eingeben:
    <textarea name="beschreibung" cols="50" rows="10">'
    .$besch.'</textarea>';
    echo 
    '<tr><td>Hier die Empfehlung eingeben:
    <textarea name="empfehlung" cols="50" rows="10">'
    .$emp.'</textarea>';
    echo 
    '<input type="hidden" name="id" value="$id">';
    echo 
    '<input type="submit" name="edited" Value="Speichern">';
    exit();
    }
    ?>
    <?php
    //Kontrolle, ob ein Eintrag gemacht wurde (value added = Speichern)
    //wenn ja, wird er in die DB eingetragen und eine Bestätigungsmessage ausgegeben
    if ($_POST['added'] == "Speichern")
    {
    $sql "INSERT INTO tunings SET
        name='
    $_POST[befehlname]',sdwert='$_POST[standardwert]',beschr='$_POST[beschreibung]',empf='$_POST[empfehlung]'";
        if (@
    mysql_query($sql)) {
            echo 
    "Eintrag war erfolgreich";}
        else
        {
            echo 
    'Fehler beim Eintragen: '.mysql_error();
        }
    }
    ?>
    <?php
    //Kontrolle, ob ein Eintrag AKTUALISIERT wurde (value edited = Speichern)
    //wenn ja, wird er in die DB eingetragen und eine Bestätigungsmessage ausgegeben
    // Das funktioniert dann auch, aber der Eintrag wurde dennoch NICHT aktualisiert !
    if ($_POST['edited'] == "Speichern")
    {
    $sql "UPDATE tunings SET
        name='
    $_POST[befehlname]',
        sdwert='
    $_POST[standardwert]',
        beschr='
    $_POST[beschreibung]',
        empf='
    $_POST[empfehlung]'
        WHERE id='
    $_GET[editid]'";
        if (
    mysql_query($sql)) {
            echo 
    "Eintrag wurde erfolgreich aktualisiert";}
        else
        {
            echo 
    'Fehler beim Eintragen: '.mysql_error();
        }
    }
    ?>
    <?php
    //Zeige eine Übersicht aller Einträge an, weils mit Links daneben um zu löschen oder zu editieren
    //$liste=mysql_query("SELECT id, name, FROM tunings ORDER BY name asc");
    //while ($row = mysql_fetch_array($liste) )
    //{
    //$id = $row["id"];
    //$namen = $row["name"];
    //echo $id.' '.$name;
    //echo '[url=' . $_SERVER[']editieren[/url]';
    //echo '[url=' . $_SERVER[']löschen[/url]';
    //}
    //Dieser letzte Teil scheint auch irgendwie nicht zu funktionieren. ka wieso
    ?>


    Auf dieser Seite kannst du einen neuen Eintrag einfügen, welche löschen oder ändern!</p>


    [url="<?=$_SERVER['PHP_SELF']?>?wannaadd=1"]Neuen Eintrag anlegen![/url]</p>


    </body>
    </html>
    ?>

Lädt...
X