*DELETEME*

Overzicht

Sponsored by: Vacatures door Monsterboard

Database developer - SQL

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je sluit aan bij meetings en brengt het gehele logistieke proces in kaart. Vervolgens ga je als lead developer aan de slag om de klus te klaren. Je stuurt het junior developer team en helpt, zo nodig,

Bekijk vacature »

(Junior) Back-end Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Altijd al willen werken bij een organisatie, die maatwerk applicaties bouwt, die echt impact hebben in de maatschappij? Dit is je kans. Voor een kleine organisatie in de regio van Eindhoven ben ik op zoek naar een C# Ontwikkelaar. Jij gaat aan de slag met de ontwikkeling van maatwerk software en applicaties. Deze organisatie werkt voor grote organisaties in Nederland, maar ook voor het MKB. De projecten waar je aan gaat werken zijn erg divers, waardoor je werk uitdagend blijft en je erg veel kan leren. Verder ga je aan

Bekijk vacature »

Embedded Software Developer Games

Functie omschrijving Heb jij affiniteit met hardware en wil jij kleuren binnen een Qt framework? Spreek jij de talen C en of C ++? Dan ben ik wellicht opzoek naar jou! Voor een super gave opdrachtgever in omgeving Delft is er namelijk plek voor een nieuwe kracht! Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke game industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen en buitenland? Je zult in een team, samen met vier ontwikkelaars, de mooiste

Bekijk vacature »

Technisch Applicatie ontwikkelaar

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! In deze functie werk jij voornamelijk aan: Het onderhouden en ontwikkelen van de IT systemen; Het opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werk je aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkel en implementeren je MS PowerApps en Power BI. Bedrijfsprofiel Je komt terecht bij een familiair

Bekijk vacature »

Junior full stack developer

Functie Als full stack developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Applicatieontwikkelaar ABAP

Bedrijfsomschrijving Functieomschrijving De kandidaat zal worden ingezet binnen een van de DevOps teams binnen SCI (Service Centrum Inburgering) voor het ontwerpen en bouwen in SAP ABAP van de binnen SCI gebruikte informatiesystemen. Voornaamste voorkomende werkzaamheden zijn het aanpassen van en bouwen van nieuwe programmatuur in ABAP (Objects), waarbij ook gebruikt wordt gemaakt van DDD (Domain Driven Design) en het opstellen/aanpassen van Functionele/Technische ontwerpen. Daarnaast moeten ook formulieren met SAP Smartforms worden aangepast. Verder speelt de overgang naar SAP4Hana en SAP CPI. Vanwege het veelvuldig gebruik van SAP PO is kennis hiervan een pré. Achtergrond opdracht Momenteel werken meerdere DevOps teams

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

C# .NET Developer IoT SQL Server

Samengevat: Wij ontwikkelen innovatieve oplossingen om apparaten en bezittingen op een eenvoudige en flexibele manier te beveiligen. Ben jij een C# .NET developer? Heb jij ervaring met C# en SQL server? Vaste baan: C# .NET Developer IoT HBO €3.200 - €4.500 Deze werkgever is gespecialiseerd in hoogwaardige GSM/GPRS alarm- en telemetrietechnologie. Met een eigen productlijn en klantspecifieke ontwikkelingen biedt deze werkgever oplossingen om op afstand te meten, melden, loggen en aansturen, ook op plaatsen zonder stroomvoorziening. Onze producten worden gekarakteriseerd door flexibiliteit in de configuratie, betrouwbaarheid en een extreem laag stroomverbruik. Zij werken voor MKB klanten. Deze werkgever heeft veel

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Front-end Developer vue.js node.js SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Frontend Guild. Hier ga je werken Voor een snel groeiend bedrijf de regio Nieuw Vennep zijn wij opzoek naar een ervaren Front-end Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een SaaS-platform.

Bekijk vacature »

Front end developer

Functie Jij als ervaren Front end developer bent een expert het gebied van Javascript en React. Je wordt onderdeel van een multidisciplinair team bestaande uit een PO, twee Front end developers, een DevOps/Back end developer, een UX/UI designer en een projectmanager. Verder is er iemand verantwoordelijk voor de HR en is de algemeen directeur nauw betrokken bij alle projecten. Dagelijks hou jij je bezig met de verschillende projecten die zijn opgenomen in de sprint. Daarnaast denk je mee over mogelijke oplossingen om de behoefte van de klant op de beste manier in te vullen. Verder spar jij intern met collega’s

Bekijk vacature »

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

Bekijk vacature »

Junior/medior Back end developer PHP, Laravel

Functie Jij als ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor veel van je tijd je bezig houden met het ontwikkelen van maatwerk features en applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. Jij als full stack developer zult dus

Bekijk vacature »

Front end developer

Functie Qua type opdrachten is er echt een verscheidenheid aan afnemers, zo werken ze met grote multinationals, maar ook met startups. Zo kom je te werken in een gevarieerde omgeving en kan je ook schakelen tussen verschillende culturen. De projecten variëren van greenfield projecten tot langdurige ontwikkeltrajecten. Hier wordt alleen maar gewerkt met aan front end projecten. Daarom maakt het onze partner niet uit waar jij kennis van hebt, als je maar gedegen kennis hebt van Javascript frameworks, Unit testing en ook bekend bent met de scrum methodiek. Eisen Minimaal 4 jaar relevante werkervaring Kennen en ervaring van Javascript frameworks

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

Pagina: 1 2 volgende »

11/04/2011 22:29:27
Anchor link
Niet meer nodig :)
Gewijzigd op 12/04/2011 16:55:34 door
 
PHP hulp

PHP hulp

16/05/2024 12:59:44
 

11/04/2011 22:54:10
Anchor link
Ik heb je script gekopierd en uitgevoerd en bij mij werkt alles prima?!
 

11/04/2011 23:03:32
Anchor link
Als ik een mail krijg in mijn inbox krijg ik enkel dit:

Quote:
Beste,

Er is een nieuwe betaling gedaan op ******* met de volgende gegevens:

Naam:
Adres:
Postcode:
Woonplaats:
Telefoonnummer:
E-mailadres:
Land:
Opmerking door klant:
Betaalmethode:
Aantal producten:
Betaald bedrag:

Met vriendelijke groet,

*******
Gewijzigd op 12/04/2011 17:08:51 door
 

11/04/2011 23:06:31
Anchor link
Ik krijg namelijk netjes een e-mail met alle waardes van het formulier.
 

11/04/2011 23:24:32
Anchor link
Vreemd, want dat krijg ik dus gewoon niet..
 

11/04/2011 23:38:46
Anchor link
Wat is je:

Webbrowser?
Webserver en OS?

Kijk anders in firefox (4) die heeft een speciale console waarin je kunt zien welke post waardes er verstuurd zijn (Ctrl+Shift+K) en dan rechtermuisknop -> Verzoek en antwoord...
 

12/04/2011 00:58:18
Anchor link
Daar word ikzelf niet echt wijzer van..
 

12/04/2011 09:10:26
Anchor link
Henk Schepers op 12/04/2011 00:58:18:
Daar word ikzelf niet echt wijzer van..


Nee, maar dan kun je in ieder geval kijken of het ligt aan het versturen van het formulier of aan je PHP script.
 

12/04/2011 09:32:55
Anchor link
Zover ik dat kan zien wordt alles correct doorgestuurd.
 

12/04/2011 13:26:19
Anchor link
De ene sufferd (Dillen Meijboom) helpt de andere sufferd (Henk Schepers)?
(Met sufferd bedoel ik iemand die nog niet echt veel verstand heeft van php.)

Beide scripts zijn niet goed.
- Bouw foutafhandeling in. Kijk wat elke functie (zoals mysql_connect teruggeeft) en gebruik dat voor de foutafhandeling (let op 'or die' is geen foutafhandeling).
- Selecteer wat je wilt hebben, gebruik geen *.
- Als je toch de assoc manier van array gebruikt, gebruik dan gewoon direct myslq_fetch_assoc.
- Misschien eerst html leren? Jij bedoelt vast geen header.
- Gebruik niet de directe manier (document.betaal.*), maar maak gebruik van bijvoorbeeld getElementsById.
- Tabellen hoor je niet te gebruiken voor lay-out / styling. Ook niet voor forms (gebruik div's, labels, etc.)
- Maak geen gebruik van inline css. Is niet handig.
- Zet nooit error reporting en display errors aan op een productie omgeving.
- Misschien is het slim om eerst te kijken of alle gegevens er zijn in de $_GET voordat je queries doet en connectie gaat maken?
- Bedenk of je POST of GET doet. Door elkaar tegelijkertijd werkt niet handig.
- Controleer of een formulier gepost is met if($_SERVER['REQUEST_METHOD'] == 'POST')
- $prijs vs $bedrag ...?
 
Arjan -

Arjan -

12/04/2011 14:45:58
Anchor link
@Karl: Dat standaard lijstje van jou kennen wij zo onderhand wel. Ook al is het allemaal juist wat je zegt, kom je nooit "to the point". De TS vraagt waarom de POST array geen waarden bevat. En anderen met sufferd betitelen is ook een beetje kinderachtig. Deze mensen proberen andere mensen te helpen (ook al zijn de antwoorden niet altijd juist).

"Bedenk of je POST of GET doet. Door elkaar tegelijkertijd werkt niet handig."

Als je even verder had gekeken maakt het script gebruik van een externe betaal api, waardoor je soms niet anders kan dan GET en POST door elkaar gebruiken (aangezien de externe api dit eenmaal voorschrijft). Lijkt mij verder ook niets mis mee wanneer je het overzichtelijk houdt.

Ontopic: Je probleem zit 'm in de pagina die opgevraagd wordt nadat mollie de betaling heeft afgerond. De case 'return' binnen je switch wordt opgevraagd na de betaling. De ingevoerde gegevens die ingevoerd zijn voor de betaling bestaan dan niet meer. De ingevoerde gegevens in het formulier zijn alleen toegankelijk op de pagina die je aanroept wanneer het formulier wordt gesubmit.

Een oplossing kan zijn om de gegevens direct na het submitten van het formulier op te slaan in de database en te koppelen aan de transactieid of iets dergelijks. Hierdoor kan je op een later tijdstip (bijvoorbeeld op de return pagina) de gegevens opvragen.

Voor een beter overzicht kan je misschien beter alles in aparte bestanden opslaan (betaling, afhandeling, return, etc.). Zo zie je in één opslag dat wat je probeert te doen niet gaat werken.
Gewijzigd op 12/04/2011 14:48:51 door Arjan -
 

12/04/2011 16:23:49
Anchor link
Arjan - op 12/04/2011 14:45:58:
@Karl: Dat standaard lijstje van jou kennen wij zo onderhand wel. Ook al is het allemaal juist wat je zegt, kom je nooit "to the point".

Tja, waarom gebruiken zoveel mensen het dan niet. Als ze het gewoon eens gaan gebruiken hoef ik het niet te plaatsen en zijn zo ontzettend veel scripts beter geworden. Het zijn maar zulke simpele dingen.
Arjan - op 12/04/2011 14:45:58:
De TS vraagt waarom de POST array geen waarden bevat.
Omdat er verschrikkelijk slecht gescript is. Zoals jij straks tot de conclusie komt dat de data gewoon weggegooid wordt omdat de molie api meerdere keren aangeroepen moet worden, had hij dat zelf kunnen uitvinden door alles netjes op te delen en dus kijken of er een post is gedaan. Hij wilt post data benaderen zonder dat hij weet of er een post is gedaan. Als je dat niet weet, dan weet je ook niet of er gegevens zijn. Verder weet je dat als je meerdere keren die api aan moet roepen en altijd moet controleren of er post data is geweest dat er iets niet goed is.
Arjan - op 12/04/2011 14:45:58:
En anderen met sufferd betitelen is ook een beetje kinderachtig. Deze mensen proberen andere mensen te helpen (ook al zijn de antwoorden niet altijd juist).

Ik vind het wel wat ver gaan als je "test" en denkt dat het aan het OS moet liggen. PHP is geen hogere wiskunde. PHP is simpel, er is geen hout aan. Je hoeft niks echt te programmeren. Bijna altijd is het je eigen schuld dat als er iets mis gaat en niet van het OS (uitzonderingen daargelaten).

Arjan - op 12/04/2011 14:45:58:
"Bedenk of je POST of GET doet. Door elkaar tegelijkertijd werkt niet handig."

Als je even verder had gekeken maakt het script gebruik van een externe betaal api, waardoor je soms niet anders kan dan GET en POST door elkaar gebruiken (aangezien de externe api dit eenmaal voorschrijft). Lijkt mij verder ook niets mis mee wanneer je het overzichtelijk houdt.

Ontopic: Je probleem zit 'm in de pagina die opgevraagd wordt nadat mollie de betaling heeft afgerond. De case 'return' binnen je switch wordt opgevraagd na de betaling. De ingevoerde gegevens die ingevoerd zijn voor de betaling bestaan dan niet meer. De ingevoerde gegevens in het formulier zijn alleen toegankelijk op de pagina die je aanroept wanneer het formulier wordt gesubmit.

Een oplossing kan zijn om de gegevens direct na het submitten van het formulier op te slaan in de database en te koppelen aan de transactieid of iets dergelijks. Hierdoor kan je op een later tijdstip (bijvoorbeeld op de return pagina) de gegevens opvragen.

Voor een beter overzicht kan je misschien beter alles in aparte bestanden opslaan (betaling, afhandeling, return, etc.). Zo zie je in één opslag dat wat je probeert te doen niet gaat werken.

Tja, kijk, nu scheid jij zelf het post en get gedoe ook....
Natuurlijk is get en post door elkaar wel mogelijk, maar zoals ik zeg het is niet handig. Hier wordt er ook zeker een probleem veroorzaakt door het door elkaar halen van beiden.

Verder is het ook zo dat mollie ook al voorbeeld code aanbied... Gebruik dat dan.
Gewijzigd op 12/04/2011 16:40:48 door
 

12/04/2011 16:54:15
Anchor link
Ik wil er meteen even bijzeggen dat ik geen plannen heb om dit script live te gebruiken, dus een simpel formulier met tables kan geen kwaad. En als ik Karl was zou ik me daar al helemaal niet druk over maken. Want echt helpen doe je niet, enkel standaard suggesties geven..


Bedankt voor je tip Arjan, ik heb het ook kunnen oplossen met een database en een script dat het controleerd.
 

12/04/2011 17:03:59
Anchor link
Flauw dat je alles nu weer weghaalt, maar goed ik heb alles nog:
Henk Schepers op 11/04/2011 22:29:27:
Ik ben bezig met een script waarbij ik bepaalde ingevoerde gegevens wil mailen na het betalen. Echter lijkt het dat de $_POST[""] op een of andere manier vergeten wordt..

Het resultaat is dus dat ik mails krijg zonder de ingevoerde gegevens..

Hier de code:

index.php:http://pastebin.com/UPt8V0zJ

betaal.php: http://pastebin.com/HiK4QRpH

Ik heb vanalles geprobeert, maar het mocht niet baten.


Zoals je ziet heb ik errorlogging aanstaan dit geef als output:
Quote:
Notice: Undefined index: naam in /home/ihs/domains/jediah.nl/public_html/scripts/mollie/betaal.php on line 143

Notice: Undefined index: adres in /home/ihs/domains/jediah.nl/public_html/scripts/mollie/betaal.php on line 144

Notice: Undefined index: postcode in /home/ihs/domains/jediah.nl/public_html/scripts/mollie/betaal.php on line 145

Notice: Undefined index: woonplaats in /home/ihs/domains/jediah.nl/public_html/scripts/mollie/betaal.php on line 146

Notice: Undefined index: telefoon in /home/ihs/domains/jediah.nl/public_html/scripts/mollie/betaal.php on line 147

Notice: Undefined index: email in /home/ihs/domains/jediah.nl/public_html/scripts/mollie/betaal.php on line 148

Notice: Undefined index: land in /home/ihs/domains/jediah.nl/public_html/scripts/mollie/betaal.php on line 149

Notice: Undefined index: opmerking in /home/ihs/domains/jediah.nl/public_html/scripts/mollie/betaal.php on line 150

Notice: Undefined index: betaalmethode in /home/ihs/domains/jediah.nl/public_html/scripts/mollie/betaal.php on line 151

Notice: Undefined index: aantal in /home/ihs/domains/jediah.nl/public_html/scripts/mollie/betaal.php on line 152

Notice: Undefined index: betaaldbedrag in /home/ihs/domains/jediah.nl/public_html/scripts/mollie/betaal.php on line 153


Henk Schepers op 12/04/2011 16:54:15:
Ik wil er meteen even bijzeggen dat ik geen plannen heb om dit script live te gebruiken, dus een simpel formulier met tables kan geen kwaad. En als ik Karl was zou ik me daar al helemaal niet druk over maken. Want echt helpen doe je niet, enkel standaard suggesties geven..

Tja, als je fietst, dan hoef je natuurlijk niet je hand uit te steken om naar links te gaan, maarja, dan blijkt er net zo'n Toyota Prius geruisloos achter je te zitten, dan lig je er mooi bovenop.
Het lijkt misschien triviaal om het slecht en niet goed te doen, maar het is beter om je gewoon aan te leren. Je leert het dan altijd goed te doen en het is een goede oefening. Waarom zou je dat dan niet doen?
Verder vraag ik mij nog steeds af waarom je dan, als je mijn standaard antwoorden toch kent, ze niet implementeert. Zoals ik al uitgelegd heb zorgen ze ervoor dat je een heel aantal problemen minder hebt. En ook gelijk de oplossing hebt.
 
TJVB tvb

TJVB tvb

12/04/2011 17:04:38
Anchor link
Henk, waarom haal je het topic leeg? Hierdoor wordt het geheel onlogisch en nutteloos.

De standaard suggesties van Karl zijn blijkbaar nog steeds nodig. Ook al zijn ze standaard, als ze al toegepast werden zou hij ze niet noemen.

Toevoeging, topics worden normaal gesproken niet gesloten of verwijderd om dat de TS zijn/haar antwoord gekregen heeft.
Gewijzigd op 12/04/2011 17:05:50 door TJVB tvb
 

12/04/2011 17:06:26
Anchor link
De reden dat ik dit script verwijderd heb is dat verder niemand iets van doen heeft met dit script omdat er bepaalde gegevens van mij in staan.

Verder heb ik hier niets aan toe te voegen.
Gewijzigd op 12/04/2011 17:08:08 door
 
TJVB tvb

TJVB tvb

12/04/2011 17:11:01
Anchor link
Nare instelling, hulp vragen en na het krijgen van het antwoord de gegevens weghalen zodat niemand anders er van kan leren.
 

12/04/2011 17:11:13
Anchor link
Henk Schepers op 12/04/2011 17:06:26:
Karl Karl op 12/04/2011 17:03:59::
Unknown Paste ID!


Ja, ik had gezien dat je die paste als gebruiker hebt gemaakt en dus dat je die kan verwijderen. Maar die heb ik dus ook nog:
index.php:
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
<?

include('db.php');

mysql_connect($server, $username, $password);
mysql_select_db($database);
$select = mysql_query("SELECT * FROM config");
$regel = mysql_fetch_array($select);
 
##################
## Instellingen ##
##################

 
$max = 10; //max aantal
$prijs = $regel['Prijs']; // prijs / stuk
$verzendkost = $regel['Verzendkosten']; // verzendkost
 
?>

<html>
    <header>
        <script type="text/javascript">
        function bereken()
        {
            var aantal = parseInt(document.betaal.aantal.value);
            var verzendkost = parseInt(document.betaal.verzendkosten.value);
            var prijs = parseInt(document.betaal.prijs.value);
            var kost = prijs * aantal;
            var total = kost + verzendkost;
            total = total / 100;
            total = " " + total;
            document.betaal.total.value = total;    
        }
        
        </script>
    </header>
    <body onload="javascript:bereken()">
        <form name="betaal" id="betaal" action="betaal.php" method="post">
            <table width="420">
                <tr>
                    <td align="left"><strong>Naam</strong></td>
                    <td align="left"><input size="20" type="text" name="naam" value="" /></td>
                </tr>
                
                <tr>
                    <td align="left"><strong>Adres</strong></td>
                    <td align="left"><input size="20" type="text" name="adres" value="" /></td>
                </tr>
                
                
                <tr>
                    <td align="left"><strong>Postcode</strong></td>
                    <td align="left"><input type="text" name="postcode" value="" size="10" maxlength="7"/></td>
                </tr>
                
                <tr>
                    <td align="left"><strong>Woonplaats:</strong></td>
                    <td align="left"><input size="15" type="text" name="woonplaats" value="" /></td>
                </tr>
                
                <tr>
                    <td align="left"><strong>Telefoon:</strong></td>
                    <td align="left"><input size="15" type="text" name="telefoon" value=""  /></td>
                </tr>
                
                <tr>
                    <td align="left"><strong>E-Mail:</strong></td>
                    <td align="left"><input size="15" type="text" name="email" value=""  /></td>
                </tr>
                
                <tr>
                    <td align="left"><strong>Land:</strong></td>
                    <td align="left"><input size="15" type="text" name="land" value=""  /></td>
                </tr>
                <tr>
                    <td align="left"><strong>Opmerking:</strong></td>
                    <td><textarea name="opmerking" cols="20" rows="4"  ></textarea></td>
                </tr>
                <tr>
                    <td align="left"><strong>Betaalmethode</strong></td>
                    <td>
                        <select name="betaalmethode">
                            <option value="ideal" />iDeal</option>                                
                        </select>
                    </td>
                </tr>
                <tr>
                    <td align="left"><strong>Aantal</strong></td>
                    <td>
                        <select name="aantal" id="aantal" onchange="javascript:bereken();">
                        <?php
                        $aantal
= 1;
                        while($aantal <= $max){
                            echo '<option value="'.$aantal.'">'.$aantal.'</option>';
                            $aantal ++;
                        }

                        ?>

                        </select>
                        <input style="display:none" type="text" name="prijs" id="prijs" value="<?=$prijs?>">
                        <input style="display:none" type="text" name="verzendkosten" id="verzendkosten" value="<?=$verzendkost?>">
                    </td>
                </tr>
                <tr>
                    <td align="left"><strong>Totaal:</strong></td>
                    <td><input name="total" id="total" type="text" readonly="readonly" size="10" value="lol" tabindex="-1"></td>
                </tr>
                <tr>
                    <td align="left"><strong></strong></td>
                    <td align="left"><input type="checkbox" name="AV" value="ja" id="akkoord"  />&nbsp;Ik accepteer de <a href="Algemene Voorwaarden.html" onclick="window.open('Algemene Voorwaarden.html','Algemene Voorwaarden',
                    'width=auto,height=auto,scrollbars=auto,toolbar=no,location=no'); return false">Algemene Voorwaarden</a>.</td>  
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td align="left"><input type="submit" name="" value="Bestellen" /></td>
                </tr>
            </table>
        </form>
    </body>
</html>


betaal.php:
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
require("db.php"); //Database connectie config
$url        = 'http://www.jediah.nl/scripts/mollie/betaal.php'; //exacte locatie van het script volledig geschreven
$partnerID  = 536497; //Het partnerID van mollie
$testmode   = true; //De mollie ideal-api in testmode draaien
                                
$ipadresses = array ('82.94.203.80', '82.94.203.81', '82.94.203.82', '82.94.203.83', '82.94.203.84', '82.94.203.85', '82.94.203.86');

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

if(mysql_connect($server, $username, $password))
{

    if(mysql_select_db($database))
    {

        if(!empty($_GET['payment_id']) && ctype_alnum($_GET['payment_id']))
        {

            $payment_id = mysql_real_escape_string($_GET['payment_id']);
            
            $query  = "SELECT transaction_id, amount, description, paid FROM payments WHERE payment_id = '".$payment_id."'";
            $result = mysql_query($query);
            
            if($result && mysql_num_rows($result) == 1)
            {

                $transaction = mysql_fetch_assoc($result);
                
                if(!empty($_GET['action']))
                {

                    switch($_GET['action'])
                    {
                        case
'start':
                            if($transaction['paid'] == 0)
                            {

                                echo '<p>Er is een betaling aangemaakt voor <b>&euro; '.number_format($transaction['amount']/100, 2, ', ', '.').'</b> met als beschrijving <b>'.$transaction['description'].'</b>.</p>';
                                
                                if($testmode)
                                {

                                    curl_setopt($ch, CURLOPT_URL, "http://www.mollie.nl/xml/ideal?a=banklist&testmode=true");
                                }
else{
                                    curl_setopt($ch, CURLOPT_URL, "http://www.mollie.nl/xml/ideal?a=banklist");
                                }


                                $xml = new SimpleXMLElement(curl_exec($ch));
                                
                                echo '<form method="post" action="?action=redirect&payment_id='.$payment_id.'">';
                                echo '<label for="bank_id">Uw bank:</label><br />';
                                echo '<select name="bank_id">';
                                foreach($xml->bank as $bank)
                                {

                                    echo '<option value="'.$bank->bank_id.'">'.$bank->bank_name.'</option>';
                                }

                                echo '</select>';
                                echo '<input type="submit" name="verwerken" value="Verwerken"/>';
                                echo '</form>';
                            }
else{
                                echo '<p>Sorry, deze transactie is reeds betaald!</p>';
                            }

                        break;
                    
                        case
'redirect':
                            if($transaction['paid'] == 0)
                            {

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

                                    if(!empty($_POST['bank_id']) && ctype_digit($_POST['bank_id']))
                                    {

                                        curl_setopt($ch, CURLOPT_URL, "http://www.mollie.nl/xml/ideal?a=fetch&partnerid=".$partnerID."&description=".urlencode($transaction['description'])."&reporturl=".urlencode($url.'?action=report&payment_id='.$payment_id)."&returnurl=".urlencode($url.'?action=return&payment_id='.$payment_id)."&amount=".$transaction['amount']."&bank_id=".$_POST['bank_id']."");
        
                                        $xml = new SimpleXMLElement(curl_exec($ch));
    
                                        if($xml->order->amount == $transaction['amount'])
                                        {

                                            $query = "UPDATE payments SET transaction_id = '".$xml->order->transaction_id."' WHERE payment_id = '".$payment_id."'";
                                            $result = mysql_query($query);
    
                                            if($result && mysql_affected_rows() == 1)
                                            {

                                                header('Location: '.$xml->order->URL);
                                            }
else{
                                                echo '<p>Sorry, er is iets mis gegaan met het updaten van de database!</p>';
                                            }
                                        }
else{
                                            echo '<p>Sorry, er is iets mis gegaan met de aanvraag van deze betaling!</p>';
                                        }
                                    }
else{
                                        echo '<p>Sorry, er word een bank_id verwacht en deze dient numeriek te zijn!</p>';
                                    }
                                }
                            }
else{
                                echo '<p>Sorry, deze transactie is reeds betaald!</p>';
                            }

                        break;
                    
                        case
'report':
                            if(in_array($_SERVER['REMOTE_ADDR'], $ipadresses))
                            {

                                if(!empty($_GET['transaction_id']) && ctype_alnum($_GET['transaction_id']))
                                {

                                    if($testmode)
                                    {

                                        curl_setopt($ch, CURLOPT_URL, "http://www.mollie.nl/xml/ideal?a=check&partnerid=".$partnerID."&transaction_id=".$_GET['transaction_id']."&testmode=true");
                                    }
else{
                                        curl_setopt($ch, CURLOPT_URL, "http://www.mollie.nl/xml/ideal?a=check&partnerid=".$partnerID."&transaction_id=".$_GET['transaction_id']."");
                                    }

                                    
                                    $xml = new SimpleXMLElement(curl_exec($ch));

                                    if((string) $xml->order->payed == 'true')
                                    {

                                        $query = "UPDATE payments SET paid = 1 WHERE payment_id = '".$payment_id."' AND transaction_id = '".mysql_real_escape_string($_GET['transaction_id'])."'";
                                        $result = mysql_query($query);
                                    }
                                }
                            }

                        break;
                    
                        case
'return':
                            if(!empty($_GET['transaction_id']) && ctype_alnum($_GET['transaction_id']))
                            {

                                $query   = "SELECT paid FROM payments WHERE payment_id = '".$payment_id."' AND transaction_id = '".mysql_real_escape_string($_GET['transaction_id'])."' AND paid = 1";
                                $result  = mysql_query($query);
                                
                                if($result && mysql_num_rows($result) == 1)
                                {

                                    echo '<p>Gelukt! De betaling is succesvol ontvangen!</p>';
                                    
                                    
                                                                  $select = mysql_query("SELECT * FROM config");
                                     $regel = mysql_fetch_array($select);                              
                                     $Amail  = $regel['Email'];
                                     $website = str_replace('www.', '', $_SERVER['HTTP_HOST']);
                                     $vanwie = str_replace('www.', 'noreply@', $_SERVER['HTTP_HOST']);

                                    
            
            // Mail versturen
            $aan = $Amail;
            $onderwerp = "Nieuwe order op ".$website." geplaatst!";
            $bericht = "Beste,<br /><br />Er is een nieuwe betaling gedaan op ".$website." met de volgende gegevens:<br />
            <br />Naam:"
.$_POST["naam"]."<br />
            Adres:"
.$_POST["adres"]."<br />
            Postcode:"
.$_POST["postcode"]."<br />
            Woonplaats:"
.$_POST["woonplaats"]."<br />
            Telefoonnummer:"
.$_POST["telefoon"]."<br />
            E-mailadres:"
.$_POST["email"]."<br />
            Land:"
.$_POST["land"]."<br />
            Opmerking door klant:"
.$_POST["opmerking"]."<br />
            Betaalmethode:"
.$_POST["betaalmethode"]."<br />
            Aantal producten:"
.$_POST["aantal"]."<br />
            Betaald bedrag:"
.$_POST["betaaldbedrag"]."<br />
                
            <br />Met vriendelijke groet,<br /><br />"
.$website;
            $headers = "MIME-Version: 1.0\r\n";
            $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
            $headers .= "From: ".$vanwie." \r\n";
            mail($aan, $onderwerp, $bericht, $headers);


                                }
else{
                                    echo '<p>Sorry, de betaling is niet succesvol ontvangen!</p>';
                                }
                            }
else{
                                echo '<p>Sorry, er word een transaction_id verwacht en deze dient alphanumeriek te zijn!</p>';
                            }

                        break;
                    
                        default:

                            echo 'Sorry, deze actie word niet herkend!';
                        break;
                    }
                }
else{
                    echo '<p>Sorry, er word een actie verwacht!</p>';
                }
            }
else{          
                echo '<p>Sorry, dit payment_id bestaat niet!</p>';
            }
        }
else{
         //   echo '<p>Sorry, er word een payment_id verwacht en deze dient alphanumeriek te zijn!</p>';
            

                        
            $code = md5(rand(000000,999999).microtime());
            $select = mysql_query("SELECT * FROM config");
            $regel = mysql_fetch_array($select);
            $Omschrijving  = $regel['Omschrijving'];
            $Bedrag = $regel['Prijs'] * $_POST['aantal'];
            $Verzendkosten = $regel['Verzendkosten'];
            $Prijs = $Bedrag + $Verzendkosten;
            $query = "INSERT INTO payments (payment_id, amount, description, ipadress) VALUES ('".$code."', ".$Prijs.", '".$Omschrijving."', '".$_SERVER['REMOTE_ADDR']."')";
            $result = mysql_query($query);
            
            if($result && mysql_affected_rows() == 1)
            {

                header('Location: '.$url.'?action=start&payment_id='.$code.'');
            }
        }
    }
else{
        echo '<p>Sorry, er kon geen verbinding gemaakt worden met de database!</p>';
    }
}
else{
    echo '<p>Sorry, er kon geen verbinding gemaakt worden met de databaseserver!</p>';
}


curl_close($ch);
?>
 

12/04/2011 17:14:28
Anchor link
Als jij daar beter van wordt Karl, mag je hiermee het hele forum volspammen :)
 

12/04/2011 17:16:54
Anchor link
Henk Schepers op 12/04/2011 17:14:28:
Als jij daar beter van wordt Karl, mag je hiermee het hele forum volspammen :)


Ik plaats het hier omdat jij het weggehaald hebt. Zie ook TJBV. Die geeft ook uitleg waarom dat slecht is.
 
Ben Van de Voorde

Ben Van de Voorde

12/04/2011 17:21:05
Anchor link
Henk jij wilt toch ook graag geholpen worden waarom mogen andere hier niet nog eens wat aan hebben vieze ego!
 

Pagina: 1 2 volgende »

 

Dit topic is gesloten.



Overzicht

 
 

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.