Php Gästebuch

Alt 15.06.2011, 13:57   # 1
darkii
 
Registriert seit: 16.05.2011
Beiträge: 39
Hei Leute,

wieder eine Frage von mir... Und zwar ich hab ein Praktikum und muss ein Gästebuch programmieren in php.

Die Verbindung mit der Datenbank funktioniert nur das reinschreiben oder rausgeben nicht ausserdem kommen folgende Fehler:

Notice: Undefined index: name in C:\xampp\htdocs\index.php on line 20

Notice: Undefined index: email in C:\xampp\htdocs\index.php on line 21

Notice: Undefined index: homepage in C:\xampp\htdocs\index.php on line 22

Notice: Undefined index: inhalt in C:\xampp\htdocs\index.php on line 23

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\index.php on line 57
-- Keine Einträge vorhanden --

Hier der Code:

//start der index.php <link rel="stylesheet" href="style.css" type="text/css" - Pastebin.com


Wäre sehr freundlich wenn ihr es euch mal anschaut..
  Mit Zitat antworten
Alt 15.06.2011, 15:25   # 2
FreewareGuide
Moderator
 
Benutzerbild von FreewareGuide
 
Registriert seit: 31.10.2002
Ort: Oldenburg
Beiträge: 5.432
Die ersten vier Warnungen sind klar, wenn Du die Seite aufrufst ohne sie als Formular aufzurufen, dann sind die $POST-Parameter natürlich leer. Das ist ein Array, und Du greifst mit Namen (auch Key, Schlüssel) des Wertes auf den Inhalt zu ("name" usw.). Leeres Array heißt unbekannter Name. Versuch mal z.B. isset(), array_key_exists()...

Wenn beim fünften Fehler der $query Boolean statt Resource ist, heißt das laut Doku zu mysql_query(), dass die Anfrage fehlgeschlagen ist und FALSE liefert. Du musst mit der Fehlersuche also weiter oben ansetzen. Also wohl wahrscheinlich das SQL-Statement...

Um das abzukürzen, hast Du all das selbst geschrieben oder hast Du dieses Skript irgendwo gefunden? Wo?
  Mit Zitat antworten
Alt 15.06.2011, 16:22   # 3
darkii
Threadstarter
 
Registriert seit: 16.05.2011
Beiträge: 39
Selbst geschrieben sonst hätte ich die Fehler nicht aber hab es jetzt ausgebessert neuen code poste ich hier: <link rel="stylesheet" href="style.css" type="text/css" /> <div id="formular" - Pastebin.com

Nur jetzt muss ich ne Löschfunktion schreiben und das schaff ich zwar nur löscht die momentan alle einträge und ist ein Button unten links ^^

---------- Doppelpost zusammengeführt ----------

Das hab ich nun in eine zweite php datei geschrieben

PHP-Code:
<?php
$id 
$_GET['id'];

$sql "DELETE FROM eintraege WHERE id='$id' LIMIT 1";
if(
mysql_query($sql))

else echo 
"Konnte Eintrag nicht löschen!";
?>
und so ergänzt:

PHP-Code:
    if (mysql_num_rows ($query) > 1){
        while (
$row mysql_fetch_array($query)){            
            echo 
$row["name"]." (".$row["email"].") schrieb am  " .$row["datum"]. "  )<br>";
            echo 
nl2br($row["inhalt"])."<br><br>";
      echo 
"<br>";
      echo 
"<a href=\"loeschen.php?id=".$dsatz["id"]."\">Diesen Eintrag löschen</a><p>\n";    
        } 
Und wer hätts gedacht es will nicht funktionieren ^^
  Mit Zitat antworten
Alt 20.07.2011, 16:12   # 4
Teladorn
 
Registriert seit: 19.07.2011
Beiträge: 27
Weiß nicht ob das Thema noch Aktuell ist, aber ich würde es so machen:
PHP-Code:
<?php
switch ($_GET['act']) {
    case 
"del":
        
mysql_query("DELETE FROM `tabelle_eintraege` WHERE `tabelle_eintraege`.`id` = '".mysql_real_escape_string((int)$_GET['id'])."';");
        echo 
'<meta http-equiv="Refresh" content="3; url=gbook.php">';
        echo 
'Eintrag geloescht!';
        break;
    default:
        
##################
        ## List entrys  ##
        ##################
        
$sql "SELECT *, DATE_FORMAT('%d.%m.%Y') 
                AS datum 
                FROM tabelle_eintraege 
                ORDER BY zeit DESC;"
;
        
$query mysql_query($sql);
        while (
$row mysql_fetch_array($query)) {
            echo 
$row["name"]." (".$row["email"].") schrieb am  " .$row["datum"]. "  )<br>";
            echo 
nl2br($row["inhalt"])."<br><hr><br><a href=\"gbook.php?act=del&id=".$dsatz["id"]."\">Diesen Eintrag löschen</a><p>\n";
            
        }
        echo 
'</table>';
    }
?>
So hättest du z.B. auch einen guten ansatz falls du auch eine Möglichkeit einbauen solltest die einträge zu bearbeiten.
  Mit Zitat antworten

Alt 28.05.2012, 21:08 # --
News Flash
 
Benutzerbild von News Flash
 
 
 

Das könnte Dich auch noch interessieren:

Nicht fündig geworden? Dann ohne Anmeldung in unserem Gast-Forum nachfragen.

   
Antwort
Themen-Optionen



Alle Zeitangaben in WEZ +2. Es ist jetzt 21:08 Uhr.