captcha geeft error in pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Raymond Oomen

Raymond Oomen

26/04/2008 23:06:00
Quote Anchor link
Hey,
Ik heb nu een script van een captcha (http://www.phphulp.nl/php/scripts/8/1042/)
hij doet et perfect maar ik krijg in de pagina nu deze error:


Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/vhosts/darkdimensions.nl/subdomains/pkfreeplay/httpdocs/guestbook.php:5) in /home/vhosts/darkdimensions.nl/subdomains/pkfreeplay/httpdocs/index2.php on line 7


Notice: Undefined index: p in /home/vhosts/darkdimensions.nl/subdomains/pkfreeplay/httpdocs/guestbook.php on line 34

op line 7 staat: session_start();
en op line 34 niks

weet iemand wat er fout is??
 
PHP hulp

PHP hulp

20/04/2024 01:42:30
 
- -

- -

26/04/2008 23:09:00
Quote Anchor link
Wat staan er op de regels daarvoor? Daar moet je even naar kijken ;-)
 
Raymond Oomen

Raymond Oomen

26/04/2008 23:11:00
Quote Anchor link
Probleem al opgelost heb display errors uitgezet
Gewijzigd op 01/01/1970 01:00:00 door Raymond Oomen
 
Frank -

Frank -

26/04/2008 23:28:00
Quote Anchor link
raymond schreef op 26.04.2008 23:11:
Probleem al opgelost heb display errors uitgezet
En dat noem jij een oplossing???

Wat dacht je er van om de notice op te lossen? Jij gaat werken met een variabele die niet bestaat, dat controleer jij niet. Deze bug, want dat is het, zie jij nu niet meer, deze gaat nu elders opduiken... En hoe je dat gaat oplossen, Joost mag het weten, jij weet niet welke variabelen er nu wel of niet bestaan.

Errors niet meer tonen is voor dwazen en websites die live zijn. Dan schrijf je de boel weg in je logboek. Jij valt duidelijk in de eerste categorie... ;)
 
Raymond Oomen

Raymond Oomen

26/04/2008 23:57:00
Quote Anchor link
hoe moet ik het dan oplossen kijk is onder mijn naam geen wonder dat ik het zo doe XD
 
Pepijn de vos

pepijn de vos

27/04/2008 08:59:00
Quote Anchor link
wat die error zegt is dat er al iets geprint is voor je een session aanmaakt.
je moet dus in je code kijken wat er staat voor dat je session start aanroept.
 
Raymond Oomen

Raymond Oomen

27/04/2008 11:57:00
Quote Anchor link
Dit staat boven mijn session (display_errors staat normaal on)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?

// We willen op de hoogte gehouden worden van alle errors / notices
ini_set('display_errors', 'off');
error_reporting(E_ALL);

// we gaan met sessies werken
session_start();
?>
 
Erwin Nieuwenhuis

Erwin Nieuwenhuis

27/04/2008 12:22:00
Quote Anchor link
error uitzetten is geen optie, want dan komt de fout nog wel voor. Maar hij geeft geen melding meer.

geef eens wat relevante code.
 
Raymond Oomen

Raymond Oomen

27/04/2008 12:27:00
Quote Anchor link
Dit is de code van de hele 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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
<?

// We willen op de hoogte gehouden worden van alle errors / notices
ini_set('display_errors', 'on');
error_reporting(E_ALL);

// we gaan met sessies werken
session_start();
?>

<!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>Gastenboek</title>
<meta http-equiv="REFRESH" content="240; URL=guestbook.php" />
<?PHP require_once('includes/engine.inc.php'); ?>
<style type="text/css">
    @import "includes/css/style.css";
</style>
<script language="javascript" type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script>
<script src="../SpryAssets/SpryEffects.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
    // General options
    mode : "textareas",
    theme : "advanced",
    plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

    // Theme options
    theme_advanced_buttons1 : "newdocument,bold,italic,underline,strikethrough,|,fontselect,fontsizeselect,link,unlink,image,code,|,charmap,emotions,iespell",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "top",
    theme_advanced_resizing : false,

    // Example content CSS (should be your site CSS)
    content_css : "includes/css/style.css",

    // Drop lists for link/image/media/template dialogs
    template_external_list_url : "lists/template_list.js",
    external_link_list_url : "lists/link_list.js",
    external_image_list_url : "lists/image_list.js",
    media_external_list_url : "lists/media_list.js",

    // Replace values for the template plugin
    template_replace_values : {
        username : "Some User",
        staffid : "991234"
    }
});
function MM_effectAppearFade(targetElement, duration, from, to, toggle)
{
    Spry.Effect.DoFade(targetElement, {duration: duration, from: from, to: to, toggle: toggle});
}
</script>
<script language="javascript" type="text/javascript">
function show(hidden)
{
  var hidden;
  hiddentag = document.getElementById( hidden );
  
  if(hiddentag.style.display=='block'){
  
  hiddentag.style.display='none';
  }else{
  
      if (hiddentag.style.display=='none'){
        
         hiddentag.style.display='block';
        
      } else {
         hiddentag.style.display='none';
      }
  }
  
}
</script>
</head>

<body bgcolor="#000000">
<br />
<?PHP
    if(isset($_POST['invoer'])){
        
        $naam = $_POST['naam'];
        $email = $_POST['mail'];
        $datum = $_POST['datum'];
        $bericht = str_replace("\n", "<br />", $_POST['bericht']);
        
        if(empty($naam)){ echo '<font color="red"><strong>Vul een naam in!</strong></font><br />'; $run = "no";}
        if(empty($bericht)){ echo '<font color="red"><strong>Vul een bericht in!</strong></font><br />'; $run = "no";}
        if(empty($captcha)){ echo '<font color="red"><strong>Vul beveiligings code in</strong></font><br />'; $run = "no";}
        
        if($run != "no"){ echo gastenboek_toevoegen($naam, $email, $datum, $bericht); }
    }

?>

<table class="style3">
        <td>
<li id="archives">
<li><a href="#" onclick="show('text'); "><div class="minimize">Post nieuw bericht.</div></a>
      <ul id="text" class="weken">
      <li>
<form method="post" action="<? $_SERVER['PHP_SELF']; ?>">
    <font color="#FFFFFF">Naam: </font>
    <input type="text" name="naam" / class="style"><br />
    <font color="#FFFFFF">Email:</font>&nbsp;
    <input type="text" name="mail" / class="style">
<br />
    <input type="hidden" name="datum" value="<?= date("Y-m-d H-i-s") ?>" />
    <font color="#FFFFFF">Bericht:</font>
    <br />
    <textarea name="bericht" cols="54" rows="10">Typ hier je bericht... <br />Tip: Deactiveer de derde knop van de onderste rij met functies.<br />Tip: als je een 'enter' invoegt gebruik dan de combinatie 'Shift - Enter'</textarea>



<?
// controlen of het formulier gesubmit is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    if(!empty($_POST['captcha_code']) && sha1(md5($_POST['captcha_code'])) == $_SESSION['captcha_code'])
    {

        echo 'De code is correct';
    }

    else {
        echo 'De ingevoerde code is niet juist! klik op refresh om opnieuw te proberen';
    }
}

else {
    $i = range(1, 8);
    echo '
            <br>
            <img src="c'
. $i[array_rand($i)] . '.php" />
            <br>
            Voer bovenstaande toegangscode in.<br>
            <label for="captcha_code">Code:</label>
            <input type="text" name="captcha" class="style"><br>

    '
;
}

?>



    <input type="submit" name="invoer" value="Post bericht!" class="style2" />
</form>    </li></ul></li></li>    </td>
</tr>
<table>
<a href="guestbook.php" class="style2">Refresh</a>
<br />
<?php
    $search_total_results
= // haal aantal resultaten op;
    $search_number_pages = ceil ($search_total_results / $search_per_page);
    $sql .= "
    LIMIT "
. $search_first_result . ", " . $search_per_page . "
    "
;
    
    if ($search_total_results > $search_per_page) {
    $content_html .= '<div id="paginering">';
    $content_html .= '<p>';
    for ($i = 0; $i < $search_number_pages; $i++) {
        if ($i >= $search_max_pages) break;
        if ($i * $search_per_page == $search_first_result) {
            $content_html .= '<strong>[' . ($i + 1) . ']</strong>';
        }

        else {
            $content_html .= '<a href="?first=' . ($i * $search_per_page) . '">' . ($i + 1) . '</a>';
        }
    }

    $content_html .= '</p>';
    $content_html .= '</div>';
}

?>


<?PHP
    //mysql query uitdraai om informatie uit te lezen uit de database
    $query = "SELECT * FROM gastenboek ORDER BY datum DESC";
    $resul = mysql_query($query);
    // weergave
    $i = 1;
    while($rij = mysql_fetch_assoc($resul))
    {
    
        if(is_float($i/ 2) == true){
?>





<div id="paginering">

    <table class="style1">
        <tr><td class="style1"><a class="style" href="mailto:<?= $rij['mail'] ?>"><?= $rij['naam'] ?></a></td></tr>
        <tr><td class="style1">Datum: &nbsp;&nbsp;&nbsp;&nbsp;<?= $rij['datum'] ?></td></tr>
        <tr><td class="style1">bericht:</td></tr>
        <tr><td class="bericht"><?= $rij['bericht'] ?></td></tr>
    </table>
<?PHP
        $i
++;
        }
else{
?>

    <table class="style2">
        <tr><td class="style2"><a class="style" href="mailto:<?= $rij['mail'] ?>"><?= $rij['naam'] ?></a></td></tr>
        <tr><td class="style2">Datum: &nbsp;&nbsp;&nbsp;&nbsp;<?= $rij['datum'] ?></td></tr>
        <tr><td class="style2">bericht:</td></tr>
        <tr><td class="bericht"><?= $rij['bericht'] ?></td></tr>
    </table>
</div>
<?PHP
        $i
++;
        }
    }

    
 ?>

</body>
</html>
 
Frank -

Frank -

27/04/2008 12:37:00
Quote Anchor link
Quote:
Notice: Undefined index: p in /home/vhosts/darkdimensions.nl/subdomains/pkfreeplay/httpdocs/guestbook.php on line 34

Waar komt deze melding vandaan? Waar gebruik jij een index p ?

Het vervelende is dat de code zo'n bende is, nu is debuggen een klein rampje geworden. Je doet ook te weinig aan foutafhandeling, er kan een hoop fout gaan zonder dat jij kunt achterhalen wát er fout gaat. Jouw huidige probleem kan er daar wel eens één van zijn.

Offtopic: sha1(md5($_POST['captcha_code'], schijnveiligheid, meer valt er niet over te zeggen.

En jouw datums, sla je die wel als datum op? Dus als DATE in het formaat yyyy-mm-dd ? Ik vermoed van niet.
 
Raymond Oomen

Raymond Oomen

27/04/2008 12:40:00
Quote Anchor link
zowiezo is die 2de error al opgelost had om vage reden bij mijn include get'p' staat wat niet nodig was. En de datum wordt ook gewoon goed opgeslagen dus daar is ook niks mis mee
 
Frank -

Frank -

27/04/2008 12:46:00
Quote Anchor link
raymond schreef op 27.04.2008 12:40:
En de datum wordt ook gewoon goed opgeslagen dus daar is ook niks mis mee
En wat is goed? Over welk formaat en datatype hebben we het nu? Is dat yyyy-mm-dd in een DATE? Zo niet, dan is het gewoon fout. Ga bv. maar eens sorteren op datum, dat blijkt dan ineens niet meer te werken, 1-4-2008 komt dan eerder dan 20-1-2008...

Edit: De foutmelding heeft het over 2 bestanden, guestbook.php en index2.php. Dit kan natuurlijk ook nog voor problemen zorgen, geen idee welk bestand jij hierboven toont en wat je daar mee doet. Het lijkt erop dat deze wordt geinclude waardoor dus een error optreedt.
Quote:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/vhosts/darkdimensions.nl/subdomains/pkfreeplay/httpdocs/guestbook.php:5) in /home/vhosts/darkdimensions.nl/subdomains/pkfreeplay/httpdocs/index2.php on line 7
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Raymond Oomen

Raymond Oomen

27/04/2008 12:49:00
Quote Anchor link
hij sorteert hem ook gewoon op de goede manier

date("Y-m-d H-i-s")
Gewijzigd op 01/01/1970 01:00:00 door Raymond Oomen
 
Frank -

Frank -

27/04/2008 12:53:00
Quote Anchor link
raymond schreef op 27.04.2008 12:49:
hij sorteert hem ook gewoon op de goede manier

date("Y-m-d H-i-s")
Dit is dus geen datum, als wordt de string wel goed gesorteerd. In SQL kun je hier verder weinig meer mee, even 5 minuten er bij optellen zit er niet meer in.

Maar goed, dit is niet het grootste probleem dat je nu hebt, zie de aanvulling op mijn vorige reactie.
 
Raymond Oomen

Raymond Oomen

27/04/2008 23:18:00
Quote Anchor link
@pqFrank: ik include dus index2.php maar als ie aangeeft dat session start() al een keer gebruikt is dan zou dat dus betekenen dat het in 2 bestanden staat maar dat is niet zo (ik heb de code van index2.php gepost)
Gewijzigd op 01/01/1970 01:00:00 door Raymond Oomen
 
Frank -

Frank -

27/04/2008 23:35:00
Quote Anchor link
Waar dan? En waar include jij dit bestand dan? Ik snap niks van de structuur die jij hier voorschotelt, het verbaast mij dan ook niet dat het fout gaat.

(er van uitgaande dat ik enige vorm van intelligentie bezit en de nodige ervaring heb...)
 
Raymond Oomen

Raymond Oomen

27/04/2008 23:54:00
Quote Anchor link
het script dat ik eerder heb gepost is index2.php en in guestbook.php word index2.php geinclude

<--guestbook.php-->
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
<!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>Guestbook</title><style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
</style>
</head>

<body bgcolor="#000000">
<center><table border="0" class="text-align:right;">
    <tr>
    <td> <?php
include('header.php');
?>

</td>
</tr>

    <tr>
    <td valign="top">
    <table width="100%">
        <tr>
        <td valign="top" width="100%">
<?
    include('index2.php');
    
?>

    
    </td>
    <td valign="top">
<?php
include('ltstnws.php');
?>

</td></tr></table>
</td>
</tr>
<tr>
    <td background="footer.jpg" width="823" height="57" valign="center" align="right"><span class="style1"><strong> copyright pk-freeplay.tk</strong></span> </td>
</tr>
    

 </table>
 </center>
</body>
</html>
 



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.