Das wäre eine Lösung :wink:
Gästebuch Tutorial
-
-
Nein Sarkkan...nicht direkt. Jedenfalls nicht aktiv.
Bin jetzt auch ein wenig überfordert...lass das jetzt erstmal hängen! -
Hä? Muss ich deinen Beitrag verstehen? :? :?
-
Ging um deine Frage ein paar Posts vorher^^
-
Folgendes. Das mit dem Freischalten funktioniert ABER alles noch umständlich, weil ich weiß das ich was geschrieben habe. Mir fehlt also die Funktion, das ich eine Mail bekomme, wenn jemand einen Eintrag hinerlassen hat, in dem noch der Link zur Freischalt.php und die ID steht.
Gästebuchformular:
PHP
Alles anzeigen<?php array_walk ( $_POST, 'eingabebereinigen' ); array_walk ( $_GET, 'eingabebereinigen' ); array_walk ( $_REQUEST, 'eingabebereinigen' ); function eingabebereinigen(&$value, $key) { // keine HTML-Tags erlaubt, außer p und br $value = strip_tags($value, '<p><br /><b><strong>'); // HTML-Tags maskieren $value = htmlspecialchars($value, ENT_QUOTES); // Leerzeichen am Anfang und Ende beseitigen $value = trim($value); } // SQL-Befehl für den Zugriff if ( $_POST['eintrag'] != "" ) { $sql = "INSERT INTO gaestebuch (`name`, `email`, `url`, `datum`, `eintrag`) VALUES ('".$_POST['name']."', '".$_POST['email']."', '".$_POST['url']."', '".date("Y-m-d H:i:s")."', '".$_POST['eintrag']."' )"; define ( 'MYSQL_HOST', 'localhost' ); define ( 'MYSQL_BENUTZER', 'dirtysanchezcrew' ); define ( 'MYSQL_KENNWORT', '*****' ); define ( 'MYSQL_DATENBANK', 'dirtysanchezcrew' ); $db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); if ( ! $db_link ) { // hier sollte dann später dem Programmierer eine<br /> // E-Mail mit dem Problem zukommen gelassen werden<br /> // die Fehlermeldung für den Programmierer sollte<br /> // das Problem ausgeben mit: mysql_error()<br /> die('keine Verbindung zur Zeit möglich - später probieren'); } $db_sel = mysql_select_db( MYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen"); // ausführen des mysql-Befehls $db_erg = mysql_query( $sql ); } ?> <form name="" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="text/html"> <p>Your Name:<br /> <input type="text" name="name" value="" size="50" maxlength="150" /> </p> <p>Your E-Mail:<br /> <input type="text" name="email" value="" size="50" maxlength="150" /> </p> <p>Your Homepage:<br /> <input type="text" name="url" value="" size="50" maxlength="150" /> </p> <p>Message:<br /> <textarea name="eintrag" rows="10" cols="50"></textarea> </p> <input type="Submit" name="" value="Send" /> </form>
-
Folgende Vorgehensweise:
Wenn der Besucher erfolgreich einen Eintrag gepostet hat, wird die Funktion mail() aufgerufen, mit einer Nachricht die an dich geht. In ihr befindet sich auch ein Link, der ungefähr so aussehen könnte: http://meineSeite.de/Gästebuch/freischalten.php?id=13
Du erhältst die ID durch mysql_insert_id().
freischalten.php muss natürlich die Seite sein, auf der du den Kommentar freischalten kannst. Auf die id in der URL kannst du dann ganz einfach über $_GET['id'] zugreifen.Wie du den Kommentar freischaltest weißt du ja.
Liebe Grüße
Sarkkan -
Das ist der Code der mir die Mail schickt.
Beiden *** soll die id hin. Ich kriegs nur nicht mit mysgl_insert_id() hin
-
-
Ich hab es geschafft! CIh denke der Code ist zwar nicht ganz sauber aber immerhin gehts jetzt^^
PHP
Alles anzeigen<?php define ( 'MYSQL_HOST', 'localhost' ); define ( 'MYSQL_BENUTZER', 'dirtysanchezcrew' ); define ( 'MYSQL_KENNWORT', 'berry18' ); define ( 'MYSQL_DATENBANK', 'dirtysanchezcrew' ); $db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); if ( ! $db_link ) { // hier sollte dann später dem Programmierer eine // E-Mail mit dem Problem zukommen gelassen werden // die Fehlermeldung für den Programmierer sollte // das Problem ausgeben mit: mysql_error() die('keine Verbindung zur Zeit möglich - später probieren '); } $db_sel = mysql_select_db( MYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen"); mysql_insert_id(); $empfaenger = 'schell.rene@freenet.de'; $betreff = 'Guestbook'; $nachricht = 'http://dirtysanchezcrew.bplaced.net/Projekt%20Nr.%202/gaestebuch-freischalten.php?id='.mysql_insert_id(); mail($empfaenger, $betreff, $nachricht); ?>
-
Ich glaube für heute sollte es das für dich und programmieren gewesen sein..
1. Du solltest bei $nachricht mysql_insert_id() und nicht die Funktion mysql_insert_into() (die übrigens nicht existiert) verwenden.. -.-
2. seit wann gibt es mysql_insert_into()??? SQL-Befehl? -
Ich hab alles hinbekommen.
Danke!
-
..und wo schreibst du da in die Datenbank? O.o
-
Das ist nur die gaestebuch-freischalten.php
Ich habe noch eine gaestebuch.php in der das Formular und die Einträge entahlten sind
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!