Hoe dit te plaatsen in php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marvin Radioo

Marvin Radioo

04/02/2011 21:30:06
Quote Anchor link
Hallo,

Dit is een stukje van een php forum.
Het moet zo worden:

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
<?
    include("connect.php");  
    include("functions.php");

    echo "<a href=\"topics.php\">Topic overzicht</a><p>";

    $sql = "SELECT id,titel,bericht,datum,naam FROM topics WHERE id = '" . $_GET['id'] . "'";
    $res = mysql_query($sql);
    
    $row = mysql_fetch_array($res);
    
    $row['bericht'] = nl2br($row['bericht']);
    
    echo "<tr class="forumkop">
    <td width="
1%" height="21"></td>
    <td width="
47%">" . $row['titel'] . "</td>
    <td width="
27%">Door " . $row['naam'] . "</td>
    <td width="
15%">" . $row['datum'] . "</td>
    <td width="
10%">  </td>
  </tr>"
;
?>


Alleen op dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<tr class="forumkop">
    <td width="1%" height="21"></td>
    <td width="47%">" . $row['titel'] . "</td>
    <td width="27%">Door " . $row['naam'] . "</td>
    <td width="15%">" . $row['datum'] . "</td>
    <td width="10%">  </td>
  </tr>


Geeft hij een error.
Hoe moet ik dit anders maken?
Mvg, Marvin
Gewijzigd op 04/02/2011 21:31:11 door Marvin Radioo
 
PHP hulp

PHP hulp

25/04/2024 11:26:36
 
- Ariën  -
Beheerder

- Ariën -

04/02/2011 21:31:40
Quote Anchor link
Is je error dan zo geheim dat je die niet wilt posten?

hint: escaping, " in een "-echo gaat niet werken.
Gewijzigd op 04/02/2011 21:32:13 door - Ariën -
 
Marvin Radioo

Marvin Radioo

04/02/2011 21:33:07
Quote Anchor link
het is gewoon een parse error.

- Aar - op 04/02/2011 21:31:40:
Is je error dan zo geheim dat je die niet wilt posten?

hint: escaping, " in een "-echo gaat niet werken.

Ehm.. Daarom vraag ik. hoe doe ik dit anders?
 
Pieter Jansen

Pieter Jansen

04/02/2011 21:35:16
Quote Anchor link
Nou, je escaped je width paramaters in je HTML. Dus daar gaat PHP sowieso een notice voor geven. Om karakters in PHP te escapen moet je een slash ( / ) gebruiken. Daarnaast gebruik je de Modulo (%) dus ook dat is niet gunstig. Dat zijn sowieso 2 problemen.
 
Marvin Radioo

Marvin Radioo

04/02/2011 21:36:53
Quote Anchor link
Hoe bedoel je dat met die / ?
 
Jordi Kroon

Jordi Kroon

04/02/2011 21:44:29
Quote Anchor link
kleine aanpassingen gedaan

mysql_real_escape_string voor mysqlinjection toegevoegd
en enkele quotes binnen de echo gebruikt dit voorkomt problemen

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
<?
    include "connect.php";  
    include "functions.php";

    echo "<a href='topics.php'>Topic overzicht</a><p>";

    $sql = "SELECT id, titel,bericht,datum,naam FROM topics WHERE id = '". mysql_real_escape_string($_GET['id']). "'";
    $res = mysql_query($sql);
    
    $row = mysql_fetch_array($res);
    
    $row['bericht'] = nl2br($row['bericht']);
    
    echo "<tr class='forumkop'>
    <td width='1%' height='21'></td>
    <td width='47%'>"
. $row['titel'] . "</td>
    <td width='27%'>Door "
. $row['naam'] . "</td>
    <td width='15%'>"
. $row['datum'] . "</td>
    <td width='10%'>  </td>
    </tr>"
;
?>
Gewijzigd op 04/02/2011 22:08:09 door Jordi Kroon
 
Joris van Rijn

Joris van Rijn

04/02/2011 22:23:35
Quote Anchor link
Merijn Venema op 04/02/2011 21:35:16:
Nou, je escaped je width paramaters in je HTML. Dus daar gaat PHP sowieso een notice voor geven. Om karakters in PHP te escapen moet je een slash ( / ) gebruiken. Daarnaast gebruik je de Modulo (%) dus ook dat is niet gunstig. Dat zijn sowieso 2 problemen.


Escapen gaat met de andere slash: \
 
Jordi Kroon

Jordi Kroon

04/02/2011 22:26:04
Quote Anchor link
en je opent <p> maar die word nooit afgesloten
 
Noppes Homeland

Noppes Homeland

04/02/2011 22:41:51
Quote Anchor link
Escapen is helemaal niet nodig, alleen zal het wel handiger zijn als je tegenovergesteld quote dan dat je nu gedaan hebt.

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
<?
    include 'connect.php';  
    include 'functions.php';

    echo '<a href="topics.php">Topic overzicht</a><p>';

    $sql = "SELECT id, titel,bericht,datum,naam FROM topics WHERE id = '". mysql_real_escape_string($_GET['id']). "'";
    $res = mysql_query($sql);
    
    $row = mysql_fetch_array($res);
    
    $row['bericht'] = nl2br($row['bericht']);
    
    echo '<tr class="orumkop">
    <td width="%"height="1"/td>
    <td width="7%">'
. $row['titel'] . '<td>
    <td width="7%">Door '
. $row['naam'] . '/td>
    <td width="5%">'
. $row['datum'] . '<td>
    <td width="10%">  </td>
    </tr>'
;
?>


Want alles wat tussen '........' wordt niet geevalueerd en alles tussen de "..." wel. En op deze manier hoef je uiteraard ook niet te escapen.

http://php.net/manual/en/language.types.string.php
 
Jordi Kroon

Jordi Kroon

04/02/2011 22:48:07
Quote Anchor link
@ noppes ja inderdaad ik had nu alleen even naar de kleuren gekeken :P

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
<?
    include "connect.php";  
    include "functions.php";

    echo "<a href='topics.php'>Topic overzicht</a><p>";

    $sql = "SELECT id, titel,bericht,datum,naam FROM topics WHERE id = '". mysql_real_escape_string($_GET['id']). "'";
    $res = mysql_query($sql);
    
    $row = mysql_fetch_array($res);
    
    $row['bericht'] = nl2br($row['bericht']);
    
    echo "<tr class='forumkop'>
    <td width='1%'height='1'/td>
    <td width='47%'>"
. $row['titel'] . "<td>
    <td width='27%'>Door "
. $row['naam'] . "/td>
    <td width='15%'>"
. $row['datum'] . "<td>
    <td width='10%'>  </td>
    </tr>"
;
?>
 
Marvin Radioo

Marvin Radioo

05/02/2011 13:07:11
Quote Anchor link
Noppes Homeland op 04/02/2011 22:41:51:
Escapen is helemaal niet nodig, alleen zal het wel handiger zijn als je tegenovergesteld quote dan dat je nu gedaan hebt.

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
<?
    include 'connect.php';  
    include 'functions.php';

    echo '<a href="topics.php">Topic overzicht</a><p>';

    $sql = "SELECT id, titel,bericht,datum,naam FROM topics WHERE id = '". mysql_real_escape_string($_GET['id']). "'";
    $res = mysql_query($sql);
    
    $row = mysql_fetch_array($res);
    
    $row['bericht'] = nl2br($row['bericht']);
    
    echo '<tr class="orumkop">
    <td width="%"height="1"/td>
    <td width="7%">'
. $row['titel'] . '<td>
    <td width="7%">Door '
. $row['naam'] . '/td>
    <td width="5%">'
. $row['datum'] . '<td>
    <td width="10%">  </td>
    </tr>'
;
?>


Want alles wat tussen '........' wordt niet geevalueerd en alles tussen de "..." wel. En op deze manier hoef je uiteraard ook niet te escapen.

http://php.net/manual/en/language.types.string.php




Parse error: parse error, expecting `','' or `';'' in C:\Abyss Web Server\htdocs\replys.php on line 31
 
Jordi Kroon

Jordi Kroon

05/02/2011 13:09:55
Quote Anchor link
Wat staat er op regel 31?
Je moet connect.php en functions.php erbij optellen


Toevoeging op 05/02/2011 13:11:56:

Maak van

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= "SELECT id, titel, bericht, datum, naam FROM topics WHERE id = '". mysql_real_escape_string($_GET['id']). "'";
?>

Dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= "SELECT id, titel, bericht, datum, naam FROM topics WHERE id = '". mysql_real_escape_string($_GET['id'])"'";
?>
Gewijzigd op 05/02/2011 13:10:19 door Jordi Kroon
 
- SanThe -

- SanThe -

05/02/2011 13:28:07
Quote Anchor link
@Jordi: Ga jij nou van een juiste regel een regel met een fout maken? In de tweede regel mist een punt.
 
Marvin Radioo

Marvin Radioo

05/02/2011 14:06:34
Quote Anchor link
$row['bericht'] = smilie($row['bericht']);
echo $row['bericht'] . "<p>";

echo "<b>Reacties:<br></b>";

Regel 31 is de bovenste

Gr
 



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.