PHP handel scriptje

Gestart doorRiick11 reacties68 weergaven

12 berichten · pagina 1 van 1

Riick

Lid · Topicstarter

Berichten
3.425
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hoi,

Ik heb hier het handels script uit mijn GLS genomen.
Ik wil deze zo ombouwen naar dat Whear.net clone script.
Nu geeft het script aan wanneer ik wil handelen dat de gebruiker niet bestaat.
Ik heb het volgende al gedaan aan dit script:

mysql_query veranderd naar DB::Query
mysql_fetch_array veranderd naar DB:aahetch
mysql_real_escape_string veranderd naar DB::Escape

Wat moet ik nu doen?

Alvast heel erg bedankt!
Rick.

Codeblok (handelen.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
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108



include("includes/inc.bootstrap.php");
$page[name] = "Handelen";
include("templates/header.php");
?>

Handelen BETA


LETOP: Handelen werkt nog niet!

Aangezien onze leden af en toe dingen aanbieden en kopen kun je met andere leden handelen.

Het handelen is geheel op eigen risico, en GamersCash is niet aansprakelijk voor fraude/oplichting of andere dingen.

Als je de punten eenmaal hebt verzonden is het jou verantwoordelijkheid.


if(is_auth(1, $_SESSION[uId]))
{

if($_SERVER[REQUEST_METHOD] == POST)
{

$_POST[aantal] = str_replace(,, ., $_POST[aantal]);
if(empty($_POST[gebruikersnaam]) || empty($_POST[aantal]) || empty($_POST[omschrijving]))
{

$arrFout[] = Je hebt niet alle velden ingevuld;
}

elseif($_POST[accept] != 1)
{

$arrFout[] = Jij bent niet akkoord gegaan;
}

elseif(stristr($_POST[aantal], -) || !is_numeric($_POST[aantal]))
{

$arrFout[] = Vul een (positief) getal in;
}

else
{
$Query = DB::Query("SELECT uId FROM member_accounts WHERE uName = " . DB::Escape($_POST[gebruikersnaam]) . "");
if(mysql_num_rows($Query) == 0)
{

$arrFout[] = De gebruiker bestaat niet;
}


$UserFetch = DB::Fetch(DB::Query("SELECT uCoins, uName FROM member_accounts WHERE uId =" . $_SESSION[uId]));
if($UserFetch[uCoins] < $_POST[aantal])
{

$arrFout[] = U heeft niet genoeg punten;
}
}


if(!empty($arrFout))
{

echo
Er
. (count($arrFout) > 1 ? zijn meerdere fouten : is een fout) . gevonden:
;
foreach($arrFout as $val){
echo $val .
;
}

echo
;
}

else
{
echo
Je hebt
. $_POST[aantal] . punten overgemaakt naar . htmlentities($_POST[gebruikersnaam], ENT_QUOTES) . !;
DB::Query("UPDATE member_accounts SET uCoins = uCoins +" . $_POST[aantal] . " WHERE uName = " . DB::Escape($_POST[gebruikersnaam]) . "") or die(mysql_error());
DB::Query("UPDATE member_accounts SET uCoins = uCoins -" . $_POST[aantal] . " WHERE uId = " . $_SESSION[uId]) or die(mysql_error());
DB::Query("INSERT INTO member_messages (MesBy, MesFor, MesText, MesTitle, MesDate) VALUES (0, " . mysql_result($Query, 0) . ", Beste,

"
. ucfirst(strtolower(DB::Escape($UserFetch[uName]))) . " heeft " . $_POST[aantal] . " punten overgemaakt.
De reden die daarvoor was opgegeven is als volgt:

"
. DB::Escape($_POST[omschrijving]) . "

~ Het Bestuur, Je hebt punten ontvangen, NOW())"
) or trigger_error(mysql_error());
}
}

?>



}
else
{

}

?>
include("templates/footer.php"); ?>
0
Berichten
4.451
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
en wat zijn je tabellen bij het whear.net script van de gebruikers?
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Gebruik gewoon $mysqli
0
Riick

Lid · Topicstarter

Berichten
3.425
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bartv schreef:
en wat zijn je tabellen bij het whear.net script van de gebruikers?
De t
Bartv schreef:
en wat zijn je tabellen bij het whear.net script van de gebruikers?
De tabellen staan wel goed, namelijk member_accounts en uName.

toevoeging op 13 augustus 2013, 14:44:47:
Dylanh schreef:
Gebruik gewoon $mysqli
Hoe bedoel je?
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
$mysqli = new mysqli(host, geb,pass,db);

$mysqli->query("SELECT * FROM leden WHERE dit = dat");
0
Berichten
4.451
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Riick schreef:
Eerdere citaten tonen
Bartv schreef:
en wat zijn je tabellen bij het whear.net script van de gebruikers?
De t
Eerdere citaten tonen
Bartv schreef:
en wat zijn je tabellen bij het whear.net script van de gebruikers?
De tabellen staan wel goed, namelijk member_accounts en uName.

toevoeging op 13 augustus 2013, 14:44:47:
Eerdere citaten tonen
Dylanh schreef:
Gebruik gewoon $mysqli
Hoe bedoel je?
Of je tabellen staan niet goed of de DB::Query en DB::Escape zijn niet goed gemaakt,
Zoals Dylanh zegt, gebruik gewoon mysqli

Of je moet iets van DB::Rows/DB::num_rows hebben fzo
0
Riick

Lid · Topicstarter

Berichten
3.425
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik heb de mysql_num_rows veranderd in DB::NumRows, dit heeft gewerkt en punten kunnen overgemaakt worden.

Nu zit ik met deze error:

Quote:
Je hebt 100 punten overgemaakt naar ****!
De query kon niet worden uitgevoerd!
Query: INSERT INTO member_messages (MesBy, MesFor, MesText, MesTitle, MesDate) VALUES (0, , Beste, Rick heeft 100 punten overgemaakt. De reden die daarvoor was opgegeven is als volgt: Testje ~ Het Bestuur, Je hebt punten ontvangen, NOW())
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near Beste, Rick heeft 100 punten overgemaakt. De reden die daarvoor was opgegev at line 1
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Riick schreef:
Ik heb de mysql_num_rows veranderd in DB::NumRows, dit heeft gewerkt en punten kunnen overgemaakt worden.

Nu zit ik met deze error:
Quote:
Je hebt 100 punten overgemaakt naar ****!
De query kon niet worden uitgevoerd!
Query: INSERT INTO member_messages (MesBy, MesFor, MesText, MesTitle, MesDate) VALUES (0, , Beste, Rick heeft 100 punten overgemaakt. De reden die daarvoor was opgegeven is als volgt: Testje ~ Het Bestuur, Je hebt punten ontvangen, NOW())
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near Beste, Rick heeft 100 punten overgemaakt. De reden die daarvoor was opgegev at line 1

Check je query, je hebt 2x , ,
0
Riick

Lid · Topicstarter

Berichten
3.425
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dylanh schreef:
Eerdere citaten tonen
Riick schreef:
Ik heb de mysql_num_rows veranderd in DB::NumRows, dit heeft gewerkt en punten kunnen overgemaakt worden.
Nu zit ik met deze error:

Quote:
Je hebt 100 punten overgemaakt naar ****!
De query kon niet worden uitgevoerd!
Query: INSERT INTO member_messages (MesBy, MesFor, MesText, MesTitle, MesDate) VALUES (0, , Beste, Rick heeft 100 punten overgemaakt. De reden die daarvoor was opgegeven is als volgt: Testje ~ Het Bestuur, Je hebt punten ontvangen, NOW())
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near Beste, Rick heeft 100 punten overgemaakt. De reden die daarvoor was opgegev at line 1
Check je query, je hebt 2x , ,

De query is:

Codeblok (voorbeeld.php):

1

DB::Query("INSERT INTO member_messages (MesBy, MesFor, MesText, MesTitle, MesDate) VALUES (0, " . mysql_result($Query, 0) . ", Beste,nn " . ucfirst(strtolower(DB::Escape($UserFetch[uName]))) . " heeft " . $_POST[aantal] . " punten overgemaakt. nDe reden die daarvoor was opgegeven is als volgt:nn " . DB::Escape($_POST[omschrijving]) . "nn~ Het Bestuur, Je hebt punten ontvangen, NOW())") or trigger_error(mysql_error());

toevoeging op 13 augustus 2013, 151827:
Zoals je ziet zit er geen dubbele comma in.
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Riick schreef:
Eerdere citaten tonen
Dylanh schreef:
Eerdere citaten tonen
Riick schreef:
Ik heb de mysql_num_rows veranderd in DB::NumRows, dit heeft gewerkt en punten kunnen overgemaakt worden.
Nu zit ik met deze error:

Quote:
Je hebt 100 punten overgemaakt naar ****!
De query kon niet worden uitgevoerd!
Query: INSERT INTO member_messages (MesBy, MesFor, MesText, MesTitle, MesDate) VALUES (0, , Beste, Rick heeft 100 punten overgemaakt. De reden die daarvoor was opgegeven is als volgt: Testje ~ Het Bestuur, Je hebt punten ontvangen, NOW())
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near Beste, Rick heeft 100 punten overgemaakt. De reden die daarvoor was opgegev at line 1
Check je query, je hebt 2x , ,
De query is:

Codeblok (voorbeeld.php):

1

DB::Query("INSERT INTO member_messages (MesBy, MesFor, MesText, MesTitle, MesDate) VALUES (0, " . mysql_result($Query, 0) . ", Beste,nn " . ucfirst(strtolower(DB::Escape($UserFetch[uName]))) . " heeft " . $_POST[aantal] . " punten overgemaakt. nDe reden die daarvoor was opgegeven is als volgt:nn " . DB::Escape($_POST[omschrijving]) . "nn~ Het Bestuur, Je hebt punten ontvangen, NOW())") or trigger_error(mysql_error());

Gebruik geen php functies (behalve escapen) in je Query, stop alles in een var. Je escape $_POST[aantal] niet. Stop dat bericht ook in een var
0
Riick

Lid · Topicstarter

Berichten
3.425
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dylanh schreef:
Eerdere citaten tonen
Riick schreef:
Eerdere citaten tonen
Dylanh schreef:
Eerdere citaten tonen
Riick schreef:
Ik heb de mysql_num_rows veranderd in DB::NumRows, dit heeft gewerkt en punten kunnen overgemaakt worden.
Nu zit ik met deze error:

Quote:
Je hebt 100 punten overgemaakt naar ****!
De query kon niet worden uitgevoerd!
Query: INSERT INTO member_messages (MesBy, MesFor, MesText, MesTitle, MesDate) VALUES (0, , Beste, Rick heeft 100 punten overgemaakt. De reden die daarvoor was opgegeven is als volgt: Testje ~ Het Bestuur, Je hebt punten ontvangen, NOW())
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near Beste, Rick heeft 100 punten overgemaakt. De reden die daarvoor was opgegev at line 1
Check je query, je hebt 2x , ,
De query is:

Codeblok (voorbeeld.php):
1

DB::Query("INSERT INTO member_messages (MesBy, MesFor, MesText, MesTitle, MesDate) VALUES (0, " . mysql_result($Query, 0) . ", Beste,nn " . ucfirst(strtolower(DB::Escape($UserFetch[uName]))) . " heeft " . $_POST[aantal] . " punten overgemaakt. nDe reden die daarvoor was opgegeven is als volgt:nn " . DB::Escape($_POST[omschrijving]) . "nn~ Het Bestuur, Je hebt punten ontvangen, NOW())") or trigger_error(mysql_error());

Gebruik geen php functies (behalve escapen) in je Query, stop alles in een var. Je escape $_POST[aantal] niet. Stop dat bericht ook in een var

Sorry ik ben nog niet zo ver in php, dus ik snap niet precies hoe ik het anders moet doen.. bloosKun jij dit aan mij laten zien hoe ik dit doe in deze query?
0
Berichten
4.451
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php
$bericht[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"Beste,nn "[/COLOR] [COLOR= #007700].[/COLOR] [URL="http://www.php.net/ucfirst"]ucfirst[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/strtolower"]strtolower[/URL][COLOR= #007700]([/COLOR]DB[COLOR= #007700]::[/COLOR]Escape[COLOR= #007700]([/COLOR][COLOR= #0000BB]$UserFetch[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]uName[/COLOR][COLOR= #007700]]))) .[/COLOR] [COLOR= #DD0000]" heeft "[/COLOR] [COLOR= #007700].[/COLOR] DB[COLOR= #007700]::[/COLOR]Escape[COLOR= #007700]([/COLOR][COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]aantal[/COLOR][COLOR= #007700]]) .[/COLOR] [COLOR= #DD0000]" punten overgemaakt. nDe reden die daarvoor was opgegeven is als volgt:nn "[/COLOR] [COLOR= #007700].[/COLOR] DB[COLOR= #007700]::[/COLOR]Escape[COLOR= #007700]([/COLOR][COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]omschrijving[/COLOR][COLOR= #007700]]) .[/COLOR] [COLOR= #DD0000]"nn~ Het Bestuur"[/COLOR][COLOR= #007700];[/COLOR]
DB[COLOR= #007700]::[/COLOR]Query[COLOR= #007700]([/COLOR][COLOR= #DD0000]"INSERT INTO member_messages (MesBy, MesFor, MesText, MesTitle, MesDate) VALUES (0, "[/COLOR] [COLOR= #007700].[/COLOR] [URL="http://www.php.net/mysql_result"]mysql_result[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$Query[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) .[/COLOR] [COLOR= #DD0000]", "[/COLOR] [COLOR= #007700].[/COLOR] DB[COLOR= #007700]::[/COLOR]Escape[COLOR= #007700]([/COLOR][COLOR= #0000BB]$bericht[/COLOR][COLOR= #007700]) .[/COLOR] [COLOR= #DD0000]", Je hebt punten ontvangen, NOW())"[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/trigger_error"]trigger_error[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_error"]mysql_error[/URL][COLOR= #007700]());[/COLOR]
?>


Dit erin zetten
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren