Daten in Textfeld einlesen

Hallo Dr,

register_globals = off

und die id habe ich jetzt definiert, so das ich keine NOTICE erhalte ...

Keine Fehlermeldung, Warnung, Notice. Einfach nichts ...

Daten löschen oder auslesen ist kein Problem. Das Problem ist nur das bearbeiten ...
 
Zuletzt bearbeitet:
OK, bei register_globals=OFF funktioniert $PHP_SELF schonmal nicht, Du müsstest also $_SERVER['PHP_SELF'] nehmen.
Allerdings frage ich mich gerade was das für einen Link ergeben soll?!
Der würde so ja z.b. dateiname.php/bearbeiten.php?bearbeiten=ZAHL lauten.
Ich denke dass es so nicht sein soll.
Versuche es mal mit (der Link wird doch per echo() ausgegeben?):
PHP:
echo "<a href='bearbeiten.php?bearbeiten=".$id."'>Rechnung bearbeiten</a>";
Wobei $id natürlich von irgendwo her kommen muss.
 
Zuletzt bearbeitet:
Hallo Dr,

omannomannomann, wäre ich heute am besten im Bett geblieben. :confused:

Nach langem ausprobieren, habe ich doch noch eine Fehlermeldung erhalten und die besagte mir, das ich die mysql_query 2x aufgerufen hatte ...

Das kommt halt davon, wenn man ein paar hundert Zeilen Code auf dem Buckel hat. :rolleyes:

Sorry für die Umstände.

Grüsse
 
Nochmals Hallo,

ich bin jetzt soweit, das die Daten in die jeweiligen Textfelder eingelesen werden. Nachdem die Daten eingelesen wurde, möchte ich diese Updaten und das nicht:

PHP:
// Rechnungen einlesen
$sql = mysql_query("SELECT * FROM Rechnungen WHERE ID= ".$_GET['bearbeiten']) or die (mysql_error());
if(!$sql) {
	echo "<table><tr><td><span class='fehler'>Fehler bei der Auslesung der Abfrage!</span><br /><br /></td>\n</tr>";
	exit();
}

while($row = mysql_fetch_row($sql)) {

Code:
<table>
<tr>
<td><input type="text" name="name" id="name" size="30" maxlength="50" value="<?php echo $row[2]; ?>"></td>
</tr>
usw.
</table>

PHP:
}

if(isset($_POST['submit']) == "Update") {
$anrede = $_POST['anrede'];
$name = $_POST['name'];
$vorname = $_POST['vorname'];
$strassenr = $_POST['strassenr'];
$plz = $_POST['plz'];
$ort = $_POST['ort'];
$telefon = $_POST['telefon'];
$email = $_POST['email'];
$datum = $_POST['datum'];

// Rechnungen ändern
$sql = ('
	UPDATE
		`Rechnungen`
	SET
		`anrede` = "'.$anrede.'",
		`name` = "'.$name.'",
		`vorname` = "'.$vorname.'",
		`strassenr` = "'.$strassenr.'",
		`plz` = "'.$plz.'",
		`ort` = "'.$ort.'",
		`telefon` = "'.$telefon.'",
		`email` = "'.$email.'",
		`datum` = "'.$datum.'"
	WHERE
		`ID` = "'.intval($id).'"
');
		
	if(mysql_query($sql)) {
		echo "<center><table><tr><td><span class='ok'>Die Rechnung wurde gespeichert!</span></td></tr></table></center>";
	} else {
		echo "<center><table><tr><td><span class='fehler'>Fehler beim Hinzufügen der Daten!</span></td></tr></table></center>";
	}
}

Danach erhalte ich folgende Fehlermeldung:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Schön, aber wo liegt der Fehler genau?

Grüsse
 
Zuletzt bearbeitet:
Und so?
PHP:
$sql = (" 
    UPDATE 
        `Rechnungen` 
    SET 
        `anrede` = "'.$anrede.'", 
        `name` = "'.$name.'", 
        `vorname` = "'.$vorname.'", 
        `strassenr` = "'.intval($strassenr).'", 
        `plz` = "'.$plz.'", 
        `ort` = "'.$ort.'", 
        `telefon` = "'.$telefon.'", 
        `email` = "'.$email.'", 
        `datum` = "'.$datum.'" 
    WHERE 
        `ID` = "'.intval($id).'" 
");
 
Nein. Deine Version funktioniert auch nicht und ausserdem erhalte ich eine Fehlermeldung:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/textilie/public_html/webdeluxe/bearbeiten.php on line 127

Wenn schon so, aber das funktioniert auch nicht:

PHP:
$sql = (" 
    UPDATE 
        `Rechnungen` 
    SET 
        `anrede` = ".$anrede.", 
        `name` = ".$name.", 
        `vorname` = ".$vorname.", 
        `strassenr` = ".$strassenr.", 
        `plz` = ".$plz.", 
        `ort` = ".$ort.", 
        `telefon` = ".$telefon.", 
        `email` = ".$email.", 
        `datum` = ".$datum." 
    WHERE 
        `ID` = ".intval($id)." 
");

Aber auch danach erhalte ich die MySQL-Fehlermeldung:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
 
Probier mal Folgendes:
PHP:
if( isset($_POST['submit']) && $_POST['submit'] == 'Update' ) {
	$query = '
		UPDATE
		        `Rechnungen`
		  SET
		        `anrede`    = "'.mysql_real_escape_string($_POST['anrede']).'",
		        `name`      = "'.mysql_real_escape_string($_POST['name']).'",
		        `vorname`   = "'.mysql_real_escape_string($_POST['vorname']).'",
		        `strassenr` = "'.mysql_real_escape_string($_POST['strassenr']).'",
		        `plz`       = "'.mysql_real_escape_string($_POST['plz']).'",
		        `ort`       = "'.mysql_real_escape_string($_POST['ort']).'",
		        `telefon`   = "'.mysql_real_escape_string($_POST['telefon']).'",
		        `email`     = "'.mysql_real_escape_string($_POST['email']).'",
		        `datum`     = "'.mysql_real_escape_string($_POST['datum']).'"
		  WHERE
		        `ID` = "'.intval($_POST['id']).'"
		';
	if( mysql_query($query) ) {
		echo '<p class="ok">Die Rechnung wurde gespeichert!</p>';
	} else {
		echo '<p class="fehler">Fehler beim Aktualisieren der Daten!</p>';
	}
}
 
Hallo Markus,

ich habe es gerade ausprobiert, aber ich erhalte danach wieder die gleiche Fehlermeldung. Mit dieser Fehlermeldung kann ich leider nichts anfangen.

Kann es vielleicht das sein: Zuerst werden die Daten eingelesen und danach wieder zum ändern gepostet und dabei entsteht vielleicht ein Konflikt. Nur so eine Idee.

Grüsse
 
Zuletzt bearbeitet:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
 
Zurück