Cannot send session cache limiter - headers already sent

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nathalie Bax

Nathalie Bax

28/11/2013 18:30:11
Quote Anchor link
Hallo allemaal,

Ik ben voor een van mijn klanten een website aan het maken. Het liep allemaal lekker totdat er een captcha in het formulier opgenomen moest worden. Ik ben op zoek gegaan naar iets waarvan ik (dacht dat ik) het begreep en heb dit in mijn website opgenomen. Alles op mijn eigen server (DDS) geplaatst en het werkte! Hoera! Maar vervolgens heb ik alles op de server van mijn klant geplaatst en komt er na het invullen van het formulier een foutmelding naar voren.

Het formulier op mijn server: http://www.ipo.dds.nl/wiebewerkt/info.php

Het formulier op de server van mijn klant: http://www.wiebewerkt.nl/info.php

Dit is de foutmelding:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/wiebewerkt/domains/wiebewerkt.nl/public_html/info.php:78) in /home/wiebewerkt/domains/wiebewerkt.nl/public_html/info.php on line 87

Wij kan mij vertellen wat ik fout doe? Ik heb me al suf gegoogled, maar ik kom er niet uit.
 
PHP hulp

PHP hulp

14/05/2021 03:45:06
 
- Ariën -
Beheerder

- Ariën -

28/11/2013 18:33:24
Quote Anchor link
session_start(); staat blijkbaar niet bovenaan?
Gewijzigd op 28/11/2013 18:33:37 door - Ariën -
 
Nathalie Bax

Nathalie Bax

28/11/2013 22:16:03
Quote Anchor link
Ja, ik dacht al dat dat het probleem zou zijn. Ik weet alleen niet hoe ik het moet oplossen. Als ik dat naar boven verplaats gaat Dreamweaver meldingen geven over een syntaxixfout. Dus volgens mij gaat dat niet goed.

Dit is de code van de betreffende pagina:

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
<?php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>WiebeWerkt!</title>
<style type="text/css">
<!--
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
-->
</style>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
body,td,th {
    color: #CCC;
}
-->
</style>
<script type="text/javascript">
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</script>
</head>

<body onload="MM_preloadImages('images/linked_ac.jpg')">
<div class="container">
<div class="header"></div>
<div class="menu">
  <span class="nav"><table width="120" border="0" cellspacing="0" cellpadding="0">
    <tr>
     <td height="23"><a href="index.html" target="_self">Home</a></td>
    </tr>
    <tr>
      <td height="23"><a href="wiebewerkt.html" target="_self">WiebeWerkt!</a></td>
    </tr>
    <tr>
      <td height="23"><a href="aanpak.html" target="_self">Aanpak</a></td>
    </tr>
    <tr>
      <td height="23"><a href="over.html" target="_self">Over Wiebe</a></td>
    </tr>
    <tr>
      <td height="23"><p>Informatie</p></td>
    </tr>
    <tr>
      <td height="23"><a href="referenties.html" target="_self">Referenties</a></td>
    </tr>
    <tr>
      <td height="23"><a href="contact.html" target="_self">Contact</a></td>
    </tr>
  </table></span></div>
<span class="maintext">
<!-- Begin van het formulier -->
<?php

if (!isset($_POST['contactformulier'])) {

    include ('inc_contact.php');
    }


else {

session_start();
$naam = $_POST['naam'];
$adres = $_POST['adres']; // not required
$postcode = $_POST['postcode']; // not required
$plaats = $_POST['plaats']; // not required
$emailbezoeker = $_POST['emailbezoeker'];
$telefoon = $_POST['telefoon']; // not required
$gevonden = $_POST['gevonden']; // not required
$bericht = $_POST['bericht'];    

//als er geen naam is ingevuld, laat dan een foutmelding zien - de tekst van deze foutmelding kun je aanpassen
    if(empty ($naam)){
        echo "<h3>Bericht niet ontvangen</h3><p>Je hebt geen naam ingevuld! Ga terug.</p>";
        }


//als er geen e-mailadres is ingevuld, laat dan een foutmelding zien - de tekst van deze foutmelding kun je aanpassen
    elseif (empty($emailbezoeker)) {
        echo "<h3>Bericht niet ontvangen</h3><p>Je hebt geen e-mailadres ingevoerd! Ga terug.</p>";
        }


//als het e-mailadres geen @-teken bevat, laat dan een foutmelding zien - de tekst van deze foutmelding kun je aanpassen
    elseif (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $emailbezoeker)) {
        echo "<h3>Bericht niet ontvangen</h3><p>Dit is geen geldig e-mailadres! Ga terug.</p>";
        }


//als er niets is ingevuld in het veld voor het bericht, laat dan een foutmelding zien - de tekst van deze foutmelding kun je aanpassen
    elseif (empty($bericht)) {
        echo "<h3>Bericht niet ontvangen</h3><p>Je hebt geen bericht ingevoerd! Ga terug.</p>";
        }


//als de CAPTCHA-code niet goed is ingevuld, laat dan een foutmelding zien - de tekst van deze foutmelding kun je aanpassen
    elseif(($_POST['check']) != $_SESSION['check']){
    echo "<h3>Bericht niet ontvangen</h3><p>Je hebt een foute CAPTCHA-code ingevoerd! Ga terug.</p>";
    ;}


//als alles goed is ingevuld, verstuur dan een e-mail naar jezelf (en evt. anderen)
    else {

//zet hier zoveel e-mailadressen neer als je wilt, gescheiden door een komma
        $aan = "info@wiebewerkt.nl";
        $onderwerp = "Informatieaanvraag van www.wiebewerkt.nl";
        $bericht = wordwrap($bericht, 70);
        $tekst  = "Naam: $naam" . "\r\n" . "Adres: $adres" . "\r\n" . "Postcode: $postcode" . "\r\n" . "Plaats: $plaats" . "\r\n" . "E-mailadres: $emailbezoeker" . "\r\n" . "Telefoonnummer: $telefoon" . "\r\n\r\n" . "Gevonden via: $gevonden" . "\r\n\r\n" . "Bericht: $bericht";
        $headers = "From: $emailbezoeker" . "\r\n";
        $headers .= "Reply-To: $emailbezoeker" . "\r\n";
    
        if (mail($aan, $onderwerp, $tekst, $headers)) {
            
//vervang in de tekst hieronder 'Je naam' door je eigen naam - de rest van de tekst kun je ook aanpassen
                echo "<h1>Bericht verzonden</h1><p>Dank je wel voor je aanvraag. Ik zal zo spoedig mogelijk reageren!</p>";

session_destroy();
            }


//als er toch nog iets fout is gegaan, laat dan deze melding zien - pas evt. de melding aan
            else {
                echo "<h1>Bericht niet ontvangen</h1><p>Je bericht kon niet worden verzonden. Verander je e-mailadres of probeer het later nog eens.</p>";
            }
             }
    }


?>


<!-- Einde van het formulier -->
</span>
<img class="back" src="images/back_05.jpg" width="900" height="600" />
<div class="content"><img class="wit" src="images/wit.jpg" width="900" height="600" /></div>
<div class="footer"><div align="right" class="dbn">ontwerp en realisatie: <a href="http://www.designbynathalie.nl/" target="_blank">Design by Nathalie</a></div>
</div>
<a href="http://www.linkedin.com/profile/view?id=55628176&amp;locale=en_US&amp;trk=tyah&amp;trkInfo=tas%3Awiebe%20%2Cidx%3A1-1-1" target="_blank" onmouseover="MM_swapImage('linkedin','','images/linked_ac.jpg',1)" onmouseout="MM_swapImgRestore()"><img class="linked" src="images/linked_in.jpg" width="30" height="30" id="linkedin" /></a>
</body>
</html>
 
Reshad F

Reshad F

28/11/2013 23:35:06
Quote Anchor link
session_start() moet HELEMAAL naar boven dus boven boven op regel 1 op deze manier

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
session_start();
?>


En dan komt je doctype etc. en de rest van je pagina. :) ( niet de php tags om session_start() vergeten )

En dreamweaver mag zeuren tot hij een ons weegt gebruik dan een goede IDE en geen dreamweaver want dat is 90% troep en voor die overige 10% niet waard om te gebruiken.
 
Nathalie Bax

Nathalie Bax

02/12/2013 09:39:04
Quote Anchor link
Klopt het dan dat het er twee keer in komt te staan? Ik heb het nu bovenaan gezet en de foutmelding is idd weg. Moet ik het verder op de pagina laten staan of moet het daar dan weg?
 
TJVB tvb

TJVB tvb

02/12/2013 11:07:21
Quote Anchor link
Die 2e keer moet dan weg.
 
Nathalie Bax

Nathalie Bax

02/12/2013 15:13:12
Quote Anchor link
Ok, super! Het werkt. Dank jullie wel voor de hulp.
 



Overzicht Reageren

 
 

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.