session start
ik heb het volgende mollie script:
Code (php)
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
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
<?php
include ("config.php");
define('TITLE', 'Advertenties weghalen');
layoutboven();
checklogin();
?>
<div align="center">
<h2>Betaalpagina</h2>
Je kunt de advertenties op jouw website weghalen door 1x te bellen voor €3.00,-<br />
<br />
<br />
<div style="background-color: #f2f2f2; border: 1px solid silver; width: 350px; padding: 6px;">
<?
$sql = mysql_query("SELECT advert FROM leden WHERE naam lIKE '" . mysql_real_escape_string($_SESSION['login']) . "'") or die(mysql_error());
$fetch = mysql_fetch_assoc($sql);
if ($fetch['advert'] == '0')
{
require('classes/class.micropayment-mollie.php');
$m = new micropayment();
$m->setPartnerID(555277); # change this to your partner ID
if (isset($_GET['c']) and is_numeric($_GET['c'])) $m->setCountry($_GET['c']);
$m->setAmount(3.00); # Set payment amount to € 0,50
if (isset($_GET['action']) and $_GET['action'] == 'check' and isset($_SESSION['servicenumber']) and isset($_SESSION['paycode']) and $_SESSION['servicenumber'] and $_SESSION['paycode']) {
/* user posted a paymentcheck, so below we'll check if the servicenumber and the paycode is fully payed */
$m->setServicenumber($_SESSION['servicenumber']);
$m->setPaycode($_SESSION['paycode']);
$m->checkPayment();
if ($m->payed) {
# User payed succesfully!
# Now, do your thing: for example put credits on the users account, or give access to premium content
echo '<b>Bedankt voor je betaling</b><br />
Er worden nu geen advertenties meer weergeven op jouw website.';
mysql_query("INSERT INTO `logs` (`ip`,`tijd`,`type`) VALUES ('" . $_SERVER['REMOTE_ADDR'] . "', NOW(), '9')") or die(mysql_error());
mysql_query("UPDATE leden SET `advert` = '1' WHERE naam LIKE '" . mysql_real_escape_string($_SESSION['login']) . "'") or die(mysql_error());
}
else {
# payment is not (fully) done, send the user back to the payment-screen
echo '<font color=red><b>Betaling is niet afgerond,<br />volg de onderstaande instructies!</b></font><br /><br />';
}
}
if (!$m->payed) {
/* Below we include the payment-screen, because no payment is received (yet) */
include('includes/include.paymentscreen.php');
}
}else{
echo 'Je hebt al de advertenties van je website gehaald.';
}
?>
</div>
</div>
<?php layoutonder(); ?>
include ("config.php");
define('TITLE', 'Advertenties weghalen');
layoutboven();
checklogin();
?>
<div align="center">
<h2>Betaalpagina</h2>
Je kunt de advertenties op jouw website weghalen door 1x te bellen voor €3.00,-<br />
<br />
<br />
<div style="background-color: #f2f2f2; border: 1px solid silver; width: 350px; padding: 6px;">
<?
$sql = mysql_query("SELECT advert FROM leden WHERE naam lIKE '" . mysql_real_escape_string($_SESSION['login']) . "'") or die(mysql_error());
$fetch = mysql_fetch_assoc($sql);
if ($fetch['advert'] == '0')
{
require('classes/class.micropayment-mollie.php');
$m = new micropayment();
$m->setPartnerID(555277); # change this to your partner ID
if (isset($_GET['c']) and is_numeric($_GET['c'])) $m->setCountry($_GET['c']);
$m->setAmount(3.00); # Set payment amount to € 0,50
if (isset($_GET['action']) and $_GET['action'] == 'check' and isset($_SESSION['servicenumber']) and isset($_SESSION['paycode']) and $_SESSION['servicenumber'] and $_SESSION['paycode']) {
/* user posted a paymentcheck, so below we'll check if the servicenumber and the paycode is fully payed */
$m->setServicenumber($_SESSION['servicenumber']);
$m->setPaycode($_SESSION['paycode']);
$m->checkPayment();
if ($m->payed) {
# User payed succesfully!
# Now, do your thing: for example put credits on the users account, or give access to premium content
echo '<b>Bedankt voor je betaling</b><br />
Er worden nu geen advertenties meer weergeven op jouw website.';
mysql_query("INSERT INTO `logs` (`ip`,`tijd`,`type`) VALUES ('" . $_SERVER['REMOTE_ADDR'] . "', NOW(), '9')") or die(mysql_error());
mysql_query("UPDATE leden SET `advert` = '1' WHERE naam LIKE '" . mysql_real_escape_string($_SESSION['login']) . "'") or die(mysql_error());
}
else {
# payment is not (fully) done, send the user back to the payment-screen
echo '<font color=red><b>Betaling is niet afgerond,<br />volg de onderstaande instructies!</b></font><br /><br />';
}
}
if (!$m->payed) {
/* Below we include the payment-screen, because no payment is received (yet) */
include('includes/include.paymentscreen.php');
}
}else{
echo 'Je hebt al de advertenties van je website gehaald.';
}
?>
</div>
</div>
<?php layoutonder(); ?>
nu krijg ik telkens:
warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/jhbmoaed/domains/frixis.nl/public_html/advertentieweghalen.php:1) in /home/jhbmoaed/domains/frixis.nl/public_html/config.php on line 3
dit krij ik op andere paginas niet.
hoe kan dat?
dit is namelijk dat ie al gezet is en niet nog is gezet kan worden omdat ie al bestaad
Gewijzigd op 20/03/2011 12:32:25 door Robert dat ben ik
Waarschijnlijk heb je tekst of witruimte staan voor je php-open tag.
Bij het zien van deze code lopen de rillingen al over mijn rug.
Maar ja, misschien wordt het een en ander duidelijk na het lezen van:
http://www.pfz.nl/wiki/headers-already-sent/
Pim - op 20/03/2011 12:34:51:
Waarschijnlijk heb je tekst of witruimte staan voor je php-open tag.
Cannot send session cache limiter - headers already sent
dit is toch dat er al 1 session_start(); gezet is voor die pagina uitgevoerd word of niet?
Quote:
dit is toch dat er al 1 session_start(); gezet is voor die pagina uitgevoerd word of niet?
@MadHouSe, je blaat een eind in de ruimte, dus blijf weg uit topics waarin je geen toegevoegde waarde bent.
Antwoord: Nee
maar maak een index.php en maak 2 bestanden met session_start();
er in en include die in de index.php krijg je de zelfde fout
maar goed ut zal wel..
als ik hem zo upload is er niks aan de hand.
open ik hem in kladblok, en verander ik het mollie id.
komt dat er
Als dat het geval is. Kun je misschien eens kijken of session_start() wel boven de include staat.
Is dit niet het geval. Dan zou je de include onder de session_start(); moeten zetten.
Gewijzigd op 20/03/2011 18:27:10 door Marvin Radioo