• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Programmier Neuling

Coolzero

Advanced Hacker
Hallo, ich habe mich mal ans Erstellen einer Homepage gegeben und habe mir dazu verschiedene Tuts an angesehn, vorallem SelfHtml!

Hat auch soweit alles gut funktioniert nur leider komme ich bei der erstellung meines Gästebuchs nicht so richtig weiter, habe dazu auch ein Tut gefunden http://tut.php-quake.net/guestbook.html

Nun habe ich eine Datei gb_add.php mit dem Inhalt:
Code:
<h2>Eintrag ins Gästebuch hinzufügen</h2>

<form action="index.php?section=gb_insert" method="post" class="formular">
    <ol>
        <li>
            <label for="name">Name</label>
            <input type="text" name="Name" id="name" />
        </li>
        <li>
            <label for="email">Email</label>
            <input type="text" name="Email" id="email" />
        </li>
        <li>
            <label for="homepage">Homepage</label>
            <input type="text" name="Homepage" id="homepage" />
        </li>
        <li>
            <label for="beitrag">Beitrag</label>
            <textarea name="Text" id="beitrag"></textarea>
        </li>
        <li>
            <input type="submit" name="submit" value="Speichern" />
            <input type="reset" name="submit" value="Zurücksetzen" />
        </li>
    </ol>
</form>

Eine Datei namens gb_insert it dem inhalt:
Code:
<?php
    if(get_magic_quotes_gpc()) {
        // wenn magic_quotes_gpc auf 1 steht

        foreach($_POST as $key => $value) {
            $_POST[$key] = stripslashes($value);
        }
    }
?>

<?php
    function array_stripslashes(&$var)
    {
        if(is_string($var)) {
            $var = stripslashes($var);
        } else {
            if(is_array($var)) {
                foreach($var AS $key => $value) {
                    array_stripslashes($var[$key]);
                }
            }
        }
    }
?>

<?php
    error_reporting(E_ALL);
    include 'inc/config.php'; // die Konfigurationsdateien lesen.

    if(get_magic_quotes_gpc()) {
        array_stripslashes($_GET);
        array_stripslashes($_POST);
        array_stripslashes($_COOKIE);
    }

    // ...
?>

<?php
    if(!isset($_POST['Name'], $_POST['Email'],
              $_POST['Homepage'], $_POST['Text'])) {
        die("Bitte Benutzen sie das Formular aus dem Gästebuch\n");
    }

    if(trim($_POST['Name']) == "") {
        die("Bitte geben sie einen Namen ein");
    }
    if(trim($_POST['Text']) == "") {
        die("Bitte geben sie einen Text ein");
    }

    $sql = "INSERT INTO gaestebuch
                (Name, Email, Homepage, Inhalt, Datum)
            VALUES
                ('".addslashes(htmlspecialchars($_POST['Name']))."',
                '".addslashes(htmlspecialchars($_POST['Email']))."',
                '".addslashes(htmlspecialchars($_POST['Homepage']))."',
                '".addslashes(htmlspecialchars($_POST['Text']))."',
                NOW())";

    mysql_query($sql) OR die(mysql_error());

    echo "<p>Vielen Dank für ihren Eintrag.</p>\n";
    echo "<p><a href=\"index.php?section=gb\">Zurück ins Gästebuch</a></p>\n";
?>

und eine Datei namens gb.php mit dem inhalt

Code:
<?php
    echo "<h2>Gästebuch</h2>\n";
    echo "<p>\n";
    echo "    <a href=\"index.php?section=gb_add\">Ins Gästebuch reinschreiben</a>\n";
    echo "</p>\n";
    $sql = "SELECT
                Name,
                Datum,
                Email,
                Homepage,
                Inhalt
            FROM
                gaestebuch
            ORDER BY
                Datum DESC";
    $result = mysql_query($sql) OR die(mysql_error());
    echo "<p>Einträge im Gästebuch: ".mysql_num_rows($result)."</p>\n";
    echo "<hr>\n";

    while($row = mysql_fetch_assoc($result)) {
        echo "<div class=\"gb-eintrag\">\n";
        echo "    <div class=\"Kopfdaten\">\n";
        if(trim($row['Email']) == "") {
            echo $row['Name'];
        } else {
            echo "<a href=\"mailto:".$row['Email']."\">".$row['Name']."</a>\n";
        }
        if(trim($row['Homepage']) != "") {
            if(strtolower(substr($row['Homepage'], 0, 7)) == "http://") {
                // Wenn der Teilstring gleich "http://" ist, so
                // soll er den Link ohne "http://" erzeugen, denn
                // der Steht ja schon drin
                echo " (<a href=\"".$row['Homepage']."\">Homepage</a>)";
            } else {
                // Wenn nicht, so soll er das "http://" manuell hinzufügen
                echo " (<a href=\"http://".$row['Homepage']."\">Homepage</a>)";
            }
        }

        echo " schrieb um ".$row['Datum']."\n";
        echo "    </div>\n";
        echo "    <div class=\"Inhalt\">\n";
        echo "        ".nl2br($row['Inhalt'])."\n";
        echo "    </div>\n";
        echo "</div>\n";
    }
?>

Ist das soweit richtig?

Aber was mache ich jetzt mit den 3 Dateien, wie binde ich sie in meine html Datei Gästebuch.html ein?

Danke für die Hilfe
 

nbkr

Guru
Naja, die gb.php bindest Du einfach ins Menü der Seite ein "Gästebuch ansehen". Die gb_insert ist das Ziel des Formulares, also gehört der Dateiname in das action Attribut des Formulares und die Formular selbst verlinkst Du auf der Seite wo Du das haben möchtest: "Ins Gästebuch schreiben".
 
OP
Coolzero

Coolzero

Advanced Hacker
kegmeon schrieb:
http://tut.php-quake.net/

Da hab ich das je mit dem Gästebuch gefunden, kann da aber niergens was finden wie ich das in meine HTml Datei einbinde!

Naja, die gb.php bindest Du einfach ins Menü der Seite ein "Gästebuch ansehen". Die gb_insert ist das Ziel des Formulares, also gehört der Dateiname in das action Attribut des Formulares und die Formular selbst verlinkst Du auf der Seite wo Du das haben möchtest: "Ins Gästebuch schreiben".

Das hört sich gut an, aber wie binde ich das "einfach" ein?
 
Wenn du nichtmal im Stande bist, mit HTML einen Link zu erstellen, solltest du dich zuvor mal mit HTML beschäftigen.

http://de.selfhtml.org/
 
Oben