Php met mollie fout
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
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<?
# instellingen
$partnerid = 218525;
$betaalurl = 'http://www.sitennaam.com/linksysteem/aanmelden.php';
# gebruik de onderstaande methode zodat het POST of GET onafhankelijk is;
$betaalnummer = ( !empty($_POST['betaalnummer']) ) ? $_POST['betaalnummer'] : $_GET['betaalnummer'];
$betaalcode = ( !empty($_POST['betaalcode']) ) ? $_POST['betaalcode'] : $_GET['betaalcode'];
$c = ( !empty($_POST['c']) ) ? $_POST['c'] : $_GET['c'];
if (!$betaalcode) {
# er is nog geen betaalcode, vraag deze dus op;
header('Location: http://www.mollie.nl/partners/betaal/?actie=start&url='.urlencode($betaalurl));
exit;
} elseif ($betaalnummer and $betaalcode and $c) {
# ik heb een betaalcode en moet deze controleren;
$url = "http://www.mollie.nl/partners/api/micropayment/?".
"partnerid=".$partnerid."&betaalnummer=".urlencode($betaalnummer)."&betaalcode=".urlencode($betaalcode);
$result = @implode("",file($url));
if ($result == 'OK') {
$betaald = true;
} else {
$error = true;
}
}
?>
<style>
body, table {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
text-decoration: none;
background-color: #FFFFDF;
}
a {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
text-decoration: none;
}
a:hover {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #97335A;
text-decoration: underline;
}
</style>
<?
include"config.php";
if(!$betaald) {
if ($error) {
echo 'Betaalcode is niet betaald. Probeer opnieuw!<hr>';
}
} elseif ($submit) {
$select = "SELECT * FROM partners WHERE sitenaam='$sitenaam'";
$query = mysql_query($select)or die(mysql_error());
if ($naam =="" || $email =="" || $sitenaam =="" || $siteurl =="") {
echo "<font color=#FF0000;>Fout: Je moet alles invullen.</font> <a href='javascript:history.go(-1);'>Terug</a>";
}
else {
$insert = "INSERT INTO partners (naam,email,sitenaam,siteurl,inhits,uithits) VALUES ('$naam','$email','$sitenaam','$siteurl','0','0')";
$query = mysql_query($insert)or die(mysql_error());
$query = "SELECT * FROM partners WHERE naam='$naam'";
$result = mysql_query($query);
while ($list = mysql_fetch_object($result)) {
$id = $list->id;
}
echo "Bedankt... Je website staat nu op de<br><br>LinkEx.<br><br>";
}
}
else {
?>
<table background="../images/bill.gif"width="281" height="56" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="277" height="52"> </td>
</tr>
</table>
<form name="form1" method="post" action="<?= $betaalurl ?>">
<table width="283" border="0">
<tr>
<td height="24" colspan="2" bgcolor="#97335A"><font color="#FFFFFF"><b> Betaalde Linkex:</b></font></td>
</tr>
<tr>
<td width="37%">Naam</td>
<td width="65%">
<input type="text" name="naam">
</td>
</tr>
<tr>
<td width="37%">Email</td>
<td width="65%">
<input type="text" name="email">
</td>
</tr>
<tr>
<td width="37%">Titel Site</td>
<td width="65%">
<input type="text" name="sitenaam">
</td>
</tr>
<tr>
<td width="37%">Site url</td>
<td width="65%">
<input type="text" name="siteurl" value="http://">
</td>
</tr>
<tr>
<td colspan="2"><input type="hidden" name="betaalnummer" value="<?= $betaalnummer ?>">
<input type="hidden" name="betaalcode" value="<?= $betaalcode ?> ">
<input type="hidden" name="c" value="1">
<input type="submit" name="submit" value="Plaats je link">
</td>
</tr>
</table>
</form>
<?
}
?>
# instellingen
$partnerid = 218525;
$betaalurl = 'http://www.sitennaam.com/linksysteem/aanmelden.php';
# gebruik de onderstaande methode zodat het POST of GET onafhankelijk is;
$betaalnummer = ( !empty($_POST['betaalnummer']) ) ? $_POST['betaalnummer'] : $_GET['betaalnummer'];
$betaalcode = ( !empty($_POST['betaalcode']) ) ? $_POST['betaalcode'] : $_GET['betaalcode'];
$c = ( !empty($_POST['c']) ) ? $_POST['c'] : $_GET['c'];
if (!$betaalcode) {
# er is nog geen betaalcode, vraag deze dus op;
header('Location: http://www.mollie.nl/partners/betaal/?actie=start&url='.urlencode($betaalurl));
exit;
} elseif ($betaalnummer and $betaalcode and $c) {
# ik heb een betaalcode en moet deze controleren;
$url = "http://www.mollie.nl/partners/api/micropayment/?".
"partnerid=".$partnerid."&betaalnummer=".urlencode($betaalnummer)."&betaalcode=".urlencode($betaalcode);
$result = @implode("",file($url));
if ($result == 'OK') {
$betaald = true;
} else {
$error = true;
}
}
?>
<style>
body, table {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
text-decoration: none;
background-color: #FFFFDF;
}
a {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
text-decoration: none;
}
a:hover {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #97335A;
text-decoration: underline;
}
</style>
<?
include"config.php";
if(!$betaald) {
if ($error) {
echo 'Betaalcode is niet betaald. Probeer opnieuw!<hr>';
}
} elseif ($submit) {
$select = "SELECT * FROM partners WHERE sitenaam='$sitenaam'";
$query = mysql_query($select)or die(mysql_error());
if ($naam =="" || $email =="" || $sitenaam =="" || $siteurl =="") {
echo "<font color=#FF0000;>Fout: Je moet alles invullen.</font> <a href='javascript:history.go(-1);'>Terug</a>";
}
else {
$insert = "INSERT INTO partners (naam,email,sitenaam,siteurl,inhits,uithits) VALUES ('$naam','$email','$sitenaam','$siteurl','0','0')";
$query = mysql_query($insert)or die(mysql_error());
$query = "SELECT * FROM partners WHERE naam='$naam'";
$result = mysql_query($query);
while ($list = mysql_fetch_object($result)) {
$id = $list->id;
}
echo "Bedankt... Je website staat nu op de<br><br>LinkEx.<br><br>";
}
}
else {
?>
<table background="../images/bill.gif"width="281" height="56" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="277" height="52"> </td>
</tr>
</table>
<form name="form1" method="post" action="<?= $betaalurl ?>">
<table width="283" border="0">
<tr>
<td height="24" colspan="2" bgcolor="#97335A"><font color="#FFFFFF"><b> Betaalde Linkex:</b></font></td>
</tr>
<tr>
<td width="37%">Naam</td>
<td width="65%">
<input type="text" name="naam">
</td>
</tr>
<tr>
<td width="37%">Email</td>
<td width="65%">
<input type="text" name="email">
</td>
</tr>
<tr>
<td width="37%">Titel Site</td>
<td width="65%">
<input type="text" name="sitenaam">
</td>
</tr>
<tr>
<td width="37%">Site url</td>
<td width="65%">
<input type="text" name="siteurl" value="http://">
</td>
</tr>
<tr>
<td colspan="2"><input type="hidden" name="betaalnummer" value="<?= $betaalnummer ?>">
<input type="hidden" name="betaalcode" value="<?= $betaalcode ?> ">
<input type="hidden" name="c" value="1">
<input type="submit" name="submit" value="Plaats je link">
</td>
</tr>
</table>
</form>
<?
}
?>
Iemand misschien een oplossing
Gewijzigd op 01/01/1970 01:00:00 door Marco
Wat is het resultaat van je insert-query ?
Code (php)
1
2
3
4
5
2
3
4
5
if(!$betaald) {
if ($error) {
echo 'Betaalcode is niet betaald. Probeer opnieuw!<hr>';
}
} elseif ($submit) {
if ($error) {
echo 'Betaalcode is niet betaald. Probeer opnieuw!<hr>';
}
} elseif ($submit) {
Verander in deze code
Dan komt de link er wel in te staan, maar dan is de pagina, niet meer beveiligd
zet bovenin je script eens: error_reporting(E_ALL) en kijk of je foutmeldingen ziet.
als de gegevens ge-insert zijn kun je ook kontroleren of er daadwerkelijk is ingevoegd m.b.v. opvragen van de mysql_num_rows:
$aantal=mysql_num_rows($query);
echo $aantal;
na het uitvoeren van de insert-query dus op regel 72 zetten.
Het resultaat moet groter zijn dan 0.
Is het 0 dan gaat er iets fout bij invoegen, echo dan je insert-query eens naar het scherm
regel 70 staat je insert-query, hieronder een nieuwe regel met daarop: echo $query, daarna de huidige regel 71
als ik dit error_reporting(E_ALL) boven in me php zet op regel 2 dan gaat het al fout op regel 4 met een error
en heb je de andere tips ook al uitgevoerd ?
Gewijzigd op 01/01/1970 01:00:00 door Marcel K
Parse error: syntax error, unexpected T_VARIABLE in /home/marco/public_html/linksysteem/aanmelden.php on line 4
En anders maar laten maken door iemand die er verstand van heeft :-), tegen betaling natuurlijk
Moderator edit::
Gewijzigd op 01/01/1970 01:00:00 door Marco
kan verder niet testen aangezien ik e structuur van je tabel niet heb en ook niet weet wat er in je config staat
Notice: Undefined index: betaalcode in /home/marco/public_html/linksysteem/aanmelden.php on line 11
Notice: Undefined index: c in /home/marco/public_html/linksysteem/aanmelden.php on line 12
Warning: Cannot modify header information - headers already sent by (output started at /home/marco/public_html/linksysteem/aanmelden.php:10) in /home/marco/public_html/linksysteem/aanmelden.php on line 16
Deze error's heb ik, had jouw code niet goed neer gezet :)
Als ik gewoon via mollie ga betalen geeft die geen error, ga ik gelijk naar de site geeft die wel error
Gewijzigd op 01/01/1970 01:00:00 door Marco
kan je de structuur van de tabel en de config hier eens zetten ? eventuele inlognamen en wachtwoorden vervangen door * svp ;-)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE TABLE unieke_bezoekers (
ip varchar(40) NOT NULL default '',
dag varchar(40) NOT NULL default '',
id char(3) NOT NULL default '',
status char(3) NOT NULL default ''
) TYPE=MyISAM;
CREATE TABLE partners (
id mediumint(9) NOT NULL auto_increment,
naam varchar(40) NOT NULL,
email varchar(40) NOT NULL,
sitenaam varchar(40) NOT NULL,
siteurl varchar(40) NOT NULL,
inhits int(4) NOT NULL,
uithits int(4) NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id)
);
ip varchar(40) NOT NULL default '',
dag varchar(40) NOT NULL default '',
id char(3) NOT NULL default '',
status char(3) NOT NULL default ''
) TYPE=MyISAM;
CREATE TABLE partners (
id mediumint(9) NOT NULL auto_increment,
naam varchar(40) NOT NULL,
email varchar(40) NOT NULL,
sitenaam varchar(40) NOT NULL,
siteurl varchar(40) NOT NULL,
inhits int(4) NOT NULL,
uithits int(4) NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id)
);
Dit is de tabel
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
$pagina = "8"; //Aantel site in de top
$email_adres = "*"; //Je email adres
$site_naam = "*"; //naam van je site
$site_url = "*"; //de volledige url naar het bestand
$mysql[host] = "*"; // de host
$mysql[user] = "*"; //je username
$mysql[pass] = "*"; //je paswoord
$mysql[db] = "*"; //de naam van de database
mysql_connect($mysql[host], $mysql[user], $mysql[pass]);
mysql_select_db($mysql[db]);
?>
$pagina = "8"; //Aantel site in de top
$email_adres = "*"; //Je email adres
$site_naam = "*"; //naam van je site
$site_url = "*"; //de volledige url naar het bestand
$mysql[host] = "*"; // de host
$mysql[user] = "*"; //je username
$mysql[pass] = "*"; //je paswoord
$mysql[db] = "*"; //de naam van de database
mysql_connect($mysql[host], $mysql[user], $mysql[pass]);
mysql_select_db($mysql[db]);
?>
Dit is de config
- laat je source beter inspringen, maakt het veeeel overzichtelijker en inzichtelijker.
- gebruik superglobals. zie ook http://www.phphulp.nl/php/tutorials/2/139/
- bij afvragen van je POST gebruik je nu: elseif($submit)
verander dit in:
de afvraag van de velden uit je form moet zijn:
waarom vraag je na je POST eerst nog query op waarna je verder niets doet met de variabelen ?
Je wilt toch de geposte variabelen in de database toevoegen ? dat gaat echt niet lukken als je eerst in een query variabelen opvraagt.
ga hier eerst maar eens verder mee aan de slag Marco
Gewijzigd op 01/01/1970 01:00:00 door Marcel K