Undefinierter Index fehler beim UPDATE

latinum_1982

Erfahrenes Mitglied
Hallo ich häng mal wieder aber ich seh kein fehler
PHP:
//-----AUSLESEN------/
$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
$db_sel = mysql_select_db( MYSQL_DATENBANK );
$sql = "SELECT * FROM benutzerdaten WHERE Kundennummer = '$_SESSION[user_kundennummer]'";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
  die('Ungültige Abfrage: ' . mysql_error());
}

while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
//-----DATEN UPDATEN-----//
if (isset( $_POST['eintragen']))
{
		// Maskierende Slashes_ aus POST entfernen
		$_POST = get_magic_quotes_gpc() ? array_map ('stringslahes', $_POST) : $_POST;

			//Inhalte der Felder aus POST holen
			$Kontakt = $_POST['Kontakt'];
			$adresse = $_POST['adresse'];
			$nummer = $_POST['nummer'];
			$plz = $_POST['plz'];
			$ort = $_POST['ort'];
			$tel = $_POST['tel'];
			$fax = $_POST['fax'];

}
// ZEILE 36
	mysql_query("UPDATE `benutzerdaten`
			SET
/*----->zeile 39*/  	`Kontakt` = '". $_POST["Kontakt"]."';
				`adresse` = '". $_POST["adresse"]."';
				`nummer` = '". $_POST["nummer"]."';
				`plz` = '". $_POST["plz"]."';
				`ort` = '". $_POST["ort"]."';
				`tel` = '". $_POST["tel"]."';
				`fax` = '". $_POST["fax"]."';
				NOW()
			
			WHERE Kundennummer = '$_SESSION[user_kundennummer]'");

das ist meine fehler
Notice: Undefined index: Kontakt inxxxxxxxxxx on line 39 bis 45

:(
 
Ich hab mit mysql_query's selber meine Probleme aber müsste es nicht so lauten:

PHP:
mysql_query("UPDATE benutzerdaten
            SET
      Kontakt = '". $_POST['Kontakt']."',
                adresse = '". $_POST['adresse']."',
                nummer = '". $_POST['nummer']."',
                plz = '". $_POST['plz']."',
                ort = '". $_POST['ort']."',
                tel = '". $_POST['tel']."',
                fax = '". $_POST['fax']."',
                NOW()
               WHERE Kundennummer = '$_SESSION[user_kundennummer]'");
 
Zuletzt bearbeitet:
prüfe mal mit var_dump($_POST); ob all die keys auch gesetzt sind

Zudem ist der ganze mysql_query() ausserhalb des if(isset(..)) und wird auch dann ausgeführt, wenn $_POST['eintragen'] nicht gesetzt ist.
 
so jetzt hab ich folgendes gemacht

PHP:
<?php
//-----AUSLESEN------/
$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
$db_sel = mysql_select_db( MYSQL_DATENBANK );
$sql = "SELECT * FROM benutzerdaten WHERE Kundennummer = '$_SESSION[user_kundennummer]'";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
  die('Ungültige Abfrage: ' . mysql_error());
}

while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
//-----DATEN UPDATEN-----//
if(isset($_POST['update']))
{
		// Maskierende Slashes_ aus POST entfernen
		$_POST = get_magic_quotes_gpc() ? array_map ('stringslahes', $_POST) : $_POST;

			//Inhalte der Felder aus POST holen
			$Kontakt = $_POST['Kontakt'];
			$adresse = $_POST['adresse'];
			$nummer = $_POST['nummer'];
			$plz = $_POST['plz'];
			$ort = $_POST['ort'];
			$tel = $_POST['tel'];
			$fax = $_POST['fax'];

mysql_query("UPDATE 'benutzerdaten'
            SET
      		Kontakt = '". $_POST["Kontakt"]."',
                	adresse = '". $_POST["adresse"]."',
                	nummer = '". $_POST["nummer"]."',
                	plz = '". $_POST["plz"]."',
                	ort = '". $_POST["ort"]."',
                	tel = '". $_POST["tel"]."',
                	fax = '". $_POST["fax"]."',
                	NOW()
               WHERE Kundennummer = '$_SESSION[user_kundennummer]'"); 
}
?>

und das
var_dump($_POST); git mir das aus : array(0) { }
 
Sollte das hier

PHP:
        $_POST = get_magic_quotes_gpc() ? array_map ('stringslahes', $_POST) : $_POST

so lauten
PHP:
        $_POST = get_magic_quotes_gpc() ? array_map ('stringslashes', $_POST) : $_POST

und
PHP:
mysql_query("UPDATE 'benutzerdaten'
            SET
              Kontakt = '". $_POST["Kontakt"]."',
                    adresse = '". $_POST["adresse"]."',
                    nummer = '". $_POST["nummer"]."',
                    plz = '". $_POST["plz"]."',
                    ort = '". $_POST["ort"]."',
                    tel = '". $_POST["tel"]."',
                    fax = '". $_POST["fax"]."',
                    NOW()
               WHERE Kundennummer = '$_SESSION[user_kundennummer]'");
so

PHP:
mysql_query("UPDATE 'benutzerdaten'
            SET
              Kontakt = '". $_POST["Kontakt"]."',
                    adresse = '". $_POST["adresse"]."',
                    nummer = '". $_POST["nummer"]."',
                    plz = '". $_POST["plz"]."',
                    ort = '". $_POST["ort"]."',
                    tel = '". $_POST["tel"]."',
                    fax = '". $_POST["fax"]."',
                    NOW()
               WHERE Kundennummer = '".$_SESSION['user_kundennummer']."'");
 
Zuletzt bearbeitet:
Achja, beim Select query hast auch noch typos drinnen:

PHP:
$sql = "SELECT * FROM benutzerdaten WHERE Kundennummer = '$_SESSION[user_kundennummer]'";

sollte eher so aussehen:

PHP:
$sql = "SELECT * FROM benutzerdaten WHERE Kundennummer = '".$_SESSION['user_kundennummer']."'";

//Edit

Hab noch was gefunden:

Du hast im Update Query die Globalen Variablen mit ["ölskdf"] geschrieben, anstelle von ['123123'].
 
Zuletzt bearbeitet:
Irgendwie hab ich das Gefühl, du verstehst deinen Code selber nicht.
Erst machst du aus $_POST variablen einfache Variablen und dann nutzt du diese nichtmal im Query und
der Query ist außerhalb deiner IF-Abfrage.
 
Zurück