Ankündigung

Einklappen
Keine Ankündigung bisher.

Teil einer Funktion nicht klar...

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • altram
    hat ein Thema erstellt Teil einer Funktion nicht klar....

    Teil einer Funktion nicht klar...

    Tagchen,

    ich habe durch Euch bereits das meiste meiner Probleme und Fragen lösen können. Danke dafür.

    Ich habe hier einmal eine Frage. Ich habe von meinem Provider ja meinen Mailer bekommen. Die meisten der Funktionen verstehe ich.

    Nur diese erschließt sich mir nicht. Darüber hinaus funzt alles auch ohne den unten aufgeführten Code Teil. Das da was überprüft wird, ist mir klar. Wird da was gekürzt ? Oder „beschnitten“ ?

    Hier der ganze Code (den ihr ja schon kennt…):

    PHP-Code:
    <?php

    ################################################################################################################################
    function check_email($email){
        return 
    eregi("^[_a-z0-9-]([-_.]?[a-z0-9])*@[a-z0-9]([-_.]?[a-z0-9])+[.][a-z0-9]+$",$email);
    }
    ##^=Zeilenanfang / $=Zeilenende##
    function check_telefon($telefon){
        return 
    eregi("^[0-9]*$",$telefon);
    }

    function 
    array_escape_and_strip($array)
    {
    if (!isset(
    $array_return)) $array_return '';
        if(!
    is_array($array)){
            return;
        }    
        foreach(
    $array AS $key => $inhalt){
            if(
    is_array($inhalt)){
                
    $array_return[$key] = array_escape_and_strip($inhalt);
            } else {
                if(
    get_magic_quotes_gpc()){
                    
    $array_return[$key] = trim(strip_tags($inhalt));
                    continue;
                } 
                
    $array_return[$key] = trim(strip_tags(addslashes($inhalt)));
            }
        }
        
    $array $array_return;
        return 
    $array;
    }
    function 
    array_unescape($array)
    {
    if (!isset(
    $array_return)) $array_return '';
        if(!
    is_array($array)){
            return;
        }
        foreach(
    $array AS $key => $inhalt){
            if(
    is_array($inhalt)){
                
    $array_return[$key] = array_escape_and_strip($inhalt);
            } else {
                
    $array_return[$key] = trim(stripslashes($inhalt));
            }
        }
        
    $array $array_return;
        return 
    $array;
    }
    ################################################################################################################################

    $ihre_email                 "altram@gmx.de"
    $betreff_der_nachrichten     "Eine Nachricht eines Besucher von www.btb-gerdes.de";

      
    $meldungen "";
      
    $error "";
      
    $write_db "";

      
    array_escape_and_strip(&$_POST);
    array_unescape(&$_POST);

    if(isset(
    $_POST['action'])){
        switch(
    $_POST['action']){
            case 
    'submit':    
                if(!
    check_email($_POST['email'])){
                    
    $meldungen .= "Bitte geben Sie eine gültige E-Mail Adresse ein.<br>";
                    
    $error 1;
                }
            
                if(!
    check_telefon($_POST['telefon'])){
                    
    $meldungen .= "Bitte geben Sie eine gültige Nummer ein.<br>";
                    
    $error 1;
                }
                
                if(empty(
    $_POST['nachricht'])){
                    
    $meldungen .= "Bitte geben Sie eine Nachricht ein.<br>";
                    
    $error 1;
                }
                
                if(
    $error) { break; }
                
                
    $message =  "Es wurde eine Nachricht fuer Sie hinterlassen:\n\n".
                            
    "Kontaktdaten:\n".
                            
    "Name: $_POST[name]\n".
                            
    "E-Mail: $_POST[email]\n".
                            
    "Telefon: $_POST[telefon]\n".
                            
    "Fax: $_POST[fax]\n".
                            
    "Uhrzeit: ".date('d.m.Y - H:i:s').
                            
    "\n\n".
                            
    "------------------------- Nachricht -------------------------\n\n".
                            
    "$_POST[nachricht]\n\n".
                            
    "--------------------------- ENDE ----------------------------\n\n";            
                
    $x = @mail($ihre_email,addslashes($betreff_der_nachrichten),$message,"from: $ihre_email");        
                if(
    $x){
                    
    $_POST = array();
                    
    $write_db 1;
                    break;
                }    
                
    $meldungen .= "Aufgrund eines technischen Fehlers konnten wir Ihre Nachricht nicht empfangen.<br>".
                              
    "Bitte setzen Sie sich anderweitig mit uns in Verbindung.<br>Vielen Dank für Ihr Verständnis!";
                break;    
        }
    }


    ?>
    Und hier der Teil, den ich nicht verstehe:

    PHP-Code:
    function array_escape_and_strip($array)
    {
    if (!isset(
    $array_return)) $array_return '';
        if(!
    is_array($array)){
            return;
        }    
        foreach(
    $array AS $key => $inhalt){
            if(
    is_array($inhalt)){
                
    $array_return[$key] = array_escape_and_strip($inhalt);
            } else {
                if(
    get_magic_quotes_gpc()){
                    
    $array_return[$key] = trim(strip_tags($inhalt));
                    continue;
                } 
                
    $array_return[$key] = trim(strip_tags(addslashes($inhalt)));
            }
        }
        
    $array $array_return;
        return 
    $array;
    }
    function 
    array_unescape($array)
    {
    if (!isset(
    $array_return)) $array_return '';
        if(!
    is_array($array)){
            return;
        }
        foreach(
    $array AS $key => $inhalt){
            if(
    is_array($inhalt)){
                
    $array_return[$key] = array_escape_and_strip($inhalt);
            } else {
                
    $array_return[$key] = trim(stripslashes($inhalt));
            }
        }
        
    $array $array_return;
        return 
    $array;

    Danke und schonmal ein schönes WE,

    Gruß Alex

  • nikosch
    antwortet
    Die Funktionen sind blanker Müll. Von der schlechten Einrückung mal abgesehen - was soll sowas:
    PHP-Code:
    function array_escape_and_strip($array)
    {
    if (!isset(
    $array_return)) $array_return ''
    PHP-Code:
        $array $array_return;
        return 
    $array
    if(get_magic_quotes_gpc())
    in einer Schleife,
    PHP-Code:
    $array_return '';
    ...
    $array_return[$key] = 

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Beide Funktionen gehen rekursiv durch ein Array und wenden verschiedene String-Funktionen auf die Inhalte an.

    Dei zweite Funktion scheint nicht ganz richtig zu sein. Dort wird, wenn es sich bei einem Element um ein Array handelt, "array_escape_and_strip" und nicht "array_unescape" aufgerufen. Oder ich verstehe den Sinn dahinter nicht..

    Wobei diese Sachen mit array_walk_recursive besser gelöst wären.

    Einen Kommentar schreiben:

Lädt...
X