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