[opgelost] Gegevens naar database schrijven
Ik wil mijn Minecraft server betaald maken, en de betalingen moeten via MobileMoney gaan.
Ik heb een beetje rondgekeken op internet. En heb een script gevonden dat wel werkt.
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
35
36
37
38
39
40
41
42
43
44
45
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
<?
if(isset($_POST['verify'])){
$code=$_GET['code'];
$checkpoints = mysql_query("SELECT * FROM `verify` WHERE `code` = '$code'");
$url = "http://www.mobilemoney.com/validate.asp?username={USERNAME}&accounttoken={TOKEN}&pincode=$code&output=valid";
$open = @file($url);
if(!$open){
echo "<font color=red>* The file couldn't be opened.</font>";
}
else{
if($open[0] == -2){
echo "<font color=red>* You don't have acces to this content.</font>";
}
elseif(mysql_num_rows($checkpoints) >= 1) {
echo "<font color=red>* Your code has already been used.</font>";
}
elseif($open[0] == -1){
echo "<font color=red>* This is an invalid code.</font>";
}
elseif($open[0] == -3){
echo "<font color=red>* You didn't enter a code.</font>";
}
elseif(preg_match("/#/i", "$code")) {
echo "<font color=red>* Don't try to exploit bitch.</font>";
}
elseif(preg_match("/&/i", "$code")) {
echo "<font color=red>* Don't try to exploit bitch.</font>";
}
elseif(mysql_num_rows($checkpoints) >= 1) {
echo "<font color=red>* Your code has already been used.</font>";
}
else{
mysql_query("UPDATE users SET points=points+'25' WHERE username='$username'");
$date = date('Y-m-d H:i:s');
mysql_query("INSERT INTO buypoints (`id`,`name`,`time`) VALUES ('','$username','$date')");
mysql_query("INSERT INTO verify (`id`,`user`,`code`,`datum`) VALUES ('','$username','$code','$date')");
echo "Thank you for purchasing points. Your points have been added to your account. You may not see them immediatly, try to click on points again.";
}
}
}
?>
if(isset($_POST['verify'])){
$code=$_GET['code'];
$checkpoints = mysql_query("SELECT * FROM `verify` WHERE `code` = '$code'");
$url = "http://www.mobilemoney.com/validate.asp?username={USERNAME}&accounttoken={TOKEN}&pincode=$code&output=valid";
$open = @file($url);
if(!$open){
echo "<font color=red>* The file couldn't be opened.</font>";
}
else{
if($open[0] == -2){
echo "<font color=red>* You don't have acces to this content.</font>";
}
elseif(mysql_num_rows($checkpoints) >= 1) {
echo "<font color=red>* Your code has already been used.</font>";
}
elseif($open[0] == -1){
echo "<font color=red>* This is an invalid code.</font>";
}
elseif($open[0] == -3){
echo "<font color=red>* You didn't enter a code.</font>";
}
elseif(preg_match("/#/i", "$code")) {
echo "<font color=red>* Don't try to exploit bitch.</font>";
}
elseif(preg_match("/&/i", "$code")) {
echo "<font color=red>* Don't try to exploit bitch.</font>";
}
elseif(mysql_num_rows($checkpoints) >= 1) {
echo "<font color=red>* Your code has already been used.</font>";
}
else{
mysql_query("UPDATE users SET points=points+'25' WHERE username='$username'");
$date = date('Y-m-d H:i:s');
mysql_query("INSERT INTO buypoints (`id`,`name`,`time`) VALUES ('','$username','$date')");
mysql_query("INSERT INTO verify (`id`,`user`,`code`,`datum`) VALUES ('','$username','$code','$date')");
echo "Thank you for purchasing points. Your points have been added to your account. You may not see them immediatly, try to click on points again.";
}
}
}
?>
Nu is het de bedoeling dat de code controleert of er daadwerkelijk betaald is. Als dat zo is moet er een form komen te staan waar de persoon zijn gebruikersnaam intypt. Dan moet de PIN code, gebruikersnaam en de datum van de dag dat betaald is + 30 dagen toegevoegd worden aan een database. De PIN code, zodat de code niet hergebruikt kan worden.
Kan iemand mij hiermee helpen, want ik heb totaal geen ervaring met PHP en MySQL ?
Groeten,
Djmaster329
Gewijzigd op 03/06/2012 15:07:46 door Thomas van Doorn
Waar loop je precies op vast? En wat heb je al geprobeerd?
Ik heb inmiddels een database met tabellen.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
CREATE TABLE IF NOT EXISTS `codes` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`pincode` int(8) NOT NULL,
`user` varchar(128) COLLATE latin1_general_ci NOT NULL,
`geldigTot` int(10) NOT NULL,
`gebruikt` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
`id` int(6) NOT NULL AUTO_INCREMENT,
`pincode` int(8) NOT NULL,
`user` varchar(128) COLLATE latin1_general_ci NOT NULL,
`geldigTot` int(10) NOT NULL,
`gebruikt` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
Maar verder kom ik niet, helaas.
Je kan via PHPMyAdmin een record invoegen en dan kan je daar de query zien staan, daarmee zou je toch een hoop kunnen doen.
Kan je het uitleggen?
Dan ga je naar jouw tabel en ga je naar invoegen. Daar vul je wat testgegevens in en dan komt er een query uit zoals:
Code (php)
1
INSERT INTO tabel (id, pincode, user, geldigTot, gebruikt) VALUES ('1', '1234', 'test', '5465124', '0');
Aan de hand van die gegevens kan je je eigen query opmaken.
Dan maak je er bijvoorbeeld van:
Code (php)
1
2
3
2
3
<?php
$query = "INSERT INTO tabel (id, pincode, user, geldigTot, gebruikt) VALUES ('" . mysql_real_escape_string($id) . "', '" . mysql_real_escape_string($pincode) . "', '" . mysql_real_escape_string($user) . "', '" . mysql_real_escape_string($geldigTot) . "', '" . mysql_real_escape_string($confirmed) . "');
?>
$query = "INSERT INTO tabel (id, pincode, user, geldigTot, gebruikt) VALUES ('" . mysql_real_escape_string($id) . "', '" . mysql_real_escape_string($pincode) . "', '" . mysql_real_escape_string($user) . "', '" . mysql_real_escape_string($geldigTot) . "', '" . mysql_real_escape_string($confirmed) . "');
?>
Heb je uberhaupt wel eens een database van dichtbij gezien?
Nu snap ik het :)
Ik zal het eens proberen.
Erwin H op 03/06/2012 14:51:58:
Heb je uberhaupt wel eens een database van dichtbij gezien?
"Kan iemand mij hiermee helpen, want ik heb totaal geen ervaring met PHP en MySQL ?"
Gewijzigd op 03/06/2012 14:55:32 door Thomas van Doorn
Advies: begin er niet aan, maar huur iemand in die er verstand van heeft. Gaat waarschijnlijk stukken sneller en het bijt je later niet in je achterste.
Bedankt iig.