Nieuwssysteem: Error op lijn 26 maar waarom?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java developer met testervaring

Java developer met testervaring Functieomschrijving "De drempel tussen de burger en de Belastingdienst zo laag mogelijk houden: dat is de belangrijke taak van ons team. Dit doen we door het burgerportaal Mijn Belastingdienst continu te verbeteren." René, Java-specialist bij de Belastingdienst. De keten Interactie is een samenwerkingsverband van alle dienstonderdelen binnen de Belastingdienst. Samen zorgen we dat het contact met burgers en bedrijven goed kan plaatsvinden. Onze belangrijkste opgave? Zoveel mogelijk digitaliseren. Dat doen we binnen het onderdeel Informatievoorzieningen (IV), de ICT-organisatie van de Belastingdienst. Denk bij de producten die IV-Interactie ontwikkelt en onderhoudt aan portalen, formulieren en authenticatie- en

Bekijk vacature »

 - Diov  -

- Diov -

13/01/2012 17:27:51
Quote Anchor link
Heey,
Ik ben nu bezig om een nieuwssysteem te maken.
De code hieronder is om een reactie toe te voegen maar het is nog in de beginfase.
Nu is nog SPAM mogelijk enzovoort.
Ik krijg een error op lijn 26 maar zou niet weten hoe dit komt.
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
<?php

    # errors weergeven
    ini_set('display_errors',1); // 1 == aan , 0 == uit
    error_reporting(E_ALL | E_STRICT);

    # sql debug
    define('DEBUG_MODE',true);  // true == aan, false == uit

    # functie voor sql debug

    function showSQLError($sql,$error,$text='Error')
    {

        if (DEBUG_MODE)
        {

            return  '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
        }

        else
        {
            return $text;
        }
    }
  


include(config.php)

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
      $sql = "
              INSERT INTO balk
              (
                          naam,
                          bericht,
                      ip,
                          datum
              )
              VALUES
              (
                          '"
.mysql_real_escape_string($_POST['naam'])."',
                          '"
.mysql_real_escape_string($_POST['bericht'])."',
                      '"
.mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."',
                          DATE_ADD(NOW(), INTERVAL 6 HOUR)
              )
              "
;

#  Check of query is gelukt    
if (($result_insert_reactie = mysql_query($sql_insert_reactie)) === false)
{

    # als de query fout is -> foutafhandeling
    echo showSQLError($sql_insert_reactie,mysql_error(),'Fout bij het invoegen van een gebruikerreactie.');
}

else
{
    # De query is geluk! :)
    
    echo 'Bericht succesvol geplaatsts.';
}

else { // Er is niet op de knop Verzenden geklikt dus laten we het formuliertje weer zien
?>

<html>
<title>Nieuwssysteem - Plaats reactie</title>
<body>


    <form action='reactie.php' method='post'>



      <input type='text' name='naam' maxlength='30'/>
      <input type="text" name="bericht" />
      <input type="submit" value="Plaats reactie"/>
                

<?php
}
?>
          


Heb al verschillende dingen geprobeert maar kan het niet vinden.
Met vriendelijke groet
Dem
Gewijzigd op 13/01/2012 17:37:40 door - Diov -
 
PHP hulp

PHP hulp

23/10/2021 07:23:38
 
Erwin H

Erwin H

13/01/2012 17:30:48
Quote Anchor link
Wat is de error?

Toevoeging op 13/01/2012 17:31:40:

Laat maar, ik denk dat ik het al zie. Een vergeten ; op regel 24 wellicht?
 
Marco PHPJunky

Marco PHPJunky

13/01/2012 17:31:43
Quote Anchor link
nou je bent de ; vergeten achter je inlcude op line 24...
 
 - Diov  -

- Diov -

13/01/2012 17:32:08
Quote Anchor link
Parse error: syntax error, unexpected T_IF
Dit is de error maar vind niet echt veel fouten in mijn statement.
Misschien mijn syntax.

Toevoeging op 13/01/2012 17:33:38:

Marco PHPJunkie op 13/01/2012 17:31:43:
nou je bent de ; vergeten achter je inlcude op line 24...


Oh bedankt. Had ik even over het hoofd gezien. De error duide ook een verkeerde regel aan naja.
 
Kris Peeters

Kris Peeters

13/01/2012 17:36:15
Quote Anchor link
Je moet dat zien vanuit het standpunt van php.

Als mens heb je het gevoel dat de fout op lijn 24 staat, maar php ziet dat anders.
Het is pas wanneer php iets anders tegen komt, dat hij denkt: oei, dit had ik niet verwacht. Ik verwachtte een puntkomma.

En dat gebeurt dus op lijn 26.
 
 - Diov  -

- Diov -

13/01/2012 17:36:26
Quote Anchor link
Had ook nog een fout gevonden.
Na lijn 55 moest er nog een '}' komen.
Nu werkt het :)
 
Erwin H

Erwin H

13/01/2012 17:37:48
Quote Anchor link
Dem Ian op 13/01/2012 17:32:08:
De error duide ook een verkeerde regel aan naja.

Strikt genomen niet. De parser verwacht namelijk nog een ; te zien. Die ziet hij niet, maar wel een IF. De fout zit dus op regel 26, want daar komt als eerste iets wat de parser niet verwacht. Dat de ; een paar regels eerder moet kan die parser niet goed zien.

Anyway, het is een fout die iedereen een paar keer maakt.... per dag :-)
 
 - Diov  -

- Diov -

13/01/2012 18:23:28
Quote Anchor link
Ik heb nog een vraagje, maar het is een makkelijke vraag en dus hoef ik denk ik geen nieuw onderwerp aan te maken.

Ik zou graag hebben als je voorbeeld in een form hebt, dat je dan action gewoon de pagina naam neemt. Zonder hem leeg te laten.

Heb dit nodig in php misschien zijn er ook nog andere oplossingen.
Dat van in een form is een voorbeeld.
 
- Ariën -
Beheerder

- Ariën -

13/01/2012 18:32:12
Quote Anchor link
Ik snap je niet?
 
- SanThe -

- SanThe -

13/01/2012 18:32:26
Quote Anchor link
Dem Ian op 13/01/2012 18:23:28:
Ik zou graag hebben als je voorbeeld in een form hebt, dat je dan action gewoon de pagina naam neemt. Zonder hem leeg te laten.


Wat staat hier?
 
 - Diov  -

- Diov -

13/01/2012 18:33:15
Quote Anchor link
Laat ook maar. (niet erg bedoelt)
Als ik een nieuwssysteem maak, zal ik dit ook niet kunnen gebruiken.
Ik zal een andere oplossing moeten zoeken :)

Heb nu dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
header('Refresh: 2; url=""');
    echo 'U wordt automatisch teruggestuurd. Als dit niet het geval is, druk dan <a href="">Hier</a>';


Maar ik had ooit eens gelezen om voorbeeld met tags
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? url ?>
ofzo zoiets te doen maar weet niet waar ik dat gezien had.
Gewijzigd op 13/01/2012 18:41:05 door - Diov -
 
Eddy B

Eddy B

13/01/2012 19:00:32
Quote Anchor link
<form action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_SERVER['PHP_SELF']; ?>
" method="post">
</form>

Bedoel je denk ik? Het komt veel voor, maar is erg XSS gevoelig.
 
 - Diov  -

- Diov -

13/01/2012 19:23:12
Quote Anchor link
Oh ok, dus het is eigenlijk beter om het gewoon leeg te laten?
 
Eddy B

Eddy B

13/01/2012 19:25:39
Quote Anchor link
Jep en natuurlijk veel escapen e.d.
 



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.