Notice: Undefined index: senden

Hier ist jetzt mein code

PHP:
<?php
//error_reporting(E_ALL);
mysql_connect("localhost", "root", "root") or die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db("wzverwaltung");
if ( isset( $_POST['senden'] ) )
    { 
    $update = "UPDATE werkzeuge_nt SET offset1 = '{$_POST['offset1']}',  offset2 = '{$_POST['offset2']}', name = '{$_POST['name']}', durchmesser = '{$_POST['durchmesser']}', grad = '{$_POST['grad']}', radius = '{$_POST['radius']}', bemerkung = '{$_POST['bemerkung']}',sonstiges = '{$_POST['sonstiges']}' WHERE id = '{$_POST['id']}'";  
    echo $update."<br>";
    $updaten = mysql_query($update) or die(mysql_error()); 
 
if (!$updaten) 
echo "Fehler aufgetreten!"; 
else 
      { 
        echo "Eintrag erfolgreich"; 
    } 
 
} 
 
$result = mysql_query("SELECT id, offset1, offset2, name, durchmesser, grad, radius, bemerkung, sonstiges FROM werkzeuge_nt ORDER BY id ASC");
?>
<table align="center" border="1" cellpadding="0" cellspacing="0">
<tr>
    <td align="center" style="padding:10px"><strong>WerkzeugID</strong></td>
    <td align="center" style="padding:10px"><strong>Offset1</strong></td>
    <td align="center" style="padding:10px"><strong>Offset2</strong></td>
    <td align="center" style="padding:10px"><strong>Name</strong></td>
    <td align="center" style="padding:10px"><strong>Durchmesser</strong></td>
    <td align="center" style="padding:10px"><strong>Grad</strong></td>
    <td align="center" style="padding:10px"><strong>Radius</strong></td>
    <td align="center" style="padding:10px"><strong>Bemerkung</strong></td>
    <td align="center" style="padding:10px"><strong>Sonstiges</strong></td>
    <td>Update</td>
    </tr>
<?php
while ($row = mysql_fetch_array($result))
 
{
    // printf ("ID: %s  Name: %s", $row[0], $row["videoid"]);
    //$videoid = $row["videoid"];
    //$artnr = $row["artnr"];
    $id = $row["id"];
    //echo "ID:&nbsp;<strong>".$id."</strong>&nbsp;Artikelnummer:&nbsp;<strong>".$artnr."</strong>&nbsp;Youtubevideo:&nbsp;<strong>".$videoid."</strong><br>";
    echo "<form name='offset1' method='post' action='check.php'>"; 
    ?>
    <tr>
    <td align="center" style="padding:10px">
    <?php echo "<input type='hidden' name='id' value='$row[id]'>"; ?>
    <?php echo $row["id"];?></td>
    <td align="center" style="padding:10px">
    <?php echo "<input type='text' name='offset1' value='$row[offset1]'>"; ?>
    <td align="center" style="padding:10px">
    <?php echo "<input type='text' name='offset2' value='$row[offset2]'>"; ?>
    <td align="center" style="padding:10px">
    <?php echo "<input type='text' name='name' value='$row[name]'>"; ?>
    <td align="center" style="padding:10px">
    <?php echo "<input type='text' name='durchmesser' value='$row[durchmesser]'>"; ?>
    <td align="center" style="padding:10px">
    <?php echo "<input type='text' name='grad' value='$row[grad]'>"; ?>
    <td align="center" style="padding:10px">
    <?php echo "<input type='text' name='radius' value='$row[radius]'>"; ?>
    <td align="center" style="padding:10px">
    <?php echo "<input type='text' name='bemerkung' value='$row[bemerkung]'>"; ?>
    <td align="center" style="padding:10px">
    <?php echo "<input type='text' name='sonstiges' value='$row[sonstiges]'>"; ?>
    <td><?php echo "<input type='submit' name='submit' value='Ändern'>"; ?></td>
    </tr>
    <?php echo "</form>";
} 
?>

die änderungen werden nicht übernommen, jedoch keine fehleranzeige.
 
Das hab ich doch schon gesagt...

Also über $_POST['WERT'] greift man auf den Namen einen Input-Feldes innerhalb eines Formulars zu.

So ist es bei dir:
HTML:
<input type="submit" name="submit" value="aendern">

Also musst du auch so mit PHP drauf zugreifen:

PHP:
$valueSubmit = $_POST['submit']

Da jetzt aber nicht sichergestellt ist ob das Formular schon abgeschickt wurde ist die isset()-Überprüfung, also schauen wir ob der Button gedrückt wurde:

PHP:
if (isset($_POST['submit']))
{
   // dein Code wenn das Formular geschickt wurde
}
 
es tut mir leid, ich hab das was ich verstande habe probiert, bin aber nicht weiter gekommen.
bin noch nicht so weit in der materie.
vielleicht könnte jemand meinen script überarbeiten?
 
Ok, im Prizip ist das hier das wichtige:

PHP:
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['submit']) && $_POST['submit'] == 'aendern') 
{  
    $update = "UPDATE werkzeuge_nt 
				  SET offset1 = '{$_POST['offset1']}',  
				  	  offset2 = '{$_POST['offset2']}', 
					  name = '{$_POST['name']}', 
					  durchmesser = '{$_POST['durchmesser']}', 
					  grad = '{$_POST['grad']}', 
					  radius = '{$_POST['radius']}', 
					  bemerkung = '{$_POST['bemerkung']}',
					  sonstiges = '{$_POST['sonstiges']}'
				  WHERE id = '{$_POST['id']}'";
				    
    echo $update."<br>"; 
	
    $updaten = mysql_query($update) or die(mysql_error());  
  
	if (!$updaten)  
	{
		echo "Fehler aufgetreten!";  
	}
	else  
	{  
		echo "Eintrag erfolgreich";  
	}  
}

zusätzlich dann noch die Zeile so aendern:

PHP:
<td><?php echo "<input type='submit' name='submit' value='Ändern'>"; ?></td>

EDIT:
Grundsätzlich müsstest du die Daten vor dem Eintragen noch escapen (mysql_real_escape_string()), zudem empfiehlt sich neuerdings mysqli und ein wenig mehr Ordung in dem Code wäre auch nicht schlecht. Außerdem solltest du vllt noch mal genau schauen wie man mit PHP auf Formulardaten zugreift und was genau da passiert.
 
Zuletzt bearbeitet:
Du lässt Dir ja schon mit
PHP:
echo $update
die Abfrage anzeigen. Teste die Ausgabe doch mal mit phpMyAdmin, da solltest Du eine Fehlermeldung bekommen.
 
Zurück