Php met mollie fout

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marco

Marco

08/05/2007 17:57:00
Quote Anchor link
Ik heb een invul formulier waar mensen hun linken kunnen plaatsen tegen betaling, nu werkt alles op 1 ding na, en weet niet waar nu de fout zit, en de fout is dat die de link niet plaatst in de linklijst, terwijl die wel zeg dat die geplaatst is, iemand een idee wat er fout gaat?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?
# 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">&nbsp;</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>&nbsp;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
 
PHP hulp

PHP hulp

27/11/2024 04:14:38
 
Marco

Marco

08/05/2007 19:39:00
Quote Anchor link
niemand een oplossing?

Moderator edit::
Bumpen:
Twee of meer keer achter elkaar in je eigen topic posten heet bumpen.

Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig deAfbeelding knop om je tekst aan te passen.
Gewijzigd op 01/01/1970 01:00:00 door Marco
 
Marcel K

Marcel K

08/05/2007 19:47:00
Quote Anchor link
Wat is het resultaat van je insert-query ?
 
Marco

Marco

08/05/2007 19:56:00
Quote Anchor link
Weet ik niet, waar kan ik dat checke? weet wel als ik regel 56 tot 60 verander waar nu deze code staat

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
if(!$betaald) {
      if ($error) {
        echo 'Betaalcode is niet betaald. Probeer opnieuw!<hr>';
    }
} elseif ($submit) {


Verander in deze code

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(!$submit) {


Dan komt de link er wel in te staan, maar dan is de pagina, niet meer beveiligd
 
Marcel K

Marcel K

08/05/2007 20:15:00
Quote Anchor link
aantal tips:
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
 
Marco

Marco

08/05/2007 20:34:00
Quote Anchor link
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
 
Marcel K

Marcel K

08/05/2007 20:39:00
Quote Anchor link
welke error krijg je dan te zien ?
en heb je de andere tips ook al uitgevoerd ?
Gewijzigd op 01/01/1970 01:00:00 door Marcel K
 
Marco

Marco

08/05/2007 20:44:00
Quote Anchor link
ik blijf de zelde error zien op regel 4

Parse error: syntax error, unexpected T_VARIABLE in /home/marco/public_html/linksysteem/aanmelden.php on line 4
 
Marco

Marco

08/05/2007 20:50:00
Quote Anchor link
Ik zal met de code moeten puzzelen, want zonder de code van mollie werkt het systeem wel, dus gaat iets niet goed met die code.

En anders maar laten maken door iemand die er verstand van heeft :-), tegen betaling natuurlijk

Moderator edit::
Bumpen:
Twee of meer keer achter elkaar in je eigen topic posten heet bumpen.

Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig deAfbeelding knop om je tekst aan te passen.
Gewijzigd op 01/01/1970 01:00:00 door Marco
 
Marcel K

Marcel K

08/05/2007 21:11:00
Quote Anchor link
die unexpected T_VARIABELE krijg ik niet hoor.
kan verder niet testen aangezien ik e structuur van je tabel niet heb en ook niet weet wat er in je config staat
 
Marco

Marco

08/05/2007 21:15:00
Quote Anchor link
Notice: Undefined index: betaalnummer in /home/marco/public_html/linksysteem/aanmelden.php on line 10

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
 
Marcel K

Marcel K

08/05/2007 21:19:00
Quote Anchor link
kan je de structuur van de tabel en de config hier eens zetten ? eventuele inlognamen en wachtwoorden vervangen door * svp ;-)
 
Marco

Marco

08/05/2007 21:25:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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)
);


Dit is de tabel

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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]);
?>


Dit is de config
 
Marcel K

Marcel K

09/05/2007 20:10:00
Quote Anchor link
Ok, ben even gaan kijken en heb de volgende opmerkingen:

- 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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
elseif ($_SERVER['REQUEST_METHOD'] == 'POST') {
   doe_hier_iets
}
?>

de afvraag van de velden uit je form moet zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$naam
  = $_POST['naam'];
$sitenaam = $_POST['sitenaam'];
?>

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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.