Le MrG Geplaatst: 19 september 2006 Rapport Geplaatst: 19 september 2006 Hey, Zoals sommigen van jullie misschien weten ben ik bezig met een PHP IRC Bot Ik heb daar in ook een admin commando zitten waarmee je dingen kunt doen Welnu, als eerste moet ik natuurlijk controleren of diegene wel Admin is. Dat doe ik door een in_array($data->nick, $admins); Alleen verschijnt er zodra iemand het admin commando gebruikt: Warning : in_array(); : Wrong datatype for second argument in PAD $data->nick = De naam van diegene die probeert om admin commando uit te voeren. $admins = Een Array waarin namen staan van de Admins Help gevraagd Reageren
Upstream Geplaatst: 19 september 2006 Rapport Geplaatst: 19 september 2006 Wrong datatype for second argument Oftewel, verkeerd datatype in het tweede argument. Weet je zeker dat $admins een array is met minimaal 1 element. Probeer dit eens: if(is_array($admins)){ //normale code } else { echo 'Er zijn geen admins opgegeven!'; } Reageren
Le MrG Geplaatst: 19 september 2006 Auteur Rapport Geplaatst: 19 september 2006 Ja, $admins is een array met op dit moment 3 waardes. class Fadmin { var $admins = array('MisterGX[NL]','Vinewood','[UG]Juul'); Reageren
Argon Geplaatst: 19 september 2006 Rapport Geplaatst: 19 september 2006 (bewerkt) Oke ik wil even nog een handige tip geven die best wel handig is Als je ziet dat je een error hebt ga dan zelf een kijkje nemen in de handleiding van PHP, ze hebben een hele database met uitleg over elke functie (waarvan een grootendeel vertaald is naar het nederlands (niet alles)). Site: www.php.be Dan had je deze tekst kunnen vinden: <?php $os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) { echo "Got Irix"; } if (in_array("mac", $os)) { echo "Got mac"; } ?> Dus je moet de variabelen gewoon omwisselen en dan kom je uit op: in_array($admins, $data->nick); Bewerkt: 19 september 2006 door Argon Reageren
Le MrG Geplaatst: 19 september 2006 Auteur Rapport Geplaatst: 19 september 2006 :O Ik wist eigenlijk niks van deze functie, dus heb ik gekeken in PaFileDB, om erachter te komen //This stops any l33t h4x0ring of paFileDB. Just an extra security measure $allowed_acts = array('main', 'category', 'view', 'download', 'viewall', 'search', 'email', 'license', 'mirror', 'report'); if (!in_array($act, $allowed_acts)) { die("Invalid Action!"); } Maar dan is dat toch ook fout ? Reageren
Goudvis Geplaatst: 2 oktober 2006 Rapport Geplaatst: 2 oktober 2006 (bewerkt) het eerste argument moet het item zijn, het tweede argument is de array... Dus de code van Le MrG is wel correct. Het probleem van je admins kan ik niet verklaren zonder de volledige code te zien, maar ik vermoed dat het of een lullig typefoutje, of een scope foutje is. Weet je bijvoorbeeld zeker dat je niet iets van $this->admins moet hebben ofzo ??? PS: ik zal de volgende keer eerst naar de datum kijken voor ik wat post Bewerkt: 2 oktober 2006 door Goudvis Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.