Wachtwoord werkt alleen met cijfers.
Omdat ik in de ontwikkelingsfase zit, wil ik het wachtwoord nog niet versleutelen, dat komt als alles draait.
Wat mij opvalt is dat het wachtwoord gedeelte uitsluitend met getallen werkt.
In de database staat het wachtwoord op varchar(20).
zodra er een letter inzit krijg ik: Fout opgetreden in query.
VALUES
(
NOW(),
$wachtwoord,
'".mysql_real_escape_string($email)."'
)
";
Waar maak ik een fout?
Edit:
Waarom wil je eerst zonder md5 doen? Zo moeilijk is dat niet. je slaat hem op als MD5 en selecteerd hem als MD5, Paar letters extra kost het.
Waarom wil je eerst zonder md5 doen? Zo moeilijk is dat niet. je slaat hem op als MD5 en selecteerd hem als MD5, Paar letters extra kost het.
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
Als ik onder $alfa ook letters zet werkt de query niet.
Met alleen cijfers, zoals nu werkt het prima.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
$password_length = 6;
function make_seed() {
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
$alfa = "1234567890";
$wachtwoord = "";
for($i = 0; $i < $password_length; $i ++) {
$wachtwoord .= $alfa[rand(0, strlen($alfa))];
}
echo $email."<br><br>";
echo $wachtwoord."<br><br>";
$password_length = 6;
function make_seed() {
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
$alfa = "1234567890";
$wachtwoord = "";
for($i = 0; $i < $password_length; $i ++) {
$wachtwoord .= $alfa[rand(0, strlen($alfa))];
}
echo $email."<br><br>";
echo $wachtwoord."<br><br>";
vergeet in case van md5() niet eventjes VARCHAR(32) te doen.
Goeie tip, dat bespaart me straks weer hoofdbrekens.
Edit: Als het dus alleen cijfers zijn gaat het goed omdat dat een getal is en een getal hoeft niet tussen quotes. Waarschijnlijk heb je geen foutafhandeling in je script. Zorg daar dus voor.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Met dubbele ook niet.
include_once('db_vars.inc');
$wachtwoord = $_POST['wachtwoord'];
$query = "SELECT * FROM Leden WHERE wachtwoord = '$wachtwoord' ";
$result = mysql_query($query)
or die ("Couldn't execute query.");
while ($rij = mysql_fetch_array($result))
{
$_POST["titel"]=$rij["titel"];
$_POST["eigennaam"]=$rij["eigennaam"];
$_POST["bedrijfsnaam"]=$rij["bedrijfsnaam"];
$_POST["adres"]=$rij["adres"];
Helaas '".$wachtwoord."' geeft dezelfde foutmelding.
Ik neem aan dat je eerste jouw INSERT query in een variabel stopt? Echo die variabel eens, om te zien hoe uiteindelijk de query wordt.
Hier verschijnt het wachtwoord normaal in de lijst.
Het is dus deze query die niet werkt als er letters in het wachtwoord staan.
Let even op de laatste regel.
Code (php)
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
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
<?php
include_once('db_vars.inc');
mysql_query("UPDATE `Leden` SET
`foto` = '".$_POST['foto']."',
`logo` = '".$_POST['logo']."',
`titel` = '".$_POST['titel']."',
`eigennaam` = '".$_POST['eigennaam']."',
`bedrijfsnaam` = '".$_POST['bedrijfsnaam']."',
`postcode` = '".$_POST['postcode']."',
`pc1` = '".$_POST['pc1']."',
`provincie` = '".$_POST['provincie']."',
`plaats` = '".$_POST['plaats']."',
`adres` = '".$_POST['adres']."',
`url` = '".$_POST['url']."',
`telefoon` = '".$_POST['telefoon']."',
`mobiel` = '".$_POST['mobiel']."',
`btw` = '".$_POST['btw']."',
`kvk` = '".$_POST['kvk']."',
`soort` = '".$_POST['soort']."',
`specialisme` = '".$_POST['specialisme']."',
`branche` = '".$_POST['branche']."',
`diplomas` = '".$_POST['diplomas']."',
`erkenning` = '".$_POST['erkenning']."',
`omschrijving` = '".$_POST['omschrijving']."',
`tarief` = '".$_POST['tarief']."',
`tijd` = '".$_POST['tijd']."',
`beheerder` = '".$_POST['beheerder']."',
`email` = '".$_POST['email']."'
WHERE wachtwoord = ".$_POST['wachtwoord']."") or die(mysql_error());
?>
include_once('db_vars.inc');
mysql_query("UPDATE `Leden` SET
`foto` = '".$_POST['foto']."',
`logo` = '".$_POST['logo']."',
`titel` = '".$_POST['titel']."',
`eigennaam` = '".$_POST['eigennaam']."',
`bedrijfsnaam` = '".$_POST['bedrijfsnaam']."',
`postcode` = '".$_POST['postcode']."',
`pc1` = '".$_POST['pc1']."',
`provincie` = '".$_POST['provincie']."',
`plaats` = '".$_POST['plaats']."',
`adres` = '".$_POST['adres']."',
`url` = '".$_POST['url']."',
`telefoon` = '".$_POST['telefoon']."',
`mobiel` = '".$_POST['mobiel']."',
`btw` = '".$_POST['btw']."',
`kvk` = '".$_POST['kvk']."',
`soort` = '".$_POST['soort']."',
`specialisme` = '".$_POST['specialisme']."',
`branche` = '".$_POST['branche']."',
`diplomas` = '".$_POST['diplomas']."',
`erkenning` = '".$_POST['erkenning']."',
`omschrijving` = '".$_POST['omschrijving']."',
`tarief` = '".$_POST['tarief']."',
`tijd` = '".$_POST['tijd']."',
`beheerder` = '".$_POST['beheerder']."',
`email` = '".$_POST['email']."'
WHERE wachtwoord = ".$_POST['wachtwoord']."") or die(mysql_error());
?>
Je hebt nog steeds je database gegevens in een .inc bestand, Als iemand die pagina opent kan hij gewoon je wachtwoorden lezen..
Het staat op de to do lijst.
Hoe moet je dat doen dan?
Dit is de foutmelding die ik niet heb als er alleen cijfers inzitten.
Unknown column 'prxx0t' in 'where clause'
Gewijzigd op 01/01/1970 01:00:00 door Willem van Dreumel
Lol ja dat was me niet opgevallen, doe dit inderdaad maar ja.
Is het niet handig om eerst even een beginners handleiding te volgen en wat tutorials?
Ga een weekje intensief oefenen en je zal een stuk wijzer worden hoe het in elkaar zit.
=> http://www.phphulp.nl/php/tutorials/8/575/
=> http://www.phphulp.nl/php/tutorials/
Op deze site dus ook niet?
Ik neem aan dat een master alle beginnersliteratuur gelezen heeft, toch?
Dan moet een antwoord niet zo moeilijk zijn.
Ik heb drie perfect werkende professionele sites. dit is een speciaal geval en
de naam PHP HULP gaf mij moed.
Sterker nog PHP Hulp... Your Source houdt een belofte in.
Gewijzigd op 01/01/1970 01:00:00 door Willem van Dreumel
Nu hoef je niet gelijk in de verdediging te springen. Natuurlijk zijn we hier om mensen te helpen, en allemaal vrijwillig. Je zegt zelf dat je 3 perfecte sites hebt. Maar aan je code te zien lijkt het niet perfect...
Ik adviseer je gewoon om wat dingen te lezen, Je moet zelf weten wat je ermee doet.
Als ik zeg, Doe eens wat aan je SQL injection gevoelige code, Snap je dan wat ik bedoel? Of als ik zeg, Maak eens een foutenafhandeling van je query's, Snap je dat?
Je moet niet gelijk denken als mensen je iets adviseren dat ze je niet willen helpen. 99,9% hier op het forum heeft het beste voor met de mensen.
Je zegt zelf ook, Ik wil het wachtwoord nog niet opslaan als md5, Vind je zelf dat de juiste werkwijze?, Weet je Überhaubt hoe je md5 moet gebruiken?
Hopelijk begrijp je wat ik bedoel en snap je dat ik je niet aanval maar probeer te helpen.
Prachtig wat jullie proberen te doen, maar jullie kunnen natuurlijk ook niet alles weten.
Mijn visie is: Een kerstboom heeft een stam en takken. pas als die staat hang je er de kerstballen in.
Compliment voor de snelle respons, ik zoek zelf wel verder.