•••>> EuroBellen.nl - Technische vragen
>> Mijn PHP script geeft een foutmelding
>> Mijn script geeft deze foutmelding: Pincode validatie mislukt (ERR1)
De foutcode ERR1 tussen de haakjes geeft aan dat de meegegeven pincode onjuist is. Het controleren van de pincode zelf gaat echter wel goed alleen blijkt de meegegeven code onjuist te zijn.
>> Mijn script geeft deze foutmelding: Pincode validatie mislukt (ERR2)
De foutcode ERR2 tussen de haakjes geeft aan dat de gebruikersnaam die in het script wordt meegegeven aan de URL anders is dan de gebruikersnaam die hoort bij het betreffende product. Oplossing: Haal de PHP code opnieuw op door na het inloggen op de website aan de linkerkant op 'Code ophalen' te klikken.
>> Mijn script geeft deze foutmelding: Pincode validatie mislukt (ERR3)
De foutcode ERR3 tussen de haakjes geeft aan dat er meerdere pincodes nodig zijn voor het product en dat tenminste 1 van deze codes onjuist is. Het controleren van de pincodes zelf gaat echter wel goed alleen blijken één of meerdere meegegeven codes onjuist te zijn.
>> Mijn script geeft deze foutmelding: Pincode validatie mislukt (ERR4)
De foutcode ERR4 tussen de haakjes geeft aan dat de meegegeven pincode reeds gebruikt is. Het controleren van de pincode zelf gaat echter wel goed alleen blijkt de meegegeven code al gebruikt te zijn. Een pincode kan slechts één keer gebruikt worden en de beller krijgt dus slechts éénmalig toegang tot je betaalde webpagina.
>> Mijn script geeft deze foutmelding: Pincode validatie mislukt ()
Tussen de haakjes van de foutmelding komt normaal gesproken een foutcode te staan. Indien een pincode onjuist is zal de foutmelding bijv. "Pincode validatie mislukt (ERR1)" zijn. Met ERR1 tussen de haakjes dus. Wanneer er helemaal niets tussen de haakjes komt te staan is het waarschijnlijk niet gelukt om verbinding te leggen met onze server via je PHP script.
Vaak geeft je PHP script ook een uitgebreide error tenzij dit in de PHP configuratie is uitgeschakeld.
Wat je kunt doen is de volgende regel bovenaan in je PHP script plaatsen:
ini_set("display_errors","1");
Als je nu opnieuw de URL van je PHP script laadt (Bijv. m.b.v. de code 0199) wordt er als het goed is een uitgebreidere foutmelding getoond die meer informatie over de oorzaak geeft.
De meest voor de hand liggende oorzaak is dat je hosting provider het niet toestaat om via een PHP script een externe URL aan te roepen. Je kunt hiervoor contact opnemen met je hosting provider. Indien je hosting-provider je niet kan/wil helpen kun je een alternatieve manier gebruiken voor je product. Hiervoor klik je na het inloggen op onze website op 'Mijn producten' en daarna op 'Edit' achter je product. Kies voor de optie onderaan: 'URL aanroepen:'.
>> Hoe aangemaakte product/ script testen zonder te hoeven bellen?
Als je je script wilt testen kun dit doen door tijdelijk een test-variabele aan de URL mee te geven.
- Vervang ...check.php?userid=... door ...check.php?test=xxxx&userid=...
- In het betaalvenster kun je de code 0199 gebruiken.
- Vergeet niet de test-variabele na het testen weer weg te halen!
Het testen d.m.v. de code 0199 werkt alleen bij producten waarvoor 1 keer gebeld moet worden.
>> Ik bied mijn product met een redirect aan echter de pincode blijft fout?
Met een verkregen code kan een PHP script éénmalig geladen worden. Zodra de klant naar de pagina gaat waar een redirect op staat word de code weer opnieuw gecontroleerd. Dit zal niet werken, omdat de code al gebruikt is. De oplossing is het script veranderen waarbij de code maar 1x gecontroleerd word.
Voorbeeld: Soms hebben mensen een script waarbij de pincode 1 keer wordt aangeroepen en dan krijgen ze toegang tot een webformulier. Deze vullen ze dan in en bij het klikken op 'Verzenden' wordt de pincode weer opnieuw gecontroleerd. Ze krijgen dan de ERR4 melding, omdat de pincode al gebruikt is.
Mogelijke oplossing: Je kan de EuroBellen code weghalen uit de PHP file waar het webformulier op staat (bv: index.php) en opnemen in bijvoorbeeld gekocht.php. Vervolgens zorg je ervoor dat de $_GET['ebpin'] variabele wordt doorgestuurd naar gekocht.php d.m.v. het formulier (<FORM>). Dit kan door de volgende code in index.php tussen <FORM> en </FORM> te plaatsen: echo "<INPUT TYPE=hidden NAME=ebpin VALUE=\"". $_GET['ebpin'] ."\">";
>> Hoe een totaal aantal donaties weer te geven?
Om dit te realiseren kan je dit het beste handmatig bijhouden in je PHP file of via een PHP script en een database.
Omwille van beveiliging is het niet mogelijk om desbetreffende variabelen hieromtrent bij EuroBellen automatisch op te vragen met een script.
>> Hoe een bedankt tekst weergeven bij een betaalde download?
Ja dat is eenvoudig mogelijk. Je kan dit in PHP vermelden met: echo "tekst"; of PHP afsluiten door middel van ?> te plaatsen. Na ?> is het mogelijk om alle html teksten te plaatsen.
>> Kan een verkregen code 2 keer gebruikt worden omdat deze 1 uur geldig is?
Een code is altijd maar 1 keer geldig. Er is wel een geldigheidsduur van
1 uur, maar nadat de code gebruikt is kan deze niet opnieuw gebruikt worden. Iemand kan dus niet in 1 uur met 1 code meerdere producten bestellen.
Let wel op; Wanneer je het product niet aanbied via PHP maar met HTML toegang is de locatie van het product na het bellen zichtbaar en meerdere keren te bezoeken zonder te bellen.
>> Is EuroBellen ook met Classic ASP te bewerkstelligen?
Met ASP moet het ook zeker mogelijk zijn. Je zou het script dan zelf moeten schrijven/ converteren op basis van de gegevens die in het PHP script staan.
>> Kan de variabel $_GET['ebpin'] meer dan 1 code onthouden?
Bij een product waarvoor je de klant bijvoorbeeld 3x wilt laten bellen hoef je niets te veranderen. Meerdere pincodes worden op de volgende manier ook aan ?ebpin= meegegeven: 1234-3214-9876 (3 codes)
Ter informatie: De klant 3x laten bellen is eenvoudig in te stellen wanneer je op "edit" klikt bij het desbetreffende product in de EuroBellen admin bij "Mijn producten".
>> Hoe een download optimaal beveiligen?
Een download is als volgt te beveiligen:
Maak eerst een PHP file aan waarin je de koper doorverwijst naar je download.
Bijvoorbeeld: koop.php
Hier plaats je de volgende code in:
<?php
$ebcheck = file_get_contents("http://www.eurobellen.nl/bel/check.php?userid=invullen&ip=".$_SERVER['REMOTE_ADDR']."&ebpin=".$_GET['ebpin']);
if ($ebcheck != "OK") {
echo "Download niet toegestaan.";
exit;
} else {
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename="filename.zip"');
readfile("files/test.zip");
};
?>
|
Vervolgens maak je een supmap, bijvoorbeeld: files
Hier plaats je de desbetreffende file (test.zip) in.
In deze map plaats je een .htaccess bestandje.
In dit .htaccess bestandje zet je alleen het volgende neer:
Order allow,deny
Deny from all
|
De link die je naar je product plaatst zou dan zijn:
|
<A onClick="JavaScript:window.open('http://www.eurobellen.nl/bel/?pid=1&returnurl=http://www.jouwwebsite.nl/koop.php',
'_blank','width=370,height=250,top=250,left=300');return false;" HREF=#>Klik
hier</A> |
Nu heeft alleen PHP toegangsrecht tot deze map en is je bestand beveiligd.
>> Hoe veel bestanden beveiligd aanbieden?
Dit kan als volgt:
Maak eerst een PHP file aan waarin je de koper doorverwijst naar je downloads.
Bijvoorbeeld: koop.php
<?php
if (!file_exists("files/" . $_GET[file])) {
echo "Bestand bestaat niet.";
exit;
};
$ebcheck = file_get_contents("http://www.eurobellen.nl/bel/check.php?userid=invullen&ip=".$_SERVER['REMOTE_ADDR']."&ebpin=".$_GET['ebpin']);
if ($ebcheck != "OK") {
echo "Download niet toegestaan. Pincode onjuist?";
exit;
} else {
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $_GET[file] . '"');
readfile("files/" . $_GET[file]);
};
?>
|
Vervolgens maak je een supmap, bijvoorbeeld: files
Hier plaats je de desbetreffende files (test.zip, test2.zip etc.) in.
In deze map plaats je tevens een .htaccess bestandje om de files te beveiligen.
In dit .htaccess bestandje zet je alleen het volgende neer:
Order allow,deny
Deny from all
|
De link die je naar je product plaatst zou dan zijn:
|
<A onClick="JavaScript:window.open('http://www.eurobellen.nl/bel/?pid=1&returnurl=http://www.jouwwebsite.nl/koop.php?file=test.zip',
'_blank','width=370,height=250,top=250,left=300');return false;" HREF=#>Klik
hier</A> |
Wanneer je bestandsnaam nu test2.zip is wijzig je test.zip naar test2.zip etc..
|