1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

ich bring das guestbook nicht zum laufen

Discussion in 'Web-Know-how für die Homepage' started by heissim, Feb 15, 2007.

Thread Status:
Not open for further replies.
  1. heissim

    heissim Byte

    innerhlab meines html-codes(is aber als .php gespeichert) steht folgendes:

    wenn ich die datei aber nun über meinen xampp aufruf und das formular ausfülle, wird in meine datenbank nix eingetragen.
    bis auf das datum wird, wenn ich das zeug via phpmyadmin eintrage alles sauber ausgegeben.
    need help :(

    meine datenbank ist übringes so aufgebaut:

    id bigint(20) DEFAULT '0' NOT NULL,
    Name varchar(255) NOT NULL,
    Email varchar(255) NOT NULL,
    Homepage varchar(255) NOT NULL,
    Message text NOT NULL

    <div id="main">
    <div id="guestbook">
    <form action="<?php echo $PHP_SELF ?>" method="post" name="eintragung"> <!-- Anfang des Formulars -->
    Name:<br><input type="text" name="Name" size="25"><br>
    Email:<br><input type="text" name="Email" size="25"><br>
    Homepage:<br><input type="text" name="Homepage" size="25"><br>
    Message:<br><textarea name="Message" cols="20" rows="10"></textarea><br><br>
    <input type="submit" name="neueintrag" value="Eintragen">
    <input type="reset" value="L&ouml;schen">
    </form>
    </div>
    <?php

    $verbindung = mysql_connect( "meinserver", "meinname", "meinpasswort");

    if (!$verbindung)
    {
    echo "<br><center><b>- Keine Verbindung zur Datenbank -</b></center>";
    exit;
    }

    mysql_select_db("meine datenbank");

    if($neueintrag)
    {

    $id = time();

    $name = addslashes($Name);
    $email = addslashes($Email);
    $homepage = addslashes($Homepage);
    $message = addslashes($Message);

    $sqlkommando = "INSERT INTO guestbook (id, Name, Email, Homepage, Message) VALUES ('$id', '$Name', '$Email', '$Homepage', '$Message')";


    mysql_query($sqlkommando) or die("Error: " . mysql_error());

    echo "Eintragung erfolgreich hinzugefügt";
    }
    ?>
    <?php
    $sqlkommando = "SELECT * FROM guestbook ORDER BY id DESC";

    $sqlanfrage = mysql_query($sqlkommando) or die("Error: " . mysql_error());


    while($daten = mysql_fetch_object($sqlanfrage))
    {

    $datum = getdate($daten->id);

    echo "Eintrag von ". stripslashes($daten->Name) ."\n<br>";
    echo "Email: <a href=\"mailto:".stripslashes($daten->Email)."\">".stripslashes($daten->Email)."</a>\n<br>";
    echo "Homepage: ".stripslashes($daten->Homepage)."\n<br>";
    echo "Geschrieben: $ndate[weekday] - $ndate[mday]/$ndate[mon]/$ndate[year] $ndate[hours]:$ndate[minutes]";
    echo "<br>";
    echo "Kommentar: ";
    echo nl2br(stripslashes($daten->Message));
    echo "\n<br><br>\n";
    }
    ?>
    </div>

    schonmal danke im voraus
     
  2. heissim

    heissim Byte

    Planänderung: ich nehm kein tutorial, ich baus selber mit eigenen grundgedanken:

    meine fragen am anfang:nicht damit ihr das script 5 mal lesen müsst^^
    Wie würdet ihr eine Datums anzeige einbauen?
    Wo bau ich stripslashes und addslashes ein, habe gelesen das sollte ich auf jeden fall machen?
    Wie bekomme ich die Eingabefelder(Name,Email,Homepage auf eine Höhe?
    Wie entferne ich angezeigte Leerstellen wenn ich Email und Homepage leer lasse?
    Wie kann ich den ausgegebenen Eintrag formatieren?
    Welche Lösung würdet ihr vorschlagen wenn ihr nicht immer die quasi leere Seite eintragen.php beim absenden des frmulars betrachten wollt?

    meine php datei(umgeben von html, nur der entscheidende ausschnitt) :

    <div id="main">
    <div id="formular">
    <h1> Mein Guestbook </h1>
    <form action="einlesen.php" method="post" class="gbformat">

    <ol>
    <li
    <label for="Name">Name</label>
    <input type="text" name="Name" id="Name" size="30">
    </li>
    <li
    <label for="Homepage">Homepage</label>
    <input type="text" name="Homepage" id="Homepage" size="30">
    </li>
    <li
    <label for="E-Mail">E-Mail</label>
    <input type="text" name="Email" id="e-Mail" size="30">
    </li>
    <br>
    <li
    <label for="Mitteilung">Mitteilung</label> <br>
    <textarea name="Mitteilung" cols="80" rows="10" id="Mitteilung"></textarea>
    </li>

    <br><br>
    <li
    <input type="submit" value="Und ab gehts">
    <input type="reset" value="Doch nicht">
    </li>
    </ol>
    </form>
    </div>
    <div id="guestbook">
    <?php
    ini_set('display_errors', 1);
    error_reporting(E_ALL);

    $db_server = "xxx";
    $db_user = "xxx";
    $db_passwort = "xxx";
    $db_name = "xxx";

    $db = MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
    mysql_select_db ($db_name);

    $abfrage = "SELECT * FROM guestbook ORDER BY id DESC";
    $ergebnis = mysql_query($abfrage) or die("Error: " . mysql_error());
    while($row = mysql_fetch_object($ergebnis))
    {

    echo "Eintrag von:" ."$row->Name";
    echo " am:" ."$row->Datum<br> ";
    echo "$row->Email<br>";
    echo "$row->Homepage<br>";
    echo "Kommentar:<br>" ."$row->Inhalt <br>";
    }
    ?>
    </div>
    </div>
    </body>
    </html>

    die einlesen.php:

    <?php
    ini_set('display_errors', 1);
    error_reporting(E_ALL);

    $db_server = "xxx";
    $db_user = "xxx";
    $db_passwort = "xxx";
    $db_name = "xxx";

    $db = MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
    mysql_select_db ($db_name);

    $daten= array($_POST["Name"], $_POST["Email"], $_POST["Homepage"], $_POST["Mitteilung"]);
    if ($daten[0] !="" AND $daten[3] !="")
    {
    echo "Ihr Eintrag wurd gespeichert";
    }
    else
    {
    echo "Bitte Namen UND Mitteilung eingeben";
    exit;
    }

    $eintrag = "INSERT INTO guestbook
    (Name, Email, Homepage, Inhalt)
    VALUES
    ('$daten[0]', '$daten[1]', '$daten[2]', '$daten[3]')";
    $eintragen = mysql_query($eintrag) or die("Error: " . mysql_error());
    ?>

    ich weiss, das was ich hier produziert habe entspricht in keinster weise dem gebotenen standards, aber ich bin trotzdem stolz drauf, denn das ding entstammt meinem schädel und ich hab ne weile gebraucht das zu bauen, auch weil ich noch recht neu auf dem gebiet php/mysql bin

    meine fragen:
    Wie würdet ihr eine Datums anzeige einbauen?
    Wo bau ich stripslashes und addslashes ein, habe gelesen das sollte ich auf jeden fall machen?
    Wie bekomme ich die Eingabefelder(Name,Email,Homepage auf eine Höhe?
    Wie entferne ich angezeigte Leerstellen wenn ich Email und Homepage leer lasse?
    Wie kann ich den ausgegebenen Eintrag formatieren?
    Welche Lösung würdet ihr vorschlagen wenn ihr nicht immer die quasi leere Seite eintragen.php beim absenden des frmulars betrachten wollt?

    So hoffe dass hier jemand helfen kann
     
  3. heissim

    heissim Byte

    gibt es keinen der lust hat mir zu helfen?
    ich weiss dass man so seine threads nicht uppen sollte, aber wie soll ichs sonst machen
     
  4. Wolle92

    Wolle92 Byte

    Hallo!! bei mysql_select_db muss man den wert von mysql_connect eibauen... also mysql_select_db($db_name, $db) oder mysql_select_db("meine_datenbank", $verbindung) oder wie auch immer... sonst wird die Datenbank nicht gewählt...

    Probiers, kann auch sein, dass ich mich irre... aber wenns dann geht, dann nicht
     
Thread Status:
Not open for further replies.

Share This Page