Nach Neuaufruf alles weg!

MegaOiml

Mitglied
Hi!
Ich habe ein Script, wo ein Formular die Daten mit id='1' überschreibt. So weit so gut, aber wenn ich die Seite aufrufe ist alles weg, was ich davor eingegeben hab! Woran kann das liegen
Hier mal zwei links zum anschaun: http://www.tem-clan.de/ne/index.php
das formular: http://www.tem-clan.de/ne/neu.php
Hier mal mein script:
PHP:
<?php
include ("db_connect.php");
$aendern  = "UPDATE next_fight set datum ='$datum' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern  = "UPDATE next_fight set zeit ='$zeit' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern  = "UPDATE next_fight set matchtyp ='$matchtyp' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern  = "UPDATE next_fight set locations ='$locations' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern  = "UPDATE next_fight set spieler ='$spieler' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern  = "UPDATE next_fight set gegner ='$gegner' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern  = "UPDATE next_fight set leader ='$leader' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern  = "UPDATE next_fight set icq ='$leader_icq' WHERE id= '1'";
$update = mysql_query($aendern);



$abfrage ="SELECT * FROM next_fight";
$ergebnis = mysql_query($abfrage);
echo "<table width=\"100%\" border=\"2\">\n";
while ($row = mysql_fetch_object($ergebnis))
{
echo "<tr align=\"left\"><td>Datum und Zeit</td></tr>\n";

echo "<tr align=\"left\"><td>Datum:</td>\n";
echo "<td>". $row->datum ."</td>\n";
echo "</tr>\n";
//tabelle geht in dem stil weiter...


}
echo "</table>\n";
?>
Danke für alle Antworten!
 
Formular-Script

Wenn das der Code der "http://www.tem-clan.de/ne/index.php" ist,
dann ist es ja klar, das die Werte alle "" (nichts) aussehen ...
DIe Variablen haben ja keine Werte.

Du müsstest die mysql-queries am Besten in die formular.php datei packen und dort dann in die db speichern und die index.php nur zur Ausgabe.

Wenn du das nicht verstanden hast, dann sags, ich schreibs dir dann richtig
...
 
Hi,
so wie es in deinem Beispiel steht, würde PHP bei jedem Neuaufruf der Seite, die Felder in der Datenbank auf "leer" setzen, da die Variablen nicht gefüllt sind.

Edit: Hm du warst schneller alexander :).
 
Erst einmal würde ich die MySQL-Ausdrücke zu einem zusammenfassen:
PHP:
<?php
  include("db_connect.php");
  $query = "
UPDATE
        `next_fight`
  SET
        `datum` = '".$datum."',
        `zeit` = '".$zeit."',
        `matchtyp` = '".$matchtyp."',
        `locations` = '".$locations."',
        `spieler` = '".$spieler."',
        `gegner` = '".$gegner."',
        `leader` = '".$leader."',
        `icq` = '".$leader_icq."'
  WHERE
        `id` = 1
";
  $update = mysql_query($query);

  $query = "
SELECT
        `id`,
        `datum`,
        `zeit`,
        `matchtype`,
        `locations`,
        `spieler`,
        `gegner`,
        `leader`,
        `icq`
  FROM
        `next_fight`
";
  $ergebnis = mysql_query($query);
  echo("<table width=\"100%\" border=\"2\">\n"); 
  while($row = mysql_fetch_object($ergebnis)) {
    echo("<tr align=\"left\"><td>Datum und Zeit</td></tr>\n");
    echo("<tr align=\"left\"><td>Datum:</td>\n");
    echo("<td>".$row->datum."</td>\n");
    echo("</tr>\n");
//tabelle geht in dem stil weiter...
  } 
  echo("</table>\n"); 
?>
 
Hier der COde

Hier der Code für das Formular:
<html>
<head><title>
Next Fight eintragen
</title>

</head>
<body>
<form action="index.php?action=fill-in" method="post">

Datum: <input type="text" name="datum" maxlength="100"><br>
Zeit: <input type="text" name="zeit" maxlength="100"><br>
Matchtyp: <input type="text" name="matchtyp" maxlength="100"><br>
Locations: <input type="text" name="locations" maxlength="100"><br>
Spieler: <input type="text" name="spieler" maxlength="100"><br>
Gegner: <input type="text" name="gegner" maxlength="100"><br>
Leader: <input type="text" name="leader" maxlength="100"><br>
Leader ICQ: <input type="text" name="leader_icq" maxlength="100"><br>
<input type="submit" value="Eintragen">
</form>
</body>
</html>

___________________________________________________________

Hier der Code für die index.php:

<?php
include ("db_connect.php");
if ($action == "fill-in") {
$aendern = "UPDATE next_fight set datum ='$datum' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern = "UPDATE next_fight set zeit ='$zeit' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern = "UPDATE next_fight set matchtyp ='$matchtyp' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern = "UPDATE next_fight set locations ='$locations' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern = "UPDATE next_fight set spieler ='$spieler' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern = "UPDATE next_fight set gegner ='$gegner' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern = "UPDATE next_fight set leader ='$leader' WHERE id= '1'";
$update = mysql_query($aendern);

$aendern = "UPDATE next_fight set icq ='$leader_icq' WHERE id= '1'";
$update = mysql_query($aendern);

}
else {

$abfrage ="SELECT * FROM next_fight";
$ergebnis = mysql_query($abfrage);
echo "<table width=\"100%\" border=\"2\">\n";
while ($row = mysql_fetch_object($ergebnis))
{
echo "<tr align=\"left\"><td>Datum und Zeit</td></tr>\n";

echo "<tr align=\"left\"><td>Datum:</td>\n";
echo "<td>". $row->datum ."</td>\n";
echo "</tr>\n";
//tabelle geht in dem stil weiter...


}
echo "</table>\n";
}

Hab nu nich Gumbos Tipp berücksichtigt, obwohl er Recht hat ...
Soll halt nur des Prinzip verdeutlichen
 
Nur mal so als "Tipp". Du führst deine MySQL Queries immer aus, egal ob man den submit Button gedrückt hat oder nicht. Ist das wirklich Sinn der Aktion? Ich frage, weil ich den Thread bis hierher nur überflogen habe.
 
Juhu, es funktioniert! Einziger Schönheitsfehler: Wenn ich auf eintragen drücke, werde ich ja auf index.php?action=fill-in weitergeleitet, obwohl die Sachen jezt in index.php stehn. Wie kriege ich das jetzt noch hin?
@tim: fürs erste is mir des genug, muss mich noch gescheit einarbeiten in PHP, dann lös´ich das auch!
Thx für die vielen Antworten
++edit++ Nicht vor dem Design erschrecken, ich fahr übers Wochenende weg, deswegen kann ich nicht weitermachen:)
 
Zuletzt bearbeitet:
Ja und ?

Ich versteh dein Problem nicht ... in diesem Fall könntest du die geschweiften Klammern als einzelnen Bereich der Datei ansehen, aber funzen müsste es doch so ... oder etwa nicht ?

C YA
 
Zurück