Meerdere pagina's onder een link
Ik ben op het volgende probleem gekomen:
Ik heb een betaalscript met beveiliging er op. Echter om alles goed te laten verlopen moeten er na de betaling twee pagina's worden doorlopen: Een waar je een naam invult en de tweede die een SQL uitvoert.
Nou is het zo dat het beveiligingsscript maar een keer gebruikt kan worden. In andere woorden: de code verloopt meteen na gebruik.
Ik heb het nu als volgt gedaan:
Na de betaling ga je naar betaal1.php die include index.php. In index.php voer je een naam in. Als je dan op submit hebt gedrukt kom je op action.php. Alleen action.php speelt al af onder een andere browserlink, als mensen deze link kopieren kunnen ze dus gratis dingen krijgen.
Dit zijn de codes:
betaal1.php:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$ebcheck = file_get_contents("https://www.eurobellen.nl/bel/check.php?test=d3e0p&userid=33pchen&ip=".$_SERVER['REMOTE_ADDR']."&ebpin=".$_GET['ebpin']);
if($ebcheck!="OK") {
echo "Pincode validatie mislukt ($ebcheck)";
exit;
}
?>
$ebcheck = file_get_contents("https://www.eurobellen.nl/bel/check.php?test=d3e0p&userid=33pchen&ip=".$_SERVER['REMOTE_ADDR']."&ebpin=".$_GET['ebpin']);
if($ebcheck!="OK") {
echo "Pincode validatie mislukt ($ebcheck)";
exit;
}
?>
index.php:
<form action="action.php" method="post">
<p>Your name: <input type="text" name="name" /></p>
<p><input type="submit" /></p>
</form>
action.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
echo 'testing';
$naam = $_POST["name"];
$con=mysqli_connect("localhost","ihjfyrvg_hotel","WACHTWOORD","ihjfyrvg_hotel");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con,"UPDATE users SET vip = '1' WHERE username = '$naam' LIMIT 1");
mysqli_query($con,"UPDATE users SET rank = '3' WHERE username = '$naam' LIMIT 1");
?>
echo 'testing';
$naam = $_POST["name"];
$con=mysqli_connect("localhost","ihjfyrvg_hotel","WACHTWOORD","ihjfyrvg_hotel");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con,"UPDATE users SET vip = '1' WHERE username = '$naam' LIMIT 1");
mysqli_query($con,"UPDATE users SET rank = '3' WHERE username = '$naam' LIMIT 1");
?>
Ik moet dus hebben dat index.php en action.php "afspelen" onder de naar betaal.php. Hoe doe ik dit?
Alvast bedankt!
Gewijzigd op 26/03/2013 17:20:31 door Misha Onbekend
Include action.php in index.php?
Eddy E op 26/03/2013 17:53:25:
Include action.php in index.php?
Hij include index.php, hier vul je, je naam in. Daarna ga je naar action.php.
Ten aanzien van je code (action.php):
Waarom een nieuwe variabele aanmaken ($naam)? Zonder enige vorm van controle of de waarde wel bestaat?
De 2 query's (regel 12+13) kan toch in 1x?
Waarom zit er een limit 1 in? username is toch uniek?! Anders is het maar de vraag welke username wordt geupdate, als er meerdere gelijke username zijn.
Neem aan dat de foutafhandeling in het script zit.