Antworten auf deine Fragen:
Neues Thema erstellen

frage zu mein"gästebuch"

zuck

Noch nicht viel geschrieben

Hi com,

ich habe mal ein kleines "gästebuch" erstellt nun ist das Problem das,dass neuste Kommentar immer ganz unten steht siehe Bild

Bild:
http://phpueben123.bplaced.net/help.jpg


ich weiß grün ist ein wenig schrill :D


PHP:
<?php
session_start()
?>
<?php
if(!isset($_SESSION["username"]))
   {
   echo "<body bgcolor='#33FF33'>";
   echo "<center>Bitte erst <a href=\"login.php\">einloggen</a></center>";
   exit;
   }
   else {
$user = $_SESSION["username"];
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
?>
<style type="text/css">

input{color:#F00}

body{background-color:#3F3}
</style>

<center>
  <h3>Kommentare:<br>

<?php
$verbindung = mysql_connect("localhost", "root" , "")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");

mysql_select_db("ueben") or die ("Datenbank konnte nicht ausgewählt werden");


$query = "SELECT id, name,kommentar,date FROM kommentar";
$rs = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($rs, MYSQL_NUM)){

echo"<center>";
echo"<table border='1'>";
echo"<tr>";
echo" <th>Kommentar ID</th>";
 echo"<th>Von:</th>";
echo" <th>Kommentar:</th>";
echo" <th>datum</th>";
 
echo" </tr>";
echo"<tr>";
echo"  <th>$row[0]</th>";
echo"  <th>$row[1]</th>";
echo"  <th>$row[2]</th>";
echo"  <th>$row[3]</th>";
 
echo"</center>";
} 
?> 
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</h2>
</h3></center>
<h3> Eigenes Kommentar schreiben :</h3>
<form action="komm_eintrag.php" method="post" >
<center>
  <textarea name="kommi_erstellen" cols="80" rows="10">
</textarea>
 

<p>
  <input type="submit" name="submit" value="Kommentar Eintagen">
   <input type="hidden" name="date" value="<?php echo "" .$datum ."" ?>">
    <input type="hidden" name="name" value="<?php echo "". $user ."" ?>">
</p>
</center></form>
<?php
$date = $_POST['date'];
$name = $_POST['name'];
$kommi = $_POST['kommi_erstellen'];

if(!empty($_POST['submit'])){
$verbindung = mysql_connect("localhost", "root" , "")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");

mysql_select_db("ueben") or die ("Datenbank konnte nicht ausgewählt werden");

$kommentar = $_POST["kommi_erstellen"];

if($kommentar == "")
    {
    echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"eintragen.html\">Zurück</a>";
    exit;
    }
$passwort = md5($passwort);

$result = mysql_query("SELECT id FROM User WHERE username LIKE '$username'");
$menge = mysql_num_rows($result);

if($menge == 0)
    {
    
    $eintrag = "INSERT INTO Kommentar (Name, kommentar,date) VALUES ('$name', '$kommi', '$date')";
    $eintragen = mysql_query($eintrag);

    if($eintragen == true)
        {
            
        echo "Wurde erfolgreich eingetragen";
        


        }
    else
        {
        echo "Fehler beim Speichern eintragen";
        }


    }

else
    {
    echo "error";
    }}}
?>
ich hoffe das mir jemand helfen kann...

LG
Zuck
 
Zuletzt bearbeitet von einem Moderator:

Duddle

Posting-Frequenz: 14µHz

AW: frage zu mein"gästebuch"

Du holst die Daten aus der Datenbank. Diese sind standardmäßig nicht sortiert. Das Sortieren wird in MySQL mit ORDER BY angegeben. Du könntest also beispielsweise folgendes machen, um nach der id zu sortieren:

PHP:
$query = "SELECT id, name,kommentar,date FROM kommentar ORDER BY id DESC";


Duddle
 

zuck

Noch nicht viel geschrieben

AW: frage zu mein"gästebuch"

danke das dubble für deine schnelle Antwort nur leider kam das gleiche raus....
 

saila

Moderatorle

AW: frage zu mein"gästebuch"

Hi,

bei der Verwendung von ORDER BY date DESC kommt garantiert nicht das selbe heraus ;)
PHP:
<?php
$query = "SELECT id, name,kommentar,date FROM kommentar ORDER BY date DESC";
?>
 

zuck

Noch nicht viel geschrieben

AW: frage zu mein"gästebuch"

jetzt ja....

es ist aber noch der gleiche Fehler habe 2 Freunde gefragt bei denen ist es auch so...

vielleicht versteht es ihr auch falsch,also der Fehler besteht nicht darin das irgendetwas falsch geordnet ist sondern das unter der box noch ein kommentar steht...
 

piepel

LocalDurst

AW: frage zu mein"gästebuch"

ist nur so Idee, kanns nicht selber ausprobieren zur Zeit. Lass das mal mit der "while" Schleife und probier mal "foreach"
 

zuck

Noch nicht viel geschrieben

AW: frage zu mein"gästebuch"

Sorry bin noch neu in sache php und weiß grade nicht wo ich es einsetzten soll^^....
 

saila

Moderatorle

AW: frage zu mein"gästebuch"

Lass dir mal $rs mittels

PHP:
<?php
echo '<pre>'; print_r($rs); echo '</pre>';
?>

ausgeben. Daran wirst du erkennen, warum da noch ein Kommentar steht.
Vor allem siehst du dann, was der dein "falscher" Kommentar ist und was im Result als Kommentar enthalten ist.
 

zuck

Noch nicht viel geschrieben

AW: frage zu mein"gästebuch"

habe ich getan nun kann dies raus:

PHP:
Resource id #3

was ich damit machen soll weiß ich nicht genau
 

saila

Moderatorle

AW: frage zu mein"gästebuch"

Ok schreibe in print_r(mysql_fetch_assoc($rs, MYSQL_NUM));
Ich ging davon aus, dass du selbst darauf kommst, da ja $rs direkt noch einmal danach verwendet wird, womit ein Array gebildet wird.
 

JannisL

Aktives Mitglied

AW: frage zu mein"gästebuch"

Du hast dich bei Eintagen verschrieben, müsste eintragen heißen. Kannst ja auch noch ändern.
 

jackprince

xHTML & CSS Junkie

AW: frage zu mein"gästebuch"

Dein HTML kosntrukt sieht auf den ersten blick aber auch schon nicht passend aus

HTML:
echo"<center>";
echo"<table border='1'>";
echo"<tr>";
echo" <th>Kommentar ID</th>";
 echo"<th>Von:</th>";
echo" <th>Kommentar:</th>";
echo" <th>datum</th>";
 
echo" </tr>";
echo"<tr>";
echo"  <th>$row[0]</th>";
echo"  <th>$row[1]</th>";
echo"  <th>$row[2]</th>";
echo"  <th>$row[3]</th>";
 
echo"</center>";

Da fehlt ein schließendes "tr" sowie schließendes "table".
Davon abgesehen ist die Zeile wo die "row[n]" eingesetzt
werden sicher kein "th" (table heading) mehr sondern ein "td" (zelle).

Weiterhin machst du nach der unmenge "br" ein "h2" zu welches für mich nicht ersichtlich ist wo es geöffnet wird. Auch das schließende "h3" gehört hoch, ans ende der Zeile wo es auch geöffnet wird.

Und es geht noch weiter ...


  • kein html tag
  • kein body tag
  • kein doctype
Würde falls das wirklich deine einzige php Datei ist diese mal etwas aufräumen. Gut möglich das dein php code an sich stimmt, aber die ganzen Fehler im html code die Darstellung zerhauen.
 

jackprince

xHTML & CSS Junkie

AW: frage zu mein"gästebuch"

Du hast dich bei Eintagen verschrieben, müsste eintragen heißen. Kannst ja auch noch ändern.


  • Eigenes Kommentar = Eigenen Kommentar
  • datum = Datum
  • korekt = korrekt
  • Fehler beim Speichern eintragen = Fehler beim Eintrag speichern / Fehler beim speichern des Eintrags
Aber an sich sollte ich da auch nicht schießen. Halb selber stark legasthenische Tendenzen.
 

zuck

Noch nicht viel geschrieben

AW: frage zu mein"gästebuch"

Dein HTML kosntrukt sieht auf den ersten blick aber auch schon nicht passend aus

HTML:
echo"<center>";
echo"<table border='1'>";
echo"<tr>";
echo" <th>Kommentar ID</th>";
 echo"<th>Von:</th>";
echo" <th>Kommentar:</th>";
echo" <th>datum</th>";
 
echo" </tr>";
echo"<tr>";
echo"  <th>$row[0]</th>";
echo"  <th>$row[1]</th>";
echo"  <th>$row[2]</th>";
echo"  <th>$row[3]</th>";
 
echo"</center>";
Da fehlt ein schließendes "tr" sowie schließendes "table".
Davon abgesehen ist die Zeile wo die "row[n]" eingesetzt
werden sicher kein "th" (table heading) mehr sondern ein "td" (zelle).

Weiterhin machst du nach der unmenge "br" ein "h2" zu welches für mich nicht ersichtlich ist wo es geöffnet wird. Auch das schließende "h3" gehört hoch, ans ende der Zeile wo es auch geöffnet wird.

Und es geht noch weiter ...


  • kein html tag
  • kein body tag
  • kein doctype
Würde falls das wirklich deine einzige php Datei ist diese mal etwas aufräumen. Gut möglich das dein php code an sich stimmt, aber die ganzen Fehler im html code die Darstellung zerhauen.


Also das mit tr habe ich vergessen^^
die tabelle habe ich mit dw cs5 gemacht
die tags mache ich nie o_O und es ist alles normal...
 

jackprince

xHTML & CSS Junkie

AW: frage zu mein"gästebuch"

die tags mache ich nie o_O und es ist alles normal...

Kurz und knapp ... nein

Die aufgeführten Angaben gehören in eine HTML Dateien einfach rein.
Das ist wichtig für CSS, für Skripte etc.

Fehlen Doctype und bestimmte Standard tags so verfällt der Browser in
den quirks mode. Auch können z.B. bei mark up Problemen + php schleifen Dinge passieren die man nicht gleich sieht.

Je Nach Browser und/oder Anzahl der Schleifendurchläufe, werden z.b. mehrfach tags geschlossen oder aufgemacht etc. und der Browser versucht das seine um alles richtig darzustellen kann aber eben auch net zaubern.

Wie gesagt erstmal das aufräumen was du da hast, dann nochmal posten und eventl. auch mal den Quellcode on der erzeugten ausgabe posten.
(rechtsklick quelltext anzeigen)
 

saila

Moderatorle

AW: frage zu mein"gästebuch"

Hi,

@jackprince, ob HTML nun in ein Template gehört oder nicht, ist jedem selbst überlassen. Es ist um den Überblick zu behalten empfehlenswert. Und ob das wichtig ist für CSS sei dahingestellt. Da letztlich das Serverseitige Script die kompletten Daten an den Browser übergibt und somit CSS Clientseitig (je nach Browser) geregelt wird. Ergo ist der Zusammenbau serverseitig wurscht. Er sollte lediglich passen (html-baum). Letzters hast du angesprochen.

@Zuck,
hast du den Hinweis bzgl. falscher Feldname gelesen und die Unterschiede aus der DB-Ausgabe mir print_r verglichen?
 

jackprince

xHTML & CSS Junkie

AW: frage zu mein"gästebuch"

Hi,

@jackprince, ob HTML nun in ein Template gehört oder nicht, ist jedem selbst überlassen. Es ist um den Überblick zu behalten empfehlenswert. Und ob das wichtig ist für CSS sei dahingestellt. Da letztlich das Serverseitige Script die kompletten Daten an den Browser übergibt und somit CSS Clientseitig (je nach Browser) geregelt wird. Ergo ist der Zusammenbau serverseitig wurscht. Er sollte lediglich passen (html-baum). Letzters hast du angesprochen.

@Zuck,
hast du den Hinweis bzgl. falscher Feldname gelesen und die Unterschiede aus der DB-Ausgabe mir print_r verglichen?

da bringst du aber etwas von meiner aussage durcheinander.

Ich sagte nichts über templates. Sondern lediglich das html, body und ander tags in eine html datei gehören. Zusammen eben mit dem doctype.
Zumindest für mich sieht es so aus als ob obiger code eben auch gleich die ausgabe generiert und nicht an eine andere datei übergibt. Ergo eine html ausgabe generiert.

Und es ist wichtig für CSS weil ohne passenden doctype und valides html
css teils anders von den browsern gerendert wird. Da bei nicht validem html / falschen doctype der browser wie gesagt in den quirks modus geht und anders rendert.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben