tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von rd4eva
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
168
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Duergy Duergy ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    30
    Hallo Gemeinde,

    ich grübel aktuell warum meine Funktion das Array nicht versteht.
    Zur Info ich benutze die Template Engine Smarty, das sollte aber nicht das Problem sein.

    In dem Beispiel das ich euch Zeige geht es um die Registrierung eines neuen Mitglieds.
    Leider wird nicht wie Gewünscht der Fehler in einer Liste angezeigt. Sonder er Ignoriert das "is_array" und Zeigt mir dann auf der Webseite einfach nur "array" an.

    Hier nun die relevanten Schnipsel
    Sollte das Formular abgeschickt werden
    PHP-Code:
        if(empty($_POST['vorname'])){$err[]="Sie haben keinen Vornamen angegeben";}
        if(!empty(
    $err)){
            
    $msg=msg_box("err","Fehler bei der Registrierung","".$err."");
            
    $smarty->assign('msg'$msg);
            
    $sm_content=$smarty->fetch('content_register.tpl');
        } 
    Hier die Funktion msg_box()
    PHP-Code:
    function msg_box($art$titel$msg){
    global 
    $smarty;
        
    $smarty->assign('msg_title'$titel);
        if(
    is_array($msg)){
            
    $return_msg="<ul>";
                while(
    $msg){
                    
    $return_msg.="<li>".$msg."<li>";
                }
            
    $return_msg.="</ul>";
        }
        else{
            
    $return_msg="".$msg."";
        }
        
    $smarty->assign('msg_content'$return_msg);
        return 
    $smarty->fetch('core_content_msg.tpl');

     

  2. #2
    Avatar von rd4eva
    rd4eva rd4eva ist offline Mitglied Brillant
    Registriert seit
    Feb 2003
    Beiträge
    756
    Sonder er Ignoriert das "is_array"
    Was nicht passieren würde wenn du auch ein array übergeben würdest.
    Du übergibst aber einen string:
    PHP-Code:
    "".$err."" 
    Wie so oft hätte auch hier ein var_dump() geholfen.
    PHP-Code:
    $arr = array("foobar");

    foo($arr);
    foo("".$arr."");

    function 
    foo($arr){
        
    var_dump($arr);

    Code :
    1
    2
    3
    4
    
    array
      0 => string 'foobar' (length=6)
     
    string 'Array' (length=5)
    Duergy bedankt sich. 
    In order to understand recursion, one must first understand recursion.

  3. #3
    Duergy Duergy ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    30
    Super, danke das war es
     

Ähnliche Themen

  1. Externer JS-Code wird in IE6 nicht verarbeitet
    Von ahykes im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 04.05.10, 08:58
  2. XML wird nicht richtig verarbeitet
    Von Black Panter im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 28.02.09, 04:38
  3. POST-Variable wird nicht verarbeitet
    Von Mike Rofon im Forum PHP
    Antworten: 12
    Letzter Beitrag: 20.10.08, 09:00
  4. Height wird nicht vom IE verarbeitet
    Von Pullmann im Forum CSS
    Antworten: 3
    Letzter Beitrag: 17.01.07, 12:29
  5. Befehle werden nicht verarbeitet
    Von PHP-Fan im Forum PHP
    Antworten: 4
    Letzter Beitrag: 05.09.06, 22:45