• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit Datenweitergabe

EndOfGreen

Neues Mitglied
Es geht darum, dass ich eine ganz einfache F1-Tabelle programmieren will. Die Abfrage und Eingabe der Daten funktioniert auch, nur werden die Daten nicht zwischen 2 Seiten weitergegeben. Leider weiß ich auch nicht woran das liegen könnte.

Seite 1:
PHP:
<?php 
$sql = mysql_query("SELECT `Fahrer`                       FROM `Fahrer_Ergebnisse`                              WHERE ID = 1");     while ($data = mysql_fetch_assoc($sql))             {echo "<form name='Fahrer_Ergebnisse' action='Speichern.php' method='post'>";echo "<select NAME='Strecke'>";    echo "<option value='AUS'>Australien</option>";    echo "<option value='MAL'>Malaysia</option>";    echo "<option value='CHN'>China</option>";    echo "<option value='TUR'>T&uuml;rkei</option>";    echo "<option value='ESP'>Spanien</option>";    echo "<option value='MON'>Monaco</option>";    echo "<option value='CAN'>Kanada</option>";    echo "<option value='EUR'>Europa</option>";    echo "<option value='GBR'>Großbritannien</option>";    echo "<option value='GER'>Deutschland</option>";    echo "<option value='HUN'>Ungarn</option>";    echo "<option value='BEL'>Belgien</option>";    echo "<option value='ITA'>Italien</option>";    echo "<option value='SIN'>Singapur</option>";    echo "<option value='JPN'>Japan</option>";    echo "<option value='KOR'>S&uuml;dkorea</option>";    echo "<option value='IND'>Indien</option>";    echo "<option value='ABD'>Abu Dhabi</option>";    echo "<option value='BRA'>Brasilien</option>";echo "</select>";
echo "<br /><br /><br />";  echo "<p>Fahrer: &nbsp;&nbsp;<input name='Fahrer' type='text' size='30' maxlength='30' value='".$data["Fahrer"]."' /></p>";  echo "<p>Ergebnis: &nbsp;&nbsp;<input name='Ergebnis' type='text' size='2' maxlength='2' /></p>"; 
} 
$sql = mysql_query("SELECT `Fahrer`                       FROM `Fahrer_Ergebnisse`                             WHERE ID = 2");     while ($data = mysql_fetch_assoc($sql))             {echo "<br />";  echo "<p>Fahrer: &nbsp;&nbsp;<input name='Fahrer' type='text' size='30' maxlength='30' value='".$data["Fahrer"]."' /></p>";  echo "<p>Ergebnis: &nbsp;&nbsp;<input name='Ergebnis' type='text' size='2' maxlength='2' /></p>";  echo "<input type='submit' name='eintragen' value='Absenden' />";echo "</form>";
} 
   ?>

Seite 2:
PHP:
<?php $Fahrer = $_POST["Fahrer"]; $Wertung = $_POST["Wertung"]; $Strecke = $_POST["Strecke"];  
 $eintrag = "UPDATE Fahrer_Ergebnisse SET $Strecke= '$Wertung' WHERE Fahrer = $Fahrer"; 
$eintragen = mysql_query($eintrag); 
?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>Speicherung</title><link rel="stylesheet" type="text/css" href="Style.css" /></head> <body> 
<?php echo $$eintrag;?></body> </html>
Auf der Seite wird nichts ausgegeben und in der DB verändert sich auch nichts.

PS: Sollte das der falsche Bereich sein, bitte in den richtigen verschieben. :)
 
Werbung:
Jetzt wird auf der 2. Seite schonmal was ausgegeben, was soweit auch stimmt. Nur ändert sich immer noch nichts in der DB. :(
 
Werbung:
stellst du auf der 2. Seite vor dem geposteten Code eine Verbindung zur Datenbank her?
Ansonsten lass dir mal im Browser den Quelltext anzeigen, und schau mal, ob vor dem Doctype i-ein Fehler ausgegeben wird
 
Lassen sich Variablen denn ohne Verkettung in eine Abfrage einbauen? Ich hätte das jetzt etwa so geschrieben.

PHP:
$eintrag = 'UPDATE Fahrer_Ergebnisse SET "'.$Strecke.'" = "'.$Wertung.'" WHERE Fahrer = "'.$Fahrer.'"';
 
Werbung:
stellst du auf der 2. Seite vor dem geposteten Code eine Verbindung zur Datenbank her?
Ansonsten lass dir mal im Browser den Quelltext anzeigen, und schau mal, ob vor dem Doctype i-ein Fehler ausgegeben wird

Ja, die Verbindung ist in Ordnung, daran kanns nicht liegen.
Fehler werden auch keine ausgegeben.

Der im Ausgangspost gezeigte Code ist anfällig für SQL Injections.

- Standardantwort zu SQL Injections - PHP Forum: phpforum.de

Mehr will ich dazu gerade nicht sagen, weil ich keine Lust habe, mir den Code lesbar zu formatieren.

Das mag zwar am Editor des Forums liegen, aber so wirkt's doch eher unbedacht dahingeklatscht.

Das ist sowieso im Moment alles auf einer Testseite, da ist das nicht so schlimm. Außerdem ist alles da passwortgeschützt. Das kommt dann am Ende noch.

Wie kann ich das ändern, damit es lesbar ist? Weil auf dem PC ist das alles gut formatiert.


Edit: Ich hab die Codezeile, die ausgegeben wird, mal so in der Datenbank direkt eingegeben. Da ändert sich der Wert, nur eben nicht, wenn das über die Eingabe auf der Seite läuft.
Aber bei der Verbindung dürfte es eigentlich keine Probleme geben, weil ich die nur von der ersten Seite kopiert hab und die da funktioniert.

Edit 2: Funktioniert jetzt.Ich hatte auf der 2. Seite
PHP:
mysql_select_db($dbname, $conn);
vergessen.
omg.gif


Jetzt hab ich aber noch eine Frage: So wie es aktuell ist, ändert sich nur der Wert vom 2. Fahrer und nicht der vom 1.
Wie macht man das, dass beide Eingaben geändert werden?
 
Zuletzt bearbeitet:
So wie es aktuell ist, ändert sich nur der Wert vom 2. Fahrer und nicht der vom 1.
Wie macht man das, dass beide Eingaben geändert werden?
Sollen beide den selben Wert haben? Wenn ja, die WHERE Klausel erweitern, ansonsten noch einen 2. Query verschicken.
 
Zurück
Oben