Jump to content
Sign in to follow this  
raiser

wieso falscher datentyp

Recommended Posts

hiho,

problem ist, er sagt bei array_search(), es wäre der flasche datentyp für das 2. parameter.

files wird in der readaccess() geschrieben und ist definitiv ein array

files[access][] = $row;
           }
           fclose($fp);
       }
   }

   function checkaccess(){
       $a=$this->files[access];
       print_r($a);
       if(is_array($a)) echo"a ist ein array";
       echo array_search('AuthName "Protected Area"',$a);
   }
}
?>


wenn ich nun checkaccess aufrufe gibt er natürlich das array von $a aus

0 ist eben die Auth.....

aber array_search sagt eben wrong datatyp und auch das if sagt mir das a ein array ist

Share this post


Link to post
Share on other sites
Guest

Könnte die fehlende Deklaration von "var $files;" der Fehler sein?


1. Assoziative Arrays bzw. deren Index werden gequotet.

2. Was sagt E_ALL?

Share this post


Link to post
Share on other sites

var $files ist vorhanden

trozdem komm ich nicht ran

 

";
       echo "-> ".array_search("hab",$a)." 

lustigerweise bekomme ich ne ausgabe von allen werten über die foreach

und auch array_search gibt bei fff und hab den index zurück

nur was direkt in $a übergeben wird, was aber über die foreach angezeigt wird

ergibt false

Share this post


Link to post
Share on other sites
Guest
Original von Raiser

var $files ist vorhanden


In der Klasse, die hier gepostet ist, ist sie nur durch die Funktion definiert.


Original von Raiser lustigerweise bekomme ich ne ausgabe von allen werten über die foreach

und auch array_search gibt bei fff und hab den index zurück

nur was direkt in $a übergeben wird, was aber über die foreach angezeigt wird

ergibt false


Ich verstehe:

1. Die Foreach gibt alle Werte aus, ok.

2. array_search() gibt den Index von dem Array mit "fff" zurück.

3. Der Rest ist irgendwie :ugly:

Share this post


Link to post
Share on other sites

luser=$luser;
       $this->lpwd=$lpwd;

       if(!$this->block_user()){
           echo'
           User:
           Pwd:

           ';
       }
       else{
           echo $this->block_user();
           $this->checkfiles();

           $this->checkaccess($this->files[access]);

           echo '[LogOut]';
       }
   }
   function block_user(){
       $this->loginuser=$_POST['loginuser'];
       $this->loginpwd=$_POST['loginpwd'];
       if($this->luser == $this->loginuser && $this->lpwd == $this->loginpwd)
           return '
           loginuser.'">
           loginpwd.'">';
       else
           return false;
   }

   function checkfiles(){
       if(!file_exists(HTACCESSFILE) || !file_exists(HTPASSWDFILE)){
           if(!file_exists(HTACCESSFILE))
               $this->files[str].=HTACCESSFILE." ist nicht vorhanden
";
           else
               $this->readaccess();
           if(!file_exists(HTPASSWDFILE))
               $this->files[str].=HTPASSWDFILE." ist nicht vorhanden
";
           else
               $this->readpasswd();
       }
       else{
           $this->readaccess();
           $this->readpasswd();
       }
       return $this->files;
   }
   function readaccess(){
       if(file_exists(HTACCESSFILE)){
           $fp=fopen(HTACCESSFILE,"r");
           while($row = fgets($fp)){
               $this->files[access][] = $row;
           }
           fclose($fp);
       }
   }
   function readpasswd(){
       if(file_exists(HTPASSWDFILE)){
           $fp=fopen(HTPASSWDFILE,"r");
           while($row = fgets($fp)){
               $this->files[passwd][] = $row;
           }
           fclose($fp);
       }
   }


   function checkaccess($a){
       $a[]="fff";
       $a[]="hab";
       print_r($a);
       foreach($a as $dat) echo "$dat ";
       echo "-> ".array_search("hab",$a)." 

und egal wie ich es versuche, an das in readacces() erzeugte array kann ich in checkacces mit keiner array-funktion drauf zugreifen, aber ausgeben kann ich mir trotzdem alles lassen...

ich verstehs absolut nicht

Share this post


Link to post
Share on other sites
Guest

In HTACCESS(), deinem Konstruktor wird readaccess() nicht aufgerufen, deswegen ist das Array leer (bis auf deine Testwerte) und es funktioniert nicht.

Share this post


Link to post
Share on other sites

ich hab mit electron noch bissel rumgebastelt, es sieht nachwievor ganu so aus.


also wer den fehler findet, kann ihn dan nauch gleich behalten und mir bitte die lösung geben...hehe


spass bei seite hier der link zur seite

auth ist

user: raiser

pwd: abc


das gleiche dann nochmal um sich die werte anzuschauen :)

Share this post


Link to post
Share on other sites

bitte nicht lachen....

\n fehlt noch in der suche bei dem array... hab es immer nicht gleich gesehn im quelltext,

da das ja dort und auch nirgends dateht wenn man sich was ausgeben lässt

 

 ".array_search(" AuthType Basic\n",$a)." 

lässt dann auch wie gewünsch 1 ausgeben :)

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...