Notice: Undefined index: senden

tdssoulhunter

Grünschnabel
Hallo!

ich bin PHP neuling!
Habe google schon sehr strapaziert, jedoch find ich nichts brauchbares zu meinem problem!

ich bekomm die fehlermeldung:

Notice: Undefined index: senden in C:\xampp\htdocs\update.php on line 13

hier:
PHP:
    if ($_POST['senden'])

Hier ist mein code(basis stammt hier aus dem forum):

PHP:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>

<body>
<?php
//error_reporting(E_ALL);
mysql_connect("localhost", "root", "root") or die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db("wzverwaltung");
    if ($_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 DESC");
?>
<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>";
} 
?>
</table>
</body>
</html>

vielen dank im vorraus für die hilfe!
 
Erstens. Es ist 'nur' eine Notiz.

Der Grund: Du fragst nach $_POST['senden']. Wenn aber nicht gesendet wurde, dann gibt es 'senden' in $_POST nicht.

Lösung: Prüfe mit isset($_POST['senden']) ob senden existiert
 
neuer Fehler:

Parse error: syntax error, unexpected T_ISSET, expecting '(' in C:\xampp\htdocs\wzverwaltung\update.php on line 13

so hab ich es reingeschrieben:
PHP:
    if isset($_POST['senden'])

falsch?

bin erst seit 2wochen ein wenig in der materie.
 
Hi,

zusätzlich vllt noch:
Wenn du ein Formular an das gleiche Script schickst würde ich den PHP - Code welcher nur von einem bereits ausgefülltem Formular ausgeführt werden soll noch umschließen:

PHP:
if ($_SEVER['REQUEST_METHOD'] == 'POST') {
    // Formular wurde geschickt
}

und vllt sogar noch mit überprüfen ob der richtige Submit-Button, somit das richtige Formular ausgefüllt wurde:

PHP:
if ($_SEVER['REQUEST_METHOD'] == 'POST' && isset($_POST['submit']) && $_POST ['submit'] == 'aendern']
{
   // METHODE == POST
   // sumit-Button gedrückt
   // sumit Button == 'aendern'
}

EDIT:
Das nur als Zusatz!
die entsprechenden isset() sollten trotzdem nicht fehlen!
 
Zuletzt bearbeitet:
Hi,
so wie ich das richtig sehe dann an der Stelle:

PHP:
if ($_POST['senden'])

Hier willst du ja überprüfen ob das Formular gesendet wurde!

EDIT:

Zusätzlich aber noch diese Stelle anpassen:
PHP:
<td><?php echo "<input type='submit' name='submit' value='Ändern'>"; ?></td>

zu:
PHP:
<td><?php echo "<input type='submit' name='submit' value='aendern'>"; ?></td>
 
Zurück