Groot probleem ontdekt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior Python Developer Data Scientist

Bedrijfsomschrijving Onze klant biedt financiële dienstverlening aan organisaties binnen de non-profit sector. Hierbij kun je denken aan overheden en instellingen met een maatschappelijk belang. In vergelijking met andere financiële dienstverleners staan zij er bijzonder goed voor. De organisatie heeft een open cultuur met vrij korte lijnen. Daarnaast zijn duurzaamheid en betrouwbaarheid termen die de organisatie kenmerken. Ter uitbreiding van één van de IT teams zijn zij op zoek naar een Python Ontwikkelaar met interesse voor Data Science. Grote hoeveelheden data zijn kenmerkend voor het applicatie landschap, waarbij aan de finance kant hier complexe data, formules en wiskundige berekeningen komen kijken.

Bekijk vacature »

Medior/Senior PHP Developer / Marketing / Impact

Bedrijfsomschrijving Deze informele organisatie brengt campagnes naar ongekende grote hoogtes! Jij kan als PHP Developer echt impact maken voor klanten en hun marketing succesvoller laten worden. Dat door je voor bekende organisaties zoals de NS, Peugeot, Achmea, KvK, Eneco en Miele. Binnen dit bedrijf heerst er een informele, plezierige en open sfeer. Bij onze opdrachtgever ligt er veel aandacht op persoonlijke ontwikkeling. Je gaat hier namelijk vrijheid krijgen om op je eigen manier invulling te geven aan je werk, maar je kan altijd op je collega’s terug kunnen vallen voor advies en tips. Functieomschrijving In de functie van PHP Developer

Bekijk vacature »

Delphi Developer

As a Delphi Developer you work together with other development teams to make our back-office applications work as optimal as possible. How do I become a Delphi Developer at Coolblue? As a Delphi Developer you work together with other development teams to make our back-office applications work as optimal as possible, being extending features or migrating them to APIs. Everything to put a smile in our colleagues' faces! Although you are a Delphi Developer, you are not averse to a some C# or JavaScript. Would you also like to become a Delphi Developer at Coolblue? Read below if the job

Bekijk vacature »

New Business Developer ICT - Noord-Holland - &euro

Wat ga je doen? Als New Business Developer ICT ben jij de verbindende schakel tussen je werkgever en nieuwe klanten. De diensten die jij aan te bieden hebt variëren van klant tot klant. Je helpt je klanten met het vinden van de juiste oplossingen voor hun vraagstukken in de Logistiek dmv een prachtige software tool. Juist deze oplossingen die jij je klanten aan kan bieden zijn uniek omdat alles volledig aangepast kan worden naar de vraag van de klanten. De focus ligt niet op het waarmaken van de klantverwachtingen, je wordt verwacht om altijd te streven naar het overtreffen van

Bekijk vacature »

Functioneel Applicatiebeheerder

Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder Jij: Vindt het leuk om binnen een klein IT-team aan de slag te gaan met het functioneel beheer van voornamelijk Microsoft Business Central, maar ook andere applicaties. Kan goed schakelen tussen operationeel beheer en business change en wordt blij van een brede functie die bestaat uit beide aspecten. Zoekt graag dingen uit, analyseert processen en informatiestromen waarbij je in oplossingen denkt. Hebt kennis van ITIL, TMap en BiSL of bent bereid om hier trainingen in te volgen. Bent in staat om de vragen en behoeften van gebruikers te vertalen naar concrete

Bekijk vacature »

Software Developer .NET

Bedrijfsomschrijving Je komt te werken als Software Engineer bij een organisatie gespecialiseerd in de Automatisering voor klanten van hen in de productiebranche. Ze zijn ongeveer 100 man groot en je komt terecht in een development team van 7 man. De wens is om dit met een developer uit te breiden; iemand die al een aantal jaar ervaring heeft opgedaan en goed zelfstandig kan werken. Als .NET Developer is jouw taak om software te ontwerpen, dit te ontwikkelen en te testen. Op dit moment zijn er 3 junioren in het team, werken ze samen met 3 developers gevestigd in Roemenië en

Bekijk vacature »

Medior C# Developer

You'll build modern applications for Coolblue back’s office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

Software Developer Geospatial Technology

Would you like to be part of an innovative, inspiring and international environment? Are you excited to work in a Geo-ICT, Asset Management, Energy, Water & Telecom industry and do you have strong programming skills? The job as Experienced GIS Software Developer offers the challenge you are looking for! Software Developer Geospatial Technology 32-40 hours per week Your Job As Experienced GIS Consultant you will work in an international team on projects at leading customers in the Netherlands. You will deal with design solutions in which emerging technologies play an important role. Along with your colleagues and customers you will

Bekijk vacature »

Full Stack Java Developer

Functieomschrijving Met jouw expertise zorg je als java developer voor de meest plezierige en efficiënte klant ervaring. Met jouw state-of-the-art-systemen verbeter je onze business en maak je echt impact! Want als je in ons tech team werkt, houd je jezelf en Nederland in beweging. Wij zijn continu bezig onze business en processen te optimaliseren, zodat we onze klanten en kandidaten meer gemak, snelheid en transparantie kunnen bieden. Impactvolle tech, daar doen we het voor. Artificial intelligence, machine learning en innovatieve zoek oplossingen. Zoek oplossingen? Yes! Solliciteren moet makkelijk en leuk zijn. Toch? Daar kan jij aan bijdragen! wat ga je

Bekijk vacature »

GEO-ICT/Smallworld GIS Ontwikkelaar

Bij onze klanten vormen Geographical Information System (GIS) systemen de basis van Asset Data Management. Zie jij het als een uitdaging om als onderdeel van een DEVOPS team de systemen van onze klanten te helpen vormgeven en continu te verbeteren? Wat ga je doen? Ons team heeft als doel nog relevanter te worden voor onze klantengroep van netbeheerders. Wij hebben een grote GEO-ICT Practice en daarmee zijn we in staat een fundamenteel deel van de basisregistratie van assets voor onze klanten vorm te geven. Dat doen we door het bedenken van concepten, onze klanten te adviseren op GEO-ICT gebied en

Bekijk vacature »

New Business Developer Naarden

Ben jij het zat om alle KvK-lijsten volledig af te bellen? Komt de koffie van die ene persoon waar je nog steeds geen deal hebt gesloten je neus uit? En blijf je potentiële klanten stalken zonder resultaat? Dan is het tijd om het anders te gaan doen! Neem afscheid van de standaard salesaanpak en ga bij PEAK-IT aan de slag met onze unieke en eigenwijze salesstrategie! Word onze New Business Developer in Naarden, die niet bang is om het anders te doen! Hoe maak jij onze klanten blij? Dankzij jou hoeven onze klanten niet bang te zijn dat hun IT-infrastructuur

Bekijk vacature »

.NET developer

Wil jij samen met gemotiveerde en slimme collega’s bouwen aan ons geavanceerde landschap in Azure? En vind je het ook nog eens leuk om jouw kennis te delen met junior- en medior devs? Dan heb je wellicht interesse in de positie van: Senior fullstack .NET developer voor ons kantoor in Alkmaar Over de positie: Bij SnelStart werken we in een AGILE-structuur om de productie meer focus en impact te geven. Met je collega’s kom je tot de beste resultaten door onderlinge discussie, goede refinement sessies, reviews en écht teamwork. Je hebt de vrijheid om de dingen te doen zoals jij

Bekijk vacature »

Google Cloud Engineer

As part of our Cloud service line, you will lead IT innovation for our clients through robust delivery of world-class solutions. There will never be a typical day and you will continuously experience and learn. The opportunities to make a difference within exciting client initiatives are unlimited in the ever-changing technology landscape. You will be part of a growing network of technology experts who are highly collaborative taking on today’s biggest, most complex business challenges. Google Cloud Engineer 32-40 hours per week Your job The Cloud Practice includes our deepest Google Cloud experts and supports Accenture’s more than 1,000+ practitioners

Bekijk vacature »

Ervaren C# developer Noord-Holland

Over ons bedrijf Naast onze voorliefde voor koffie en programmeren, dragen wij bij aan het succes van onze klanten. Met meer dan 12 jaar hands-on ervaring bedenken wij dé passende oplossing voor hun digitale uitdaging. Wij maken bijvoorbeeld klantportalen, realiseren data koppelingen en breiden bestaande pakketten uit. Dit doen wij door gebruik te maken van moderne technieken, zoals headless CMS, AI en machine learning. Wat ga je doen? Je werkzaamheden zijn divers en bestaan uit voornamelijk het ontwikkelen en onderhouden van webapplicaties, datakoppelingen en andere toepassingen. Daarnaast denk je actief mee met het vinden van passende oplossingen voor nieuwe wensen

Bekijk vacature »

Full Stack Developer Javascript Angular (JS)

Bedrijfsomschrijving Onze klant is een internationale organisatie in Rotterdam en heeft meerdere vestigingen wereldwijd. De IT afdeling in Rotterdam verzorgt diensten voor deze landen. Ter versterking van het team zijn zij op zoek naar een ervaren Full Stack Developer. De IT afdeling bestaat uit 3 systeembeheerders en 3 developers. Samen met 3 andere Developers ontwikkel je aan het ERP pakket. De organisatie is te omschrijven als no-nonsense, ondernemend en informeel. Naast de locatie in Nederland hebben ze verschillende locaties in het buitenland. Functieomschrijving Full Stack Developer Het onderhouden en verder inrichten van het ERP pakket middels Javascript, Angular (JS), SOAP,

Bekijk vacature »
Mario Onbekend

Mario Onbekend

06/10/2010 01:10:19
Quote Anchor link
Hallo,

Ik was zojuist wat aan het uitproberen, en toen kwam ik erachter dat er een probleem in mijn ledenscript zit.
Als iemand zich wil registreren, en hij voert daarbij de gegevens (gebruikersnaam en wachtwoord) in van een lid dat al bestaat, dan wordt hij ingelogd (als het lid dat hij invoert).
Ik heb gecontroleerd of dit niet aan de sessie lag, maar dit is niet het geval. Ik heb namelijk ter controle meerdere leden geregistreerd, en bij het inschrijven met dezelfde gegevens werden al deze leden ingelogd.

Kunnen jullie mij helpen? Ik weet niet waar het probleem zit.

index.php
* Registreren is ?pagina=inschrijven en inloggen is ?pagina=aanmelden
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php

include("config.php");

session_start();

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (!$_POST['aanmelden']) {
        $gebruikersnaam = $_POST['gebruikersnaam'];
        $gebruikersnaam = stripslashes($gebruikersnaam);
        $gebruikersnaam = mysql_real_escape_string($gebruikersnaam);
        $wachtwoord = $_POST['wachtwoord'];
        $wachtwoord = stripslashes($wachtwoord);
        $wachtwoord = mysql_real_escape_string($wachtwoord);
        $veiligwachtwoord = md5($wachtwoord);
        $veiligwachtwoord = md5($veiligwachtwoord);
        $veiligwachtwoord = sha1($veiligwachtwoord);
        $query = "SELECT * FROM gebruikers WHERE gebruikersnaam='".$gebruikersnaam."' AND wachtwoord='".$veiligwachtwoord."' AND actief='1'";
        $query2 = mysql_query($query);
        $query3 = mysql_num_rows($query2);
        if ($query3 == 1) {
            session_register("gebruikersnaam");
            session_register("veiligwachtwoord");
            header("Location: welkom.php");
        }
    }

    if (!$_POST['inschrijven']) {
        $gebruikersnaam = $_POST['gebruikersnaam'];
        $wachtwoord = $_POST['wachtwoord'];
        $wachtwoord2 = $_POST['wachtwoord2'];
        $emailadres = $_POST['emailadres'];
        $voornaam = $_POST['voornaam'];
        $achternaam = "";
        $rang = 1;
        $saldo = 10;
        $actief = 1;
        if (!empty($voornaam) and !empty($gebruikersnaam) and !empty($wachtwoord) and !empty($wachtwoord2) and $wachtwoord2 == $wachtwoord) {
            $query = "SELECT * FROM gebruikers WHERE gebruikersnaam='".$gebruikersnaam."'";
            $query2 = mysql_query($query) or die ("We kunnen geen verbinding maken.");
            $query3 = mysql_num_rows($query2);
            if ($query3 == 0) {
                ob_start();
                    header("Location: http://www..eu/id/index.php?pagina=inschrijven&id=ingeschreven");
                ob_flush();
                $veiligwachtwoord = md5($wachtwoord);
                $veiligwachtwoord = md5($veiligwachtwoord);
                $veiligwachtwoord = sha1($veiligwachtwoord);
                $inschrijven = "INSERT INTO gebruikers (gebruikersnaam, wachtwoord, emailadres, voornaam, rang, saldo, actief) VALUES ('".$gebruikersnaam."', '".$veiligwachtwoord."', '".$emailadres."', '".$voornaam."', '".$rang."', '".$saldo."', '".$actief."')";
                mail("".$emailadres."", "Welkom bij ", "Hallo ".$voornaam.",\n\nWelkom bij ! Uw gegevens zijn:\n\nGebruikersnaam: ".$gebruikersnaam."\nWachtwoord: ".$wachtwoord."\n\nVeel plezier!\n\n\n\n\nwww..eu", "From: ");
                mysql_query($inschrijven) or die ("We kunnen geen verbinding maken.");
            }
else {
                ob_start();
                    header("Location: http://www..eu//index.php?pagina=inschrijven&id=gebruikersnaam");
                ob_flush();
            }
        }
    }
}


?>


config.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
31
32
33
<?php

$dbhost
= "localhost";
$dbgebruikersnaam = "";
$dbwachtwoord = "";

$verbinden = mysql_connect($dbhost, $dbgebruikersnaam, $dbwachtwoord) or die ("<b>Code D001:</b><br />We kunnen geen verbinding maken.");

$db = "";

mysql_select_db($db) or die ("<b>Code D002:</b><br />We kunnen geen verbinding maken.");

// Functies

function isnum($value) {
    if (!is_array($value)) {
        return (preg_match("/^[0-9]+$/", $value));
    }
else {
        return false;
    }
}

function
redirect($location, $script = false) {
    if (!$script) {
        header("Location: ".str_replace("&amp;", "&", $location));
        exit;
    }
else {
        echo "<script type='text/javascript'>document.location.href='".str_replace("&amp;", "&", $location)."'</script>";
        exit;
    }
}


?>
Gewijzigd op 13/07/2011 14:05:45 door Bas Kreleger
 
PHP hulp

PHP hulp

13/05/2021 14:06:39
 
- SanThe -

- SanThe -

06/10/2010 01:45:51
Quote Anchor link
Het zal wel aan de header() op regel 43 liggen denk ik. Verder is je script lek => sql-injection.
 
Mario Onbekend

Mario Onbekend

06/10/2010 02:05:35
Quote Anchor link
Hoe kan het aan de header liggen dan? Het enige wat deze header doet is de pagina doorsturen naar ?pagina=inschrijven&id=ingeschreven, waarop de $_GET['ingeschreven'] een mededeling weergeeft dat je bent geregistreerd.
En hoe kan ik ervoor zorgen dat het script goed beveiligd is?
 
Noppes Homeland

Noppes Homeland

06/10/2010 06:26:02
Quote Anchor link
Er is wel meer mis dan alleen SQL injectie:

Geen correcte controles en validaties op de $_POST
Het maken van overbodige variabelen
Gebruik van de functie empty
Het bufferen van data als het om headers gaat
session_register is een prehistorisch gebruik $_SESSION
waarom een functie isnum als je ctype functies hebt, welke vaak ook nog eens sneller zijn dan een preg.
totaal geen foutafhandeling op afgevuurde queries
dit soort zaken: "".$emailadres."" is de grootstmogelijk onzin er zijn nu 3 zaken die door de php-parser geevalueerd moeten worden.
het te pas en te onpas gebruiken van exit, duid er vaak op dat het ontbreekt aan script logica
 
Robert Deiman

Robert Deiman

06/10/2010 07:07:56
Quote Anchor link
@Noppes
Probeer ook eens aan te geven hoe het wel moet volgens jou, een script afschieten en fouten aanwijzen is vaak niet zo lastig. Het is voor iedereen prettiger als je ze probeert te helpen, in plaats van bijna bang te maken en ze probeert van PHP af te krijgen. (Zo komen je reacties nog al eens over)
En ik zie weer de functie empty, die vind jij niet goed, maar waarom weet niemand. En toch wil je ook niet aangeven waarom. (zie topic: short if)

Als iemand andere functies gebruikt die eenzelfde controle doen, prima toch, hij is op zoek naar wat er fout gaat. Jij geeft eigenlijk alleen maar aan:
- Je doet alles fout

Probeer feedback te geven ipv commentaar, dat hout het hier wel zo gezellig..


Zo nu verder met de eigenlijke reden voor posten:
Wat ik vermoed is dat je controle op deze 2 variabelen niet goed gaat:
$_POST['aanmelden']
$_POST['inschrijven']

Als je wordt ingelogd, betekend dit eigenlijk dat het script al in de eerste IF (binnen de controle of er überhaupt wat is gepost) komt, waar de user wordt ingelogd.
Als het goed is wordt dus de nieuwe user ook niet aangemaakt.

Als een nieuwe gebruiker wordt aangemaakt wil je niet dat hij/ zij ingelogd wordt. Dat is 1 fout, want nu gebeurt dat wel. Je kan bij posten eens met bijvoorbeeld print_r (of var_dump, it's your call) en dan een exit (dus binnen if($_SERVER['REQUEST_METHOD'] == 'POST) ) eens kijken wat er in de gehele geposte array staat. Het gaat dan met name om de eerder door mij genoemde variabelen.

Daarnaast gaat het fout doordat je 2 maal alleen een if gebruikt voor deze genoemde variabelen, maar de logica zou moeten zijn:
- Als iemand zich aanmeld (bij jou aanmelden == inloggen, is wel verwarrend) moet alleen ingelogd worden.
- Als iemand zich inschrijft moet die niet ingelogd worden.

Codetechnisch (zonder de headers mee te rekenen, dat kan ook fout gaan) moet je het dan al zo opbouwen dat als de 1e actie waar is, dat de volgende actie niet waar is/ niet gecontroleerd wordt. if/ else if, zijn hiervoor een betere constructie.
Daarnaast is het aan te raden om een exit; te plaatsen na een header redirect. Als de header fout gaat, wil je niet dat dan alsnog de rest van het script wordt uitgevoerd.
 
Obelix Idefix

Obelix Idefix

06/10/2010 09:20:51
Quote Anchor link
Mario Braam op 06/10/2010 01:10:19:

Als iemand zich wil registreren, en hij voert daarbij de gegevens (gebruikersnaam en wachtwoord) in van een lid dat al bestaat, dan wordt hij ingelogd (als het lid dat hij invoert).
Ik heb namelijk ter controle meerdere leden geregistreerd, en bij het inschrijven met dezelfde gegevens werden al deze leden ingelogd.


Kan het zijn dat je niet controleert of gebruikersnaam al bestaat?
De kans dat iemand dezelfde gebruikersnaam _en_ wachtwoord kiest lijkt me overigens niet zo groot.
 

06/10/2010 09:23:59
Quote Anchor link
Kan je geen betere topic titel verzinnen?
Dit is niks zeggend.
 
Robert Deiman

Robert Deiman

06/10/2010 09:38:42
Quote Anchor link
Obelix en Idefix op 06/10/2010 09:20:51:
Mario Braam op 06/10/2010 01:10:19:

Als iemand zich wil registreren, en hij voert daarbij de gegevens (gebruikersnaam en wachtwoord) in van een lid dat al bestaat, dan wordt hij ingelogd (als het lid dat hij invoert).
Ik heb namelijk ter controle meerdere leden geregistreerd, en bij het inschrijven met dezelfde gegevens werden al deze leden ingelogd.


Kan het zijn dat je niet controleert of gebruikersnaam al bestaat?
De kans dat iemand dezelfde gebruikersnaam _en_ wachtwoord kiest lijkt me overigens niet zo groot.


Het grappige in zijn code is, dat de controle voor inloggen al voor het registreren staat. Als er ingelogd wordt tijdens het registreren, betekend het dat de controle niet goed is en dat de ingevoerde gebruikersnaam/ wachtwoord combinatie wordt meegegeven aan de inlogfunctie, in plaats van het registreren van de gebruiker.
Gezien het feit dat het systeem inlogt, worden de gebruikers helemaal niet aangemaakt.
 
Elio vp

Elio vp

06/10/2010 11:38:30
Quote Anchor link
Ik zou persoonlijk beginnen om register & login op te splitsen in 2 bestanden..

Dan gaat het misschien voor jezelf duidelijker zijn :-)

Je kan ze altijd includen he..

en dan heb je eveneens ook het probleem niet dat je eerst gaat controleren op login voor iemand registreert..


Succes!
 
Mario Onbekend

Mario Onbekend

06/10/2010 12:10:46
Quote Anchor link
@Noppes:
Bedankt voor je commentaar, alleen ik ben het ook eens met Robert. Je geeft commentaar, maar geen mogelijke oplossing. En dat is voor een beginner (want dat ben ik) nog best lastig. Mijn vraag staat niet voor niks in het forum.

@Robert:
Misschien is het een idee om 2 bestanden aan te maken (aanmelden.php en inschrijven.php), en dan bij de form action deze bestanden op te geven. Dan blijven meteen beide acties gescheiden denk ik.
Je geeft aan dat ik in de post moet kijken wat er in de array staat. Maar hoe moet ik dit dan doen? Ik weet namelijk niet hoe print_r, var_dump of exit werken...
En hoef ik achter de header dan alleen exit(); te plaatsen?

@Obelix en Idefix:
De kans is inderdaad heel klein. Maar de kans moet er gewoon niet zijn. Ik kan niet voorspellen wat voor wachtwoorden mijn leden kiezen, maar niet iedereen gebruikt zo'n veilig wachtwoord als ik doe.

@Karl Karl:
Geen commentaar. Reageer dan niet.

@Robert:
Dat klopt, het lid wordt dan niet aangemaakt. Eigenlijk functioneert het registratiescript een beetje als loginscript, haha. Wel handig, maar niet mijn bedoeling!

@Elio:
Dankjewel, dat ga ik doen.
 

06/10/2010 12:16:29
Quote Anchor link
Mario Braam op 06/10/2010 12:10:46:
(...)
@Karl Karl:
Geen commentaar. Reageer dan niet.
(...)


De topic titel hoort de samenvatting te zijn van het topic in één regel.
Dat is mijn commentaar. En daarom reageer ik ook.
 
Mario Onbekend

Mario Onbekend

06/10/2010 12:19:16
Quote Anchor link
Ga liever inhoudelijk in op mijn vraag zonder je te ergeren aan mijn topic titel. Dit ledenscript heeft voor mij veel waarde aangezien ik het dit keer helemaal zelf heb gemaakt! En dan is het jammer als je zulke problemen tegen komt.
 
Nicoow Unknown

Nicoow Unknown

06/10/2010 12:24:20
Quote Anchor link
Als jij word aangehouden door oom agent, dan zeg je ook, ga liever inhoudelijk in op mijn auto, in plaats van te zeuren over die 60km te hard, deze auto betekent echt veel voor me, ik heb hem helemaal zelf gekocht.

Je overtreed gewoon een regel door het gebruik van een slechte topic titel, dus daar zal je een oplossing voor moeten vinden.
En nee, vluchten is geen optie.
 
John D

John D

06/10/2010 12:29:24
Quote Anchor link
@Mario: Het is gebruikelijk dat je Topic Titel enigszins iets weergeeft dat betrekking heeft op de functionaliteit van je script en dan met name datgene dat niet werkt. Gewoon even aanpassen en niet zo arrogant over doen.
 

06/10/2010 12:57:09
Quote Anchor link
Mario Braam op 06/10/2010 12:19:16:
Ga liever inhoudelijk in op mijn vraag zonder je te ergeren aan mijn topic titel. Dit ledenscript heeft voor mij veel waarde aangezien ik het dit keer helemaal zelf heb gemaakt! En dan is het jammer als je zulke problemen tegen komt.


Oh, het is een ledenscript. Dat had ik nog niet gezien...
Zag wel dat er wat sql rommel in zat. Maar dat het ledenscript was.
Dus misschien had je als titel iets kunnen doen als 'SQL problemen ledenscript'.
Of 'Ledenscript dubbele leden'.
 
Niek s

niek s

06/10/2010 13:11:19
Quote Anchor link
if (!$_POST['aanmelden']) {

Geeft bijna altijd true. Besef je dat?
 
Robert Deiman

Robert Deiman

06/10/2010 14:09:09
Quote Anchor link
Mario Braam op 06/10/2010 12:10:46:
@Robert:
Misschien is het een idee om 2 bestanden aan te maken (aanmelden.php en inschrijven.php), en dan bij de form action deze bestanden op te geven. Dan blijven meteen beide acties gescheiden denk ik.
Je geeft aan dat ik in de post moet kijken wat er in de array staat. Maar hoe moet ik dit dan doen? Ik weet namelijk niet hoe print_r, var_dump of exit werken...
En hoef ik achter de header dan alleen exit(); te plaatsen?
Quote:
Wellicht dat http://nl.php.net/print_r of http://nl.php.net/var_dump je helpen. Maar het enige wat je hoeft te doen is dit toevoegen op de genoemde plek:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
//de echo en <pre> zijn voor een leesbare weergave
echo '<pre>' . print_r($_POST, true) . '</pre>';
exit;
?>


Het maken van 2 bestanden is een optie, maar geen moeten. Het kan prima, maar dan moet je goed weten (nagaan) wat er gebeurt, en waar je op controleert. De print_r kan je daarbij helpen.

Mario Braam op 06/10/2010 12:10:46:
@Obelix en Idefix:
De kans is inderdaad heel klein. Maar de kans moet er gewoon niet zijn. Ik kan niet voorspellen wat voor wachtwoorden mijn leden kiezen, maar niet iedereen gebruikt zo'n veilig wachtwoord als ik doe.
Quote:
In principe moet je afdwingen (unique kolom in MySQL) dat een gebruikersnaam maar 1 maal kan voorkomen. Dat het wachtwoord bij sommige mensen overeenkomt, is dan weer geen probleem.

Mario Braam op 06/10/2010 12:10:46:
@Robert:
Dat klopt, het lid wordt dan niet aangemaakt. Eigenlijk functioneert het registratiescript een beetje als loginscript, haha. Wel handig, maar niet mijn bedoeling!

Nee, dat klopt. Daarom moet je ook goed weten wat je controleert. 2 bestanden is leuk, maar niet meteen nodig. De controle kan prima in 1 bestand, als je maar weet wat je doet.
 



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.