invalid argument foreach()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Applicatie ontwikkelaar Java

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving We verwachten van je,

Bekijk vacature »

Full Stack .NET Developer C# ASP.NET

Samengevat: Deze werkgever is gespecialiseerd in het op afstand bewaken en besturen van machines en processen. Ben jij een ervaren Full Stack .NET Developer? Heb je ervaring met C# en ASP.NET? Vaste baan: .Net Developer C# ASP.NET HBO €3.300 - €4.500 Deze werkgever is een snel groeiende onderneming gespecialiseerd in het op afstand bewaken en besturen van machines en processen, IoT (Internet of Things). Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Wil jij bij de top specialisten horen? Ben jij op zoek naar een

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar een ontwikkelaar ter versterking van het huidige developers team. Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten

Bekijk vacature »

Senior Full Stack developer

Bedrijfsomschrijving tbd Functieomschrijving Full Stack Java Development bij Randstad Groep Nederland (HQ) Er is een vacature in het Corporate Client Solutions (CCS) team. Dit team is met een ander team net begonnen aan het project ‘Grip op Inhuur’. Het doel van dit project is de tevredenheid van onze leveranciers te verhogen en de efficiëntie van onze administratie te verbeteren. Onderdeel daarvan is een ‘Mijn-omgeving’ voor ZZP’ers en leveranciers. Naast dit nieuwe project werkt het team ook aan het onderhoud en verbeteren van een digitaal vacature management systeem waarmee dagelijks vele vacatures worden voorzien. Het team ontwikkelt zo veel mogelijk zelf

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Junior Java Developer

Dit ga je doen Je ontwikkelt innovatieve, maatschappelijk belangrijke applicaties; Je implementeert nieuwe features; Je gaat in gesprek met eindgebruikers en designers om de applicaties continu te finetunen; Je draait mee in een professionele Agile/Scrum omgeving. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de omgeving van Amsterdam. Ze staan zeer goed bekend in de markt door hun innovatieve dienstverlening op IT gebied en hun gepassioneerde werknemers. Voor hun inspanningen op het gebied van IT hebben ze meerdere prijzen gewonnen! Onze klant is onderdeel van een Corporate werkgever en heeft zelf 300 mensen in dienst. Om

Bekijk vacature »

Freelance Fullstack Java Developer

Functieomschrijving Voor een opdrachtgever in omgeving Rotterdam zijn wij op zoek naar ervaren Fullstack JAVA Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid hebben

Bekijk vacature »

Outsystems Developer Junior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als junior Outsystems Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van

Bekijk vacature »

C# Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Wil jij graag aan de slag als C# ontwikkelaar en jouw skills verder ontwikkelen? Zoek niet verder! Als C# ontwikkelaar ga je aan de slag met de volgende taken: (verdere) ontwikkeling van de software voor de interne processen binnen een .net omgeving; optimaliseren van de dataprocessing; ontwerpen en implementeren van zowel desktop- als web-programmatuur; ontwikkeling van tools ten behoeve van consultants en klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Den Bosch. Zij ontwikkelen business intelligence software voor een specifieke branche. Dit houdt in dat zij dashboards ontwikkelen

Bekijk vacature »

Senior Mobile Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Mobile Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Java Developer

Functieomschrijving Are you an experienced Java Developer who wants to be challenged? Then this is your job! As a Java Developer, you are co-responsible for building custom applications within our extensive IT landscape. Development takes place on both the back-end side (Spring/JEE). Together with the IT department, you are responsible for the daily adjustments and expansions of our IT systems. In addition, you will work in small scrum teams using the Agile methodologies. Besides the realization of our in-house systems, you are responsible for the roll-out of the application (version) as well as the operational support after going live. Team

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Front end developer

Functie Jij als ervaren Front end developer bent een expert het gebied van Javascript en React. Je wordt onderdeel van een multidisciplinair team bestaande uit een PO, twee Front end developers, een DevOps/Back end developer, een UX/UI designer en een projectmanager. Verder is er iemand verantwoordelijk voor de HR en is de algemeen directeur nauw betrokken bij alle projecten. Dagelijks hou jij je bezig met de verschillende projecten die zijn opgenomen in de sprint. Daarnaast denk je mee over mogelijke oplossingen om de behoefte van de klant op de beste manier in te vullen. Verder spar jij intern met collega’s

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »
Jules Kreutzer

Jules Kreutzer

25/12/2012 23:45:18
Quote Anchor link
Wanneer ik me probeer in te loggen, word ik doorgestuurd naar de pagina login.php
Ik krijg dan deze foutmelding te zien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Warning: Invalid argument supplied for foreach() in blahblahblah


De error zit op lijn 28

Het bestand login.php ziet er als volgt uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
require 'login-libs.php';
require 'connect.php';

login_check_is_email_provided();

// check that the password is provided
if(!isset($_REQUEST['password']) || $_REQUEST['password']==''){
    login_redirect($url,'nopassword');
}


// check that the email/password combination matches a row in the user table
$password=md5($_REQUEST['email'].'|'.$_REQUEST['password']);
$r= 'select * from user_accounts where
    email="'
.addslashes($_REQUEST['email']).'" and
    password="'
.$password.'"'
;
$result=mysql_query($r);

if($result==true){
    login_redirect($url,'loginfailed');
}


// success! set the session variable, then redirect
$_SESSION['userdata']=$result;
$groups=json_decode($result['groups']);
$_SESSION['userdata']['groups']=array();
foreach($groups as $g)$_SESSION['userdata']['groups'][$g]=true;
if($result['extras']=='')$result['extras']='[]';
$_SESSION['userdata']['extras']=json_decode($result['extras']);

login_redirect($url);
?>


heeft iemand een idee hoe ik dit moet verhelpen?

bvd Jules
Gewijzigd op 25/12/2012 23:46:13 door Jules Kreutzer
 
PHP hulp

PHP hulp

25/04/2024 05:52:47
 
Wouter J

Wouter J

26/12/2012 00:24:55
Quote Anchor link
Hmm, even een lesje debuggen:

1) De error vertalen

>> Invalid argument supplied for foreach
Vrij vertaalt: "Er is een verkeerd argument gegeven aan de foreach"
We weten dus dat het een verkeerd argument betreft, we moeten dus kijk wat er straks tussen () staat.

2) De regel opzoeken
Oké, we weten nu de error opzoek naar de regel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
foreach($groups as $g)$_SESSION['userdata']['groups'][$g]=true;
?>

Oef, eerst even normalizeren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach ($groups as $g) {
    $_SESSION['userdata']['groups'][$g] = true;
}

?>


Oké, iets in ($groups as $g) is verkeerd. Het moet dus $groups zijn die verkeerd is.

3) Informatie verzamelen
Laten even informatie gaan verzamelen, hoe wordt $groups bijvoorbeeld aangemaakt?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$groups
= json_decode($result['groups']);
?>


Hmm, dat geeft niet veel informatie.

4) Je verwachtingen controleren
Je verwacht dat $groups een array is, anders stop je hem niet in je array. Laten we die gedachten eens controleren door de assert functie te gebruiken, hiermee kun je aangeven dat je iets verwacht zoniet dan krijg je een USER_WARNING op je scherm:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// ...
$groups = ...;

assert('is_array($groups)');
?>


Ik verwacht dat je hier een warning voor gaat krijgen, de $groups bevat dus geen array, hmm....

5) De documentatie doorlezen
Laten we dan eens gaan kijken in de documentatie over die functie: json_decode
Het eerste wat mij al opvalt is de 'mixed' in het functie-voorbeeld in het 'description' blok. Hij hoeft dus niet per se een array terug te geven.

Vervolgens kijken we in het 'Return values' blok, aangezien dat het geen is dat we willen weten:
Quote:
Returns the value encoded in json in appropriate PHP type. (...) NULL is returned if the json cannot be decoded or if the encoded data is deeper than the recursion limit.


Hmm, hij kan dus ook NULL returnen. Laten we dan eens gaan kijken of hij NULL terug heeft gegeven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// ...
$groups = ...;

assert('is_null($groups)');
?>

Hoogstwaarschijnlijk krijg je hier geen error over, de waarde is dus NULL. Dan kun je dit debug proces weer herhalen om erachter te komen wat er fout is (is het een ongeldige jSON string? Is het recursie limit te hoog?)
 
Jules Kreutzer

Jules Kreutzer

26/12/2012 01:06:58
Quote Anchor link
Bedankt voor je reactie, de waarde is inderdaad NULL, maar ik begrijp niet goed wat er fout is aan het script.

Misschien is er ook een andere oplossing die makkelijker is, dan wil ik die ook best wel gebruiken hoor.

Jules
 
Wouter J

Wouter J

26/12/2012 01:10:02
Quote Anchor link
Ik zou niet weten wat er fout is, ga nog eens alle stappen af en probeer zo het probleem te achterhalen.
 
Erwin H

Erwin H

26/12/2012 01:13:39
Quote Anchor link
In elk geval zit er 1 echte fout op Regel 20. $result is de uitkomst van een select query. Dat is ofwel een resource, ofwel false als de query is mislukt, het kan in elk geval nooit true zijn.

Verder lijkt het erop dat je een json string uit je database gaat krijgen hier. Dat riekt ook naar een erg slecht ontworpen database.

Volgens mij kan je beter het advies dat Ger in een ander topic al gaf ter harte nemen....
Gewijzigd op 26/12/2012 01:15:16 door Erwin H
 
Jules Kreutzer

Jules Kreutzer

26/12/2012 01:14:33
Quote Anchor link
Ik heb de warning kunnen wegwerken (inclusief een paar andere) door middel van volgende code aan te passen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php $r= 'select * from user_accounts where
    email="'
.addslashes($_REQUEST['email']).'" and
    password="'
.$password.'"'
;
?>


naar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$r
= 'select * from user_accounts where
    email="'
.addslashes($_REQUEST['email']).'" and
    password="'
.$password.'" and groups = ["_superadministrators"] OR ["_administrators"]'
;
?>


Wanneer ik nu op login klik, krijg ik echter wel nog de link redirect te zien. wanneer ik daar op klik, zou ik normaal op index.php moeten uitkomen, maar hij laat toch nog steeds het loginscherm zien. Dus de sessies zijn niet gezet...

bij login.php wordt verwezen naar login-libs.php (waar ook de redirect link wordt gemaakt). Dit bestand ziet er zo uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
require 'basics.php';

$url='/';
$err=0;

function
login_redirect($url,$msg='success'){
    if($msg)$url.='?login_msg='.$msg;
    header('Location: '.$url);
    echo '<a href="'.htmlspecialchars($url).'">redirect</a>';
    exit;
}


// set up the redirect
if(isset($_REQUEST['redirect'])){
    $url=preg_replace('/[\?\&].*/','',$_REQUEST['redirect']);
    if($url=='')$url='/';
}


// check that the email address is provided and valid
function login_check_is_email_provided(){
    if(
        !
isset($_REQUEST['email']) || $_REQUEST['email']==''
        || !filter_var($_REQUEST['email'], FILTER_VALIDATE_EMAIL)
    ){

        login_redirect($GLOBALS['url'],'noemail');
    }
}

?>
Gewijzigd op 26/12/2012 01:17:28 door Jules Kreutzer
 
Erwin H

Erwin H

26/12/2012 09:05:35
Quote Anchor link
Jules Kreutzer op 26/12/2012 01:14:33:
Ik heb de warning kunnen wegwerken (inclusief een paar andere) door middel van volgende code aan te passen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php $r= 'select * from user_accounts where
    email="'
.addslashes($_REQUEST['email']).'" and
    password="'
.$password.'"'
;
?>


naar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$r
= 'select * from user_accounts where
    email="'
.addslashes($_REQUEST['email']).'" and
    password="'
.$password.'" and groups = ["_superadministrators"] OR ["_administrators"]'
;
?>

Als je exit() helemaal aan het begin van je script zet ben je ook van alle warnings af....

Dit lost geen enkel probleem op. Wat je nu hebt is een fout SQL statement, waardoor je query gewoon mislukt en je script dus zal afbreken. Ja, je bent dan die php warning kwijt, maar inloggen zal je nooit meer lukken.

Waar het om gaat, in het oorspronkelijke probleem, is dat er in de database blijkbaar een verkeerde waarde staat in de kolom groups en dat dien je gewoon te controleren voor je verder gaat. Dus voor je die foreach in gaat moet je controleren of $groups wel een array is (en dat doe je met de functie is_array). Is het geen array dan kan je gewoon die foreach niet uitvoeren.
 
Jules Kreutzer

Jules Kreutzer

26/12/2012 12:01:06
Quote Anchor link
Ik heb de code weer terug naar het orginele gezet en ben in mijn database de waarde van group gaan veranderen.

Bij de voorbeeldgebruiker, staat er bij groups: ["_superadministrators"]. dit heb ik veranderd bij mijn account naar _superadministrators. Dit heeft echter geen effect.

De index.php pagina vraagt naar de sessie waar de groups gelijk is aan superadministrators of administrators, is dat niet het geval, wordt het login formulier getoont.

Het bestand wat controleert of de group goed is, heet admin_libs.php en ziet er als volgt uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
require $_SERVER['DOCUMENT_ROOT'].'/incs/basics.php';
function
is_admin(){
    if(!isset($_SESSION['userdata']))return false;
    if(
        isset($_SESSION['userdata']['groups']['_administrators']) ||
        isset($_SESSION['userdata']['groups']['_superadministrators'])
    )
return true;
    if(!isset($_REQUEST['login_msg']))$_REQUEST['login_msg']='permissiondenied';
    return false;
}

if(!is_admin()){
    require SCRIPTBASE.'admin/login/login.php';
    exit;
}

?>


Ik heb nog niet geprobeert om de groups in de database te verandere naar ['_superadministrators'], omdat ik denk dat het geen verschil maakt...

Jules
Gewijzigd op 26/12/2012 12:01:46 door Jules Kreutzer
 
Wouter J

Wouter J

26/12/2012 12:24:48
Quote Anchor link
Gebruik liever geen $_REQUEST, beter is om expliciet te zeggen welk type parameter je wilt $_GET of $_POST of $_SESSION.

Tevens raad ik je aan je database te normalizeren. Zodra je een array-achtige waarde in een cell hebt staan weet je dat het verkeerd is. Hoe ik het zou doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
+-------------------+   +-----------------+   +-------------------+
|       users       |   |      roles      |   |    user_roles     |
+----+--------+-----+   +----+------------+   +---------+---------+
| id | name   | ... |   | id | name       |   | user_id | role_id |
+----+--------+-----+   +----+------------+   +---------+---------+
| 1  | Wouter | ... |   | 1  | admin      |   | 1       | 2       |
| 2  | Jan    | ... |   | 2  | superadmin |   | 2       | 3       |
| 3  | Piet   | ... |   | 3  | user       |   | 3       | 1       |
| .. | ...    | ... |   | 4  | ...        |   | ...     | ...     |
+----+--------+-----+   +----+------------+   +---------+---------+
 
Erwin H

Erwin H

26/12/2012 12:31:39
Quote Anchor link
Jules Kreutzer op 26/12/2012 12:01:06:
Bij de voorbeeldgebruiker, staat er bij groups: ["_superadministrators"]. dit heb ik veranderd bij mijn account naar _superadministrators. Dit heeft echter geen effect.

Ook dat lijkt me niet verstandig. Wat je dan aan het doen bent is een klein onderdeel van een groter geheel veranderen. Het grotere geheel zou echter als geheel moeten werken. Als dat het niet doet moet je niet lukraak iets veranderen, maar eerst begrijpen hoe het werkt.

Uit alles wat je verteld heb begrijp ik dat er een json encoded array in een database veld staat (in groups). Als je daar nu een normale waarde van maakt, dan zal je json_decode misgaan en daarmee ook je foreach loop, want je krijgt er namelijk geen array meer uit. Waar de fout dan wel ligt, geen idee.

Wat ik wel kan zeggen is dat ik dit script al veel eerder in de prullenbak zou hebben gegooit. Het staat bol van de fouten of in elk geval verkeerde dingen. Vooral het gebruik van json encoded gegevens in een database, waar je (zoals Wouter helemaal terecht opmerkt) een genormalizeerde structuur zou moeten toepassen is echt een grote no-no.
 
Jules Kreutzer

Jules Kreutzer

26/12/2012 13:53:40
Quote Anchor link
Ik heb momenteel een tabel user_account waar de kolom group de waarde bevat zoals ["_superadministrators"] en er is een tabel groups waar name de waarde _superadministrators of _administrators bevat, met respectivelijk id 1 en 2. Dit is toch wat je bedoelt wouter of niet?



Toevoeging op 26/12/2012 14:02:45:

Het is opgelost,

Wanneer ik het op mijn locale host teste kreeg ik de http-500 error, ik heb dat opgelost (geprobeerd in ieder geval) door $r om te zetten naar $result.

Maar wanneer ik op mijn webserver het orginele bestand upload, werkt het wel, en is het ook mogelijk om ingelogd te worden.

orginele login.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
require 'login-libs.php';

login_check_is_email_provided();

// check that the password is provided
if(!isset($_REQUEST['password']) || $_REQUEST['password']==''){
    login_redirect($url,'nopassword');
}


// check that the email/password combination matches a row in the user table
$password=md5($_REQUEST['email'].'|'.$_REQUEST['password']);
$r=dbRow('select * from user_accounts where
    email="'
.addslashes($_REQUEST['email']).'" and
    password="'
.$password.'" and active'
);
if($r==false){
    login_redirect($url,'loginfailed');
}


// success! set the session variable, then redirect
$_SESSION['userdata']=$r;
$groups=json_decode($r['groups']);
$_SESSION['userdata']['groups']=array();
foreach($groups as $g)$_SESSION['userdata']['groups'][$g]=true;
if($r['extras']=='')$r['extras']='[]';
$_SESSION['userdata']['extras']=json_decode($r['extras']);

login_redirect($url);
?>


Toch bedankt voor jullie hulp!!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.