Diese Board wurde aus Spamschutz-Gründen auf minimale Funktionen beschränkt.
Nutze für neue Anfragen/Bug-Reports bitte meine Gitlab-Instanz.

Fehlermeldung bei Kontaktänderung

Hilfe bei Installation oder einem Update der Kontakteverwaltung. Behebung von aufgetretenen Fehlern.
Antworten
Piete
Beiträge: 16
Registriert: Fr 9. Mär 2007, 00:00

Fehlermeldung bei Kontaktänderung

Beitrag von Piete »

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:
ERROR-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
Die Zeile 92 ist

Code: Alles auswählen

$sql .= "=\"".htmlentities(trim($_POST[$settings->column[$i]['original']]))."\"";
aus:

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);
                }
            }
        }
    }
}

?>

Ich komme da irgendwie nicht weiter. Sieht vielleicht irgend jemand einen Fehler?

Wie gesagt, alles andere funktioniert.

Vielen Dank.

Gruß
Piete
Zuletzt geändert von Piete am Mi 14. Mär 2007, 19:38, insgesamt 1-mal geändert.
Benutzeravatar
der-domi
Site Admin
Beiträge: 673
Registriert: Di 4. Apr 2006, 19:22
Kontaktdaten:

Re: Fehlermeldung bei Kontaktänderung

Beitrag von der-domi »

Was soll denn der Quatsch mit

Code: Alles auswählen

function Datum_Dt2mySQL($datum);
? Warum fragst du mich, wie man das Format ändert, wenn du es doch nicht anwendest? Die Arbeit kann ich mir dann auch sparen!

Du hast einen Fehler mit "thumbnail" in class.settings_table.php.
Nicht verzagen, Domi fragen

Viele Grüße
Dominik
Piete
Beiträge: 16
Registriert: Fr 9. Mär 2007, 00:00

Beitrag von Piete »

hallo,

ich habe nochmal von vorne angefangen und das ganze mal neu aufgesetzt. ich habe aber immer noch ein problem. wenn ich einen kontakt einfüge und anschließend auf "zeige kontakt" gehe, bekomme ich die Fehlermeldung
NOTICE(1): Undefined offset: 34
/homepage/kontaktmanager/includes/detail.php on line 117
ich komme da irgendwie nicht weiter. Undefined offset: 34 heißt doch das der eintrag nicht existiert oder so ähnlich zumindest. ist halt nur komisch, dass sich ein bild eintragen lässt und dass das bild dann bei show all als bild angezeigt wird. in der detailansicht kommt eben die Fehlermeldung und das bild wird nicht angezeigt, sondern der link zu dem bild

Wo könnte denn da der Hund begraben sein?
:?: :?:

Grüße
Piete

EDIT: Dominik: Bitte nicht so viel "unnötigen" Code posten. Den kann man auch aus dem Release entnehmen.
Benutzeravatar
der-domi
Site Admin
Beiträge: 673
Registriert: Di 4. Apr 2006, 19:22
Kontaktdaten:

Beitrag von der-domi »

Es müssen alle $row[$i] durch $value ersetzt werden.
Nicht verzagen, Domi fragen

Viele Grüße
Dominik
Piete
Beiträge: 16
Registriert: Fr 9. Mär 2007, 00:00

Beitrag von Piete »

Hallo,

vielen Dank. Jetzt funktioniert alles.

Ich habe mittlerweile auch noch einen weiteren Menüpunkt hinzugefügt, mit dem man Bilder in einen bestimmten Ordner auf den Server laden kann.


Grüße
Piete
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast