Paypal betaal bevestiging #2

  • Onderwerp starter Onderwerp starter Kproz
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Kproz

Gebruiker
Lid geworden
11 jul 2007
Berichten
138
Oke Mijn vorige probleem was dus hoe ik moest checken dat er betaalt was, dat is nu opgelost met een functie van paypal die return url heet, daar mag ik dan kiezen naar welke pagina de koper gestuurd word na betaling, ik had daar ingestelt de url deze te zijn:

PHP:
mijnsite/index..php?p=addhandler&check=done

Nu is er het volgende probleem, addhandler checkt ook voor juiste input:
PHP:
<?php 


 
		if (isset($_POST['name'],$_POST['email'],$_POST['link'],$_POST['image']) && $_POST['name'] != '' && $_POST['email'] != '' && $_POST['link'] != '' && $_POST['image'] != '') {
			echo 'pay to proceed<br>';
			?>
			<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
			<input type="hidden" name="cmd" value="_s-xclick">
			<input type="image" src="https://www.paypal.com/nl_NL/i/btn/x-click-but5.gif" border="0" name="submit" alt="Betalingen verrichten met PayPal is snel, gratis en veilig!">
			<img alt="" border="0" src="https://www.paypal.com/nl_NL/i/scr/pixel.gif" width="1" height="1">
			<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----MIIHRwYJKoZIhvcNAQcEoIIHODCCBzQCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYCMllWZ3ljcrdkqO4z5PixeWYvxIqDs3WNkQQvxEH4X75vbgDgOARVRnYIP1VjYIwWeagAynpiSLgtWwrJd7paeH1ZmYZB800oQ/LPMGW8mdXJ/mLJozyinxYjO8/qFRnngVBD15f+tsG2Mzhxy3hvot6QGcHDXRp39X5WczBaquzELMAkGBSsOAwIaBQAwgcQGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQIBqVeiEpqdhGAgaCQFHLnvP4kqxTJNe5kFcZPjuDNrSdBKyuJERRQVBTag/jjKaMy1JHlzWfxDzgnmLYxcPRbsZgGoDdMDM6BFXCxKzkPR+TmjZsNVBey/evfZoaeLR8K1dP2Z7erCWef3d0JOBSxYZjiJgjxfWGYAU6rO3JM0+tVnQ6hhKZP/vDMme725Ld9fTIK3oUpEvnYh7cHtx57Q5TSLivVUS7hdO2noIIDhzCCA4MwggLsoAMCAQICAQAwDQYJKoZIhvcNAQEFBQAwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMB4XDTA0MDIxMzEwMTMxNVoXDTM1MDIxMzEwMTMxNVowgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBR07d/ETMS1ycjtkpkvjXZe9k+6Cie***sPumsJ7QC1odNz3sJiCbs2wC0nLE0uLGaEtXynIgRqIddYCHx88pb5HTXv4SZeuv0Rqq4+axW9PLAAATU8w04qqjaSXgbGLP3NmohqM6bV9kZZwZLR/klDaQGo1u9uDb9lr4Yn+rBQIDAQABo4HuMIHrMB0GA1UdDgQWBBSWn3y7xm8XvVk/UtcKG+wQ1mSUazCBuwYDVR0jBIGzMIGwgBSWn3y7xm8XvVk/UtcKG+wQ1mSUa6GBlKSBkTCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb22CAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQCBXzpWmoBa5e9fo6ujionW1hUhPkOBakTr3YCDjbYfvJEiv/2P+IobhOGJr85+XHhN0v4gUkEDI8r2/rNk1m0GA8HKddvTjyGw/XqXa+LSTlDYkqI8OwR8GEYj4efEtcRpRYBxV8KxAW93YDWzFGvruKnnLbDAF6VR5w/cCMn5hzGCAZowggGWAgEBMIGUMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbQIBADAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDgwMTA1MTkzNTUxWjAjBgkqhkiG9w0BCQQxFgQUbOzig8eTvjJtF3xyGXo9GFYmYokwDQYJKoZIhvcNAQEBBQAEgYC1OaxgyGniuEZv+z3KbVcDSvN4QjgkBBKNHZpk3/Bve19pyEe4JFPNC4KNG2/rtdxnvb7I+hxoyi0mor/lVBLz7QljHWdLpx7OTs+uKmq5BpinzArJsTSVXw0Szn4/G41hfKu1JtT9e8k9MRqOeUYcsfzehVS3BNhW4SodNYIwuQ==-----END PKCS7-----
			">
			</form>
			<?php
		
			$name = $_POST['name'];
			$email = $_POST['email'];
			$link = $_POST['link'];
			$image = $_POST['image'];
		}
	
		else {
		header("location:index.php?p=adus&error=yes");
		
		}

?>

je ziet het misschien al aankomen, Ik had dus geprobeerd een

if ($_GET['check'] == 'done') te implementeren om dan die data die eerder geset was ($_post['name']) etc naar een database te sturen, maar wat dom van me, want als het script herladen word bestaat die data niet meer !

$name = $_POST['name'];
$email = $_POST['email'];
$link = $_POST['link'];
$image = $_POST['image'];

bestaat nietmeer!
hoe los ik dit nou op?
 
Laatst bewerkt:
Je kunt het ook zo doen:

Databasestructuur:

id | naam | website | e-mail | banner | betaald | status

1. Gebruiker vult gegevens in
2. Formulier wordt in db gestopt maar betaald en status op 0
3. Betaling wordt gedaan, gebruiker wordt teruggestuurd met $_GET['check'] = done betaald wordt op 1 gezet.
 
Hmm moet je alleen even een referentiepunt ook meesturen anders weet je natuurlijk niet welke betaald je op 1 moet zetten :)

Ook is het zo veilig om te controleren of de gebruiker wel van de paypal site komt anders kan een ieder de status op 1 zetten zonder ooit op de paypal site te zijn geweest.
 
Een extra $_GET lijkt mij :rolleyes:
 
Waar moet je die return-url mee geven dan?
Is dat geen <input type="hidden" /> dan?
 
Dan lijkt het mij handiger dat je een sessie aanmaakt bij punt 2 met daarin de naam en dan vervolgens bij terugkomst vraag je die op.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan