Fehlermeldung bei Kontaktänderung
Verfasst: Mi 14. Mär 2007, 19:00
Hallo,
ich habe versucht, das Script ein wenig nach meinem Vorstlellungen umzubauen, bzw. es an meine Bedürfnisse anzupassen, mit meinen eher geringen PHP-Kenntnissen. Bisher funktioniert auch alles, aber ich bekomme bei Änderung eines Eintrags die folgende Fehlermeldung:
aus:
Ich komme da irgendwie nicht weiter. Sieht vielleicht irgend jemand einen Fehler?
Wie gesagt, alles andere funktioniert.
Vielen Dank.
Gruß
Piete
ich habe versucht, das Script ein wenig nach meinem Vorstlellungen umzubauen, bzw. es an meine Bedürfnisse anzupassen, mit meinen eher geringen PHP-Kenntnissen. Bisher funktioniert auch alles, aber ich bekomme bei Änderung eines Eintrags die folgende Fehlermeldung:
Die Zeile 92 istERROR-Handling:
PHP: 4.4.6 /// MySQL: 4.0.24_Debian-10sarge2-log
Notice: Undefined index: OS in /customers/xxxxx.de/xxxxxx.de/httpd.www/homepage/kontaktmanager/classes/class.error.php on line 77
/// OS: /// Server: Apache
NOTICE(1): Undefined index: thumbnail
/homepage/kontaktmanager/includes/change_sent.php on line 92
Code: Alles auswählen
$sql .= "=\"".htmlentities(trim($_POST[$settings->column[$i]['original']]))."\"";
Code: Alles auswählen
<?php
/*
* change contact
*/
// An dieser Stelle wird das Geburtsdatum aus dem format tt.MM.JJJJ in das Format JJJJ-MM-tt umgewandelt
function Datum_Dt2mySQL($datum)
{
list($tag, $monat, $jahr) = explode(".", $datum);
if ($jahr < 20 )
{
$jahr += 2000;
}
elseif ($jahr < 100 )
{
$jahr += 1900;
}
$date= sprintf("%04d-%02d-%02d", $jahr, $monat, $tag);
return $date;
}/* function Datum_Dt2mySQL($datum) */
if ( $myVar->menu == 'change' && isset($_POST['sent']) )
{
$success = FALSE;
$sql = "UPDATE $myDB->contacts SET ";
for ( $i=0; $i<count($settings->column); ++$i )
{
if ( $settings->get_maskbit( $i, ALLOW_CHANGE ) )
{
if ( strlen($settings->column[$i]['regexp']) )
{
if($settings->column[$i]['original'] == 'birthday')
{
$_POST[$settings->column[$i]['original']]= Datum_Dt2mySQL($_POST[$settings->column[$i]['original']]);
}
else if( !preg_match($settings->column[$i]['regexp'], $_POST[$settings->column[$i]['original']], $result) )
{
if($_POST[$settings->column[$i]['original']] != "")
{
$myVar->warning[] = $lang->get(70, $settings->column[$i]['alias']);
$myVar->invalid_value[] = $settings->column[$i]['original'];
}
}
}
if ( $settings->get_maskbit( $i, IS_TELEPHONE_NR ) )
$_POST[$settings->column[$i]['original']] = checkTelephoneNr( $_POST[$settings->column[$i]['original']], $settings );
// Hier wird das Datumsformat umgewandelt
if ( strlen($settings->column[$i]['original']) == 'birthday')
{
$settings->column[$i]['original']= Datum_Dt2mySQL($_POST[$settings->column[$i]['original']]);
}
$sql .= $settings->column[$i]['original'];
switch ( $settings->column[$i]['type'] )
{
case 'url':
$sql .= "=\"".convert_url($_POST[$settings->column[$i]['original']])."\"";
break;
case 'int':
$sql .= "=".(int)$_POST[$settings->column[$i]['original']];
break;
default:
$sql .= "=\"".htmlentities(trim($_POST[$settings->column[$i]['original']]))."\"";
}
$sql .= ", ";
}
}
$sql .= " changed=NOW() ";
$sql .= " WHERE contactid = $myVar->contactid";
if ( !count( $myVar->warning ) )
{
$rs = $myDB->go($sql);
$sql = "DELETE FROM $myDB->contacts_groups WHERE contacts_contactid=$myVar->contactid";
$rs = $myDB->go($sql);
// insert groups
if ( array_key_exists( 'groups', $_POST ) )
{
for ( $i = 0; $i < count($_POST['groups']); ++$i )
{
if ( (int)$_POST['groups'][$i] ) {
$sql = "INSERT INTO $myDB->contacts_groups (contacts_contactid, groups_groupid) VALUES ($myVar->contactid, {$_POST['groups'][$i]})";
$rs = $myDB->go($sql);
}
}
}
}
}
?>
Wie gesagt, alles andere funktioniert.
Vielen Dank.
Gruß
Piete