• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

eintrag doppelt gespeichert...

Poehli

New member
Hi ich hab ein kleines Problem:

PHP:
<?php

session_start();

if ($_SESSION['Username'])
{

echo "Willkommen, ".$_SESSION['Username']."!";
}

else
die ("<a href='/Login/index.php'>loggin</a> um einen Beitrag hinzuzufügen");
?>
<html>
<body style="overflow:hidden;">
<?php 
$username = $_SESSION['username'];

echo"
<form action=\"gaestebuch3.php\" Method=\"post\">
Inhalt:<br>

<textarea name=\"inhalt\" cols=\"33\" rows=\"4\"
wrap=\"physical\" align=\"center\"></textarea><br>
<input type=\"submit\" value=\"Absenden\"></form>";

 
?>
<?php
$user = $_SESSION["Username"];
$date = date("Y-m-d");

$inhalt = $_POST["inhalt"];

$connect = mysql_connect("****","****","*****") or die ("Internen Server Fehler... Wir bitten das zu entschuldigen");
mysql_select_db("langstedt") or die("Es konnte nicht auf die Datenbank zugegriffen werden...");

mysql_query("INSERT INTO `guestebuch` VALUES ('','$inhalt','$user','$date')");

?>
<hr>
</body>
</html>

PHP:
<?php
echo"
<html>
<IFRAME
            NAME='guestbookframe'
            SRC='/Login/gaestebuch3.php'
            WIDTH='900' HEIGHT='200'
            frameborder=0
            border=0
            >
    	  </IFRAME>
</html>";
$user = $_SESSION["Username"];

$connect = mysql_connect("****","****","****") or die ("Internen Server Fehler... Wir bitten das zu entschuldigen");
mysql_select_db("langstedt") or die("Es konnte nicht auf die Datenbank zugegriffen werden...");

$inhalt = mysql_query("SELECT * FROM `guestebuch`");

while ($rows=mysql_fetch_array($inhalt)) {



   echo"
    $rows[user]<br> 
	$rows[date]<br>
	$rows[inhalt]<br>
  ";
}?>


Wenn ich das ausführe, wird das doppelt in meiner MySQL tabelle gespeichert... oder eher gesagt einmal normal und einmal nur der benutzer, datum und id... was muss ich ändern damit es richtig ist?
 
Ohh... Danke...

Hab jetzt einfach gesagt:

$submit = $_POST["submit"];
if ($submit)
{
...

};

Jetzt hab ich aber nochmal ne frage:
Wie kann ich das machen, dass wenn ich auf den Senden Button drücke meine page neulade??
 
PHP:
$submit = $_POST["submit"];
if ($submit)

macht nicht so viel Sinn. Besser so:

PHP:
if(isset($_POST['submit'])){
...
}

Deine Seite wird neugeladen, sobald du auf den Absende-Button drückst. Du hast ja als Ziel vom Form die Seite angegeben. Allerdings hast du kein Feld mit dem Namen submit.
 
OK, danke...

Aber das ist nicht genau was ich meinte:

Ich will die gesammte page neu laden und nicht nur den IFRAME...
erst dann wird nämlich mein Beitrag angezeigt...

EDIT:

ZeitGeist schrieb:
Allerdings hast du kein Feld mit dem Namen submit.
Ja das hatte ich schon geändert...
 
Warum überhaupt nen Iframe

ganz einfach:
Dann kann ich sagen, dass man sich vorher anmelden muss um einen Beitrag hinzuzufügen...
Wenn du eine bessere Idee hast, sag sie mir... Das war das einzige was mir dazu einfiel und auch gut auf der Seite aussieht...

Wenn du keine hilfe dazu hast, bitte ich dich nochmal darüber nachzudenken, wie ich eine komplette seite von meinem IFrame neuladen kann - Danke!!
 
Ich versteh' gerade nicht, wie dir ein iFrame dabei hilft, wenn man sich anmelden muss, bevor man postet.
Du hast ja anscheinend irgendein Loginsystem - und wenn der Besucher nun nich angemeldet ist stellst du die Eingabemaske einfach nicht dar. Deine Darstellung ist doch schon vom Anmeldestatus abhängig.
 
Ok, versuch ich das nochmal zu erklären:

Ich lade das absenden Skript in einen IFrame und mach dann die anweisung:

if ($_SESSION['was auch immer'])

-->also wenn das wahr ist,
<form....

.../form>

--> dann die Form ausführen
else
(
die("du musst angemeldet sein um einen Beitrag hinzuzufügen.")
)

--> also wenn du nicht als Benutzer angemeldet bist, bekommst du nur die die Fehlermeldung : Du musst angemeldet sein um einen Beitrag hinzuzufügen.

Doch es werden immer noch die Beiträge selbst angezeigt, das die ja nich tod sind...

Wenn ich das selbe also in das login selbst geschrieben hätte, würde er nichts ausführen und nur die Fehlermeldung sehen... und genau deshalb hab ich Iframes...

--> jetzt verstanden??
 
Wenn du anstatt mit einem die mit einem normalen echo arbeiten würdest, könntest du es in das "login" selbst reinschreiben ohne dieses Problem.
 
Wenn du anstatt mit einem die mit einem normalen echo arbeiten würdest, könntest du es in das "login" selbst reinschreiben ohne dieses Problem.

Aber dann würd ich doch die gesammte seite killen oder?
Ich werd das mal ausprobieren!!

EDIT: Danke, hat jetzt alles geklappt!! Das sieht auch viel besser aus!! War ne gute Idee von dir!!
 
Zuletzt bearbeitet:
Zurück
Oben