HULP nodig
hey ik heb dus dat dealerscript bij anouksweb, ik heb al veel foutn ontdekt maar als ik dan wil inloggen vernieuwd hij de pagina heb me aub hier is de code
<?
session_start();
$mysql_server = "localhost";//mysql server
$mysql_pass = "xxx";//wachtwoord
$mysql_login = "xxx";//gebruikersnaam
$mysql_database = "xxx";//database
$mysql_conn = mysql_connect ("$mysql_server", "$mysql_login", "$mysql_pass");
mysql_select_db("$mysql_database");
if($_POST["submit"]){
$query = mysql_query("SELECT * FROM users WHERE username = '". $_post["gb"] . "' AND pass = '". $_post["ww"] . "'");
$result = mysql_num_rows($query);
if(!$result){
header('Location: inloggen.php?gb=' . $_post["gb"]);
}
else{
while($object = mysql_fetch_object($_post["query"])){
$memberid = $object->id;
}
session_register('memberid');
header("Location: index.php?id=" . $_post["id"]);
}
}
?>
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
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
<?
session_start();
$mysql_server = "localhost";//mysql server
$mysql_pass = "xxx";//wachtwoord
$mysql_login = "xxx";//gebruikersnaam
$mysql_database = "xxx";//database
$mysql_conn = mysql_connect ("$mysql_server", "$mysql_login", "$mysql_pass");
mysql_select_db("$mysql_database");
if($_POST["submit"]){
$query = mysql_query("SELECT * FROM users WHERE username = '". $_post["gb"] . "' AND pass = '". $_post["ww"] . "'");
$result = mysql_num_rows($query);
if(!$result){
header('Location: inloggen.php?gb=' . $_post["gb"]);
}
else{
while($object = mysql_fetch_object($_post["query"])){
$memberid = $object->id;
}
session_register('memberid');
header("Location: index.php?id=" . $_post["id"]);
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Kevin vdm
Je doet:
$result = mysql_num_rows();
Hier komt een integer uit voort.
Dan ga jij het controleren dmv een booleanse waarde.
Zo werkt dat niet..
En waarschijnlijk, omdat php een "quick and dirty" taaltje is accepteert hij dat.
Dit omdat hij 1 ook als True ziet.
Maar daar zit je fout dus.
$result = mysql_num_rows();
Hier komt een integer uit voort.
Dan ga jij het controleren dmv een booleanse waarde.
Zo werkt dat niet..
En waarschijnlijk, omdat php een "quick and dirty" taaltje is accepteert hij dat.
Dit omdat hij 1 ook als True ziet.
Maar daar zit je fout dus.
Gewijzigd op 01/01/1970 01:00:00 door Danny K
De functie session_register() is nog van voor de oorlog, pas dat eens aan.
Verder zou het kunnen zijn dat jouw query mislukt, maar de foutmelding zet jij nergens op het scherm. Zo kun je dus niet debuggen.
Je doet trouwens niets aan beveiliging, inloggen zonder de juiste gegevens is nu gewoon mogelijk. Gebruik bij COOKIE, GET en POST altijd de functie mysql_real_escape_string() om SQL-injection tegen te gaan. (zie Google)
Verder zou het kunnen zijn dat jouw query mislukt, maar de foutmelding zet jij nergens op het scherm. Zo kun je dus niet debuggen.
Je doet trouwens niets aan beveiliging, inloggen zonder de juiste gegevens is nu gewoon mogelijk. Gebruik bij COOKIE, GET en POST altijd de functie mysql_real_escape_string() om SQL-injection tegen te gaan. (zie Google)
Duidelijke topic titel trouwens. 99% van de mensen die hier post heeft hulp nodig.
door wat moet ik session_register() vervangen? of kan je de code even verbeteren?
Gewijzigd op 01/01/1970 01:00:00 door kevin vdm
het werkt nog altijd niet.
de site is http://www.fyver.nationvoice.com/dealer/
passw=test
user=test
wat zou er fout zijn?dat hij alleen maar vernieuwd?
de site is http://www.fyver.nationvoice.com/dealer/
passw=test
user=test
wat zou er fout zijn?dat hij alleen maar vernieuwd?
nou lijkt me duidelijk:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'fyvernat_dealer'@'localhost' (using password: YES) in /home/fyvernat/public_html/dealer/include.php on line 29
I cannot connect to the database because: Access denied for user 'fyvernat_dealer'@'localhost' (using password: YES)
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'fyvernat_dealer'@'localhost' (using password: YES) in /home/fyvernat/public_html/dealer/include.php on line 29
I cannot connect to the database because: Access denied for user 'fyvernat_dealer'@'localhost' (using password: YES)
het lijntje 29 is $mysql_conn = mysql_connect ("$mysql_server", "$mysql_login", "$mysql_pass");
mysql_select_db("$mysql_database"); en daat is niets mis mee het is gewoon dat vreienwen en vnwar haal jij die foutmelding?
mysql_select_db("$mysql_database"); en daat is niets mis mee het is gewoon dat vreienwen en vnwar haal jij die foutmelding?
'kevin:
vreienwen en vnwar
Nederlands?
Waarom staan al die $vars tussen quotes?
En $_POST is niet hetzelfde als $_post.
ow daar zal men fout dan zitten en sorry ik zal in het vervolg mooi nl typen.
ok die fout is opgelost maar nu krijg ik
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/fyvernat/public_html/dealer/inloggen1.php on line 19
Warning: session_register(): Cannot send session cache limiter - headers already sent (output started at /home/fyvernat/public_html/dealer/inloggen1.php:19) in /home/fyvernat/public_html/dealer/inloggen1.php on line 22
Warning: Cannot modify header information - headers already sent by (output started at /home/fyvernat/public_html/dealer/inloggen1.php:19) in /home/fyvernat/public_html/dealer/inloggen1.php on line 23
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/fyvernat/public_html/dealer/inloggen1.php on line 19
Warning: session_register(): Cannot send session cache limiter - headers already sent (output started at /home/fyvernat/public_html/dealer/inloggen1.php:19) in /home/fyvernat/public_html/dealer/inloggen1.php on line 22
Warning: Cannot modify header information - headers already sent by (output started at /home/fyvernat/public_html/dealer/inloggen1.php:19) in /home/fyvernat/public_html/dealer/inloggen1.php on line 23
Is de query wel gelukt? Dat moet je checken.
'SanThe:
ik ben nog maar een beginner hoe doe ik dat?Is de query wel gelukt? Dat moet je checken.
Niet de allermooiste manier, maar er zit een check in. Verder een beetje de vreemde 'dingen' aangepast.
Edit: Uiteraard de session-gegevens checken voordat je iemand op beveiligde pagina's laat komen. De id=... in de url kan iedereen simpel wijzigen dus dat heeft verder niks met beveiligen te maken. Dat kan waarschijnlijk zelfs weg.
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
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
session_start();
$mysql_server = "localhost";//mysql server
$mysql_pass = "xxx";//wachtwoord
$mysql_login = "xxx";//gebruikersnaam
$mysql_database = "xxx";//database
mysql_connect ($mysql_server, $mysql_login, $mysql_pass) or die("Kan geen databaseverbinding maken");
mysql_select_db($mysql_database) or die("Kan geen database selecteren");
if($_POST['submit'])
{
$query = "SELECT *
FROM users
WHERE username = '" . $_POST['gb'] . "'
AND pass = '" . $_POST['ww'] . "'";
$result = mysql_query($query) or die("Query is mislukt");
if(mysql_num_rows($result) == 0)
{
header('Location: inloggen.php?gb=' . $_POST['gb']);
}
else
{
$object = mysql_fetch_object($result);
$memberid = $object->id;
$_SESSION['memberid') = $memberid;
header('Location: index.php?id=' . $memberid);
}
}
?>
session_start();
$mysql_server = "localhost";//mysql server
$mysql_pass = "xxx";//wachtwoord
$mysql_login = "xxx";//gebruikersnaam
$mysql_database = "xxx";//database
mysql_connect ($mysql_server, $mysql_login, $mysql_pass) or die("Kan geen databaseverbinding maken");
mysql_select_db($mysql_database) or die("Kan geen database selecteren");
if($_POST['submit'])
{
$query = "SELECT *
FROM users
WHERE username = '" . $_POST['gb'] . "'
AND pass = '" . $_POST['ww'] . "'";
$result = mysql_query($query) or die("Query is mislukt");
if(mysql_num_rows($result) == 0)
{
header('Location: inloggen.php?gb=' . $_POST['gb']);
}
else
{
$object = mysql_fetch_object($result);
$memberid = $object->id;
$_SESSION['memberid') = $memberid;
header('Location: index.php?id=' . $memberid);
}
}
?>
Edit: Uiteraard de session-gegevens checken voordat je iemand op beveiligde pagina's laat komen. De id=... in de url kan iedereen simpel wijzigen dus dat heeft verder niks met beveiligen te maken. Dat kan waarschijnlijk zelfs weg.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
ok bedankt! ik probeer het metteen!
kzalt later proberen men domme host is nu offline.
ok gelukt ik ben ingelogt maar nu toont hij niets meer van de stats hier is het stats script
en dit is het admin panel:
<form method='GET' action='admin.php'>
<input type="hidden" name="submit" value="1">
Gebruikersnaam:<br><input type='text' name='gebruikersnaam'><br>
Wachtwoord:<br><input type='password' name='wachtwoord'><br>
<input type='submit' value='Inloggen'></form>
<form method="get" action="admin.php">
<input type="hidden" name="do" value="extra">
<input type="hidden" name="pid" value="">
Geef deze user extra geld: <input type="text" name="extra" size="6"> <input type="submit" value="Stort"></form>
daar krijg ik alleen de gebruikersnaam en e-mail en credits bij te zien
Alvast bedankt
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
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
<?session_start();
include('include.php');
head();
if(!session_is_registered('memberid')){
echo"U moet ingelogd zijn om uw stats te bekijken!";
}
else{
$query=mysql_query("SELECT * FROM users WHERE id='$memberid'");
while($object=mysql_fetch_object($query)){
echo"<table border=\"0\" width=\"50%\"><tr><td>";
echo"Uw url hosting te verkopen is: <input type=text size='40' value=\"http://www.fyver.nationvoice.com/dealer/koop.php?id=".$memberid."\"><br>";
echo"U heeft al <b>���".$object->euro."</b> verdient.<br>";
echo"U heeft <b>".$object->glaasjes." hosting accounts</b> verkocht.<br>";
if($object->ref){
$query_referer=mysql_query("SELECT username FROM users WHERE id='$object->ref'");
while($object_referer=mysql_fetch_object($query_referer)){
echo"Uw referer is <b>".$object_referer->username."</b>.<br>";
}
}
else{echo"U heeft <b>geen</b> referer.<br>";}
$query_ref=mysql_query("SELECT * FROM users WHERE ref='$memberid'");
$referalls=mysql_num_rows($query_ref);
echo"U heeft <b>".$referalls." referalls</b>.<br>Uw ref's zijn:<br>";
while($object_ref = mysql_fetch_object($query_ref)){
echo$object_ref->username."<br>";
}
echo"</tr></td></table>";
}
}
foot();
?>
include('include.php');
head();
if(!session_is_registered('memberid')){
echo"U moet ingelogd zijn om uw stats te bekijken!";
}
else{
$query=mysql_query("SELECT * FROM users WHERE id='$memberid'");
while($object=mysql_fetch_object($query)){
echo"<table border=\"0\" width=\"50%\"><tr><td>";
echo"Uw url hosting te verkopen is: <input type=text size='40' value=\"http://www.fyver.nationvoice.com/dealer/koop.php?id=".$memberid."\"><br>";
echo"U heeft al <b>���".$object->euro."</b> verdient.<br>";
echo"U heeft <b>".$object->glaasjes." hosting accounts</b> verkocht.<br>";
if($object->ref){
$query_referer=mysql_query("SELECT username FROM users WHERE id='$object->ref'");
while($object_referer=mysql_fetch_object($query_referer)){
echo"Uw referer is <b>".$object_referer->username."</b>.<br>";
}
}
else{echo"U heeft <b>geen</b> referer.<br>";}
$query_ref=mysql_query("SELECT * FROM users WHERE ref='$memberid'");
$referalls=mysql_num_rows($query_ref);
echo"U heeft <b>".$referalls." referalls</b>.<br>Uw ref's zijn:<br>";
while($object_ref = mysql_fetch_object($query_ref)){
echo$object_ref->username."<br>";
}
echo"</tr></td></table>";
}
}
foot();
?>
en dit is het admin panel:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?
session_start();
include('include.php');
if(!session_is_registered('admin')){
if(!$_GET['submit']){
?>
session_start();
include('include.php');
if(!session_is_registered('admin')){
if(!$_GET['submit']){
?>
<form method='GET' action='admin.php'>
<input type="hidden" name="submit" value="1">
Gebruikersnaam:<br><input type='text' name='gebruikersnaam'><br>
Wachtwoord:<br><input type='password' name='wachtwoord'><br>
<input type='submit' value='Inloggen'></form>
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
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
<?
}
else{
if($_GET['gebruikersnaam'] == $gb AND $_GET['wachtwoord'] == $ww){
$admin=1;
session_register('admin');
echo"<META HTTP-EQUIV=Refresh CONTENT='0; URL=admin.php'>";
}
else{
echo"Gebruikersnaam en/of Wachtwoord verkeerd.";
}
}
}
else{
if(!$_GET["pid"] AND !$_GET["del"] AND !$_GET["do"]){
$query = mysql_query("SELECT * FROM users ORDER BY username DESC");
echo"<table>";
while($object=mysql_fetch_object($query)){
echo"<tr><td><a href='?pid=".$object->id."'>".$object->username."</a></td><td><a href='mailto:".$object->email."'>".$object->email."</a></td><td>[€".$object->euro."]</td></tr>";
}
echo"</table>";
}
elseif(!$_GET["del"] AND $_GET["pid"] AND !$_GET["do"]){
$query = mysql_query("SELECT * FROM kopers WHERE verkoperid = '$_GET[pid]'");
echo"<a href='?'>Terug</a><br><a href='?do=del&pid=".$_GET['pid']."'>Verwijder deze user.</a><hr>";
?>
}
else{
if($_GET['gebruikersnaam'] == $gb AND $_GET['wachtwoord'] == $ww){
$admin=1;
session_register('admin');
echo"<META HTTP-EQUIV=Refresh CONTENT='0; URL=admin.php'>";
}
else{
echo"Gebruikersnaam en/of Wachtwoord verkeerd.";
}
}
}
else{
if(!$_GET["pid"] AND !$_GET["del"] AND !$_GET["do"]){
$query = mysql_query("SELECT * FROM users ORDER BY username DESC");
echo"<table>";
while($object=mysql_fetch_object($query)){
echo"<tr><td><a href='?pid=".$object->id."'>".$object->username."</a></td><td><a href='mailto:".$object->email."'>".$object->email."</a></td><td>[€".$object->euro."]</td></tr>";
}
echo"</table>";
}
elseif(!$_GET["del"] AND $_GET["pid"] AND !$_GET["do"]){
$query = mysql_query("SELECT * FROM kopers WHERE verkoperid = '$_GET[pid]'");
echo"<a href='?'>Terug</a><br><a href='?do=del&pid=".$_GET['pid']."'>Verwijder deze user.</a><hr>";
?>
<form method="get" action="admin.php">
<input type="hidden" name="do" value="extra">
<input type="hidden" name="pid" value="">
Geef deze user extra geld: <input type="text" name="extra" size="6"> <input type="submit" value="Stort"></form>
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
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
<?
echo"Hieronder ziet u de urls vanwaar de inhits gekomen zijn.<br>";
while($object = mysql_fetch_object($query)){
if(!$object->url){
echo"<a href='?del=".$object->id."&pid=".$_GET['pid']."'>Onbekende url</a><br>";
}
else{
echo"<a href='?del=".$object->id."&pid=".$_GET['pid']."'>".$object->url."</a><br>";
}
}
}
elseif($_GET["del"] AND $_GET["pid"]){
mysql_query("DELETE FROM kopers WHERE id = '$_GET[del]'");
mysql_query("UPDATE users SET euro = euro - 100, glaasjes = glaasjes - 1 WHERE id = '$_GET[pid]'");
echo"Gegevens bij gewerkt.<br><a href='javascript:history.back();'>Terug</a>";
}
elseif($_GET["do"] == 'del' AND $_GET["pid"]){
mysql_query("DELETE FROM users WHERE id = '$_GET[pid]'");
mysql_query("DELETE FROM kopers WHERE verkoperid = '$_GET[pid]'");
echo"Gegevens bij gewerkt.<br><a href='javascript:history.back(-2);'>Terug</a>";
}
elseif($_GET['do'] == 'extra'){
mysql_query("UPDATE users SET euro = euro + $_GET[extra] WHERE id = $_GET[pid]");
echo"Gegevens bij gewerkt.<br><a href='javascript:history.back(-2);'>Terug</a>";
}
else{
echo"Foutje";
}
}
?>
echo"Hieronder ziet u de urls vanwaar de inhits gekomen zijn.<br>";
while($object = mysql_fetch_object($query)){
if(!$object->url){
echo"<a href='?del=".$object->id."&pid=".$_GET['pid']."'>Onbekende url</a><br>";
}
else{
echo"<a href='?del=".$object->id."&pid=".$_GET['pid']."'>".$object->url."</a><br>";
}
}
}
elseif($_GET["del"] AND $_GET["pid"]){
mysql_query("DELETE FROM kopers WHERE id = '$_GET[del]'");
mysql_query("UPDATE users SET euro = euro - 100, glaasjes = glaasjes - 1 WHERE id = '$_GET[pid]'");
echo"Gegevens bij gewerkt.<br><a href='javascript:history.back();'>Terug</a>";
}
elseif($_GET["do"] == 'del' AND $_GET["pid"]){
mysql_query("DELETE FROM users WHERE id = '$_GET[pid]'");
mysql_query("DELETE FROM kopers WHERE verkoperid = '$_GET[pid]'");
echo"Gegevens bij gewerkt.<br><a href='javascript:history.back(-2);'>Terug</a>";
}
elseif($_GET['do'] == 'extra'){
mysql_query("UPDATE users SET euro = euro + $_GET[extra] WHERE id = $_GET[pid]");
echo"Gegevens bij gewerkt.<br><a href='javascript:history.back(-2);'>Terug</a>";
}
else{
echo"Foutje";
}
}
?>
daar krijg ik alleen de gebruikersnaam en e-mail en credits bij te zien
Alvast bedankt
Gewijzigd op 01/01/1970 01:00:00 door kevin vdm
session_is_registered en session_register eruit halen en vervangen door $_SESSION['.........']. Zie in mijn voorbeeldscript.
!$_SESSION['memberid'])
Gewijzigd op 01/01/1970 01:00:00 door kevin vdm
Je kunt $_SESSION behandelen als een gewone $var dus:
if(!isset($_SESSION['memberid']))
if(!isset($_SESSION['memberid']))




