kostenloser Webspace werbefrei: lima-city


MYSQLI datenabsätze aus MYSQL löschen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Hallo Zusammen,

    Ich bin grade dabei meinen Admin Bereich zu modernisieren und habe das problem das ich mit mysqli nicht löschen kann da die gewöhnliche zeile nicht mehr funktioniert:
    mysqli_query("DELETE FROM kontakt WHERE id='$id'");


    Kann mir jemand sagen wie das mit mysqli aussieht?
    Außerdem gibt er mir keines von den beiden möglichen echos aus wenn ich auf den Button drücke.

    Hier mal der ganze Code:
    <html>
     <head>
     <meta charset="utf-8">
      <style type="text/css">
    	.td{
    	min-width:120px;
    	max-width:300px;
    	}
    	.td2{
    	width:30px;
    	text-align:center;
    	}
      </style>
     </head>
    </html>
     
    <?php
    	
     
    // Neues Datenbank-Objekt erzeugen
    $db = @new mysqli( 'mysql.lima-city.de', '', '', '' );
    // Pruefen ob die Datenbankverbindung hergestellt werden konnte
    if (mysqli_connect_errno() == 0)
    {
    $server =$_SERVER['PHP_SELF'];
    // Query vorbereiten und an die DB schicken
        $sql = 'SELECT * FROM kontakt';
        $ergebnis = $db->query( $sql );
        // Anzahl gefunde Datensaetze ausgeben
        echo "<center><form method='post' action='$server'><p>Es wurden " .$ergebnis->num_rows. " Eintr&auml;ge gefunden.</p>";
        // Ergebnisse ausgeben
        echo"<table border='1'><tr><th>E-mail:</th><th>Name:</th><th>Nachricht:</th><th>Löschen:</th></tr>";
    	while ($zeile = $ergebnis->fetch_object())
        { $text =nl2br($zeile->text);
            echo "<tr><td class='td'>$zeile->email</td><td class='td'>$zeile->username</td><td class='td'>$text</td><td class='td2'><input name='delete_message' type='checkbox' value='$zeile->id' />$zeile->id</td></tr>";
        }
        // Resourcen freigeben
    	echo"</table><br />";
    	echo"<input type='submit' name='delete' value='Nachrichten Löschen' /></form></center>";
        $ergebnis->close();
    	
    	//Löschen von Nachrichten
    		if(isset($_POST["delete"])){
    		$id =strip_tags($_POST["delete_message"]);
    			
    		if($action=='delete'){ //if the user clicked ok, run our delete query
    
        //$mysqli->real_escape_string() function helps us prevent attacks such as SQL injection
        $query = "DELETE FROM kontakt WHERE id = ".$mysqli->real_escape_string($_GET['post'])."";
       
        //execute query
        if( $mysqli->query($query) ){
            //if successful deletion
            echo "Message Delete was deleted.";
        }else{
            //if there's a database problem
            echo "Database Error: Unable to delete record.";
        }
       
    }
    		
    	
    
    		}
    
    }
    else
    {
    echo"False";
        // Es konnte keine Datenbankverbindung aufgebaut werden
        echo 'Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf: <span class="hinweis">' .mysqli_connect_errno(). ' : ' .mysqli_connect_error(). '</span>';
    }
    // Datenbankverbindung schliessen
    $db->close();
     
    ?>


    LG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. m**********n

    Hallo marvinkleinmusic,

    Dein Fehler liegt glaube ich hier:
    if($action=='delete')

    An dieser Stelle verwendest du die uninitialisierte Variable $action, deshalb wird das if-Statement erst gar nicht ausgeführt.

    Irgendwo musst du folgendes ausführen, damit der code funktioniert:
    $action = $_POST["action"];


    Dann wird das if-Statement erst ausgeführt.
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!