Probleem met Forum Reactie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kevin Blokzijl

Kevin Blokzijl

04/04/2011 10:35:56
Quote Anchor link
Hallo,
ik ben bezig met een forum script
Nu heb ik zover:

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
<?php
 echo "<b>Reacties:<br></b>";
    echo "<table border='0'>";    
    
    $csql = "SELECT naam,bericht,datum FROM replys WHERE tid = '" . $_GET['id'] . "'";
    $cres = mysql_query($csql);
    $roww = mysql_fetch_array($cres);
        $reactiesql = "SELECT * FROM users WHERE id = '" . $roww['naam'] . "'";
        $reactieres = mysql_query($reactiesql);
        $reactie = mysql_fetch_array($reactieres);  
    
    if (mysql_num_rows($cres) >= 1)
    {

    while ($roww = mysql_fetch_array($cres))
        {

            echo "<tr>
        <td><center><b>"
. $reactie['username'] . "</b></center></td>
        <td><b>"
. $roww['titel'] . "</b></td>
    </tr>
    <tr>
        <td><center><img src=images/"
.$reactie['avatar']."></center></td>
        <td>"
. $roww['bericht'] . "</td>
    </tr>
    <tr>
        <td><b>Credits:</b> "
. $reactie['credits'] . "<Br><b>Pixels:</b> " . $reactie['activity_points'] . "<br><b>Status:</b><br><br></td>
        <td>&nbsp;</td>
    </tr><p>"
;
        }
    }

    else
    {
             echo "Er zijn nog geen reacties.";
    }

    
?>


Alleen nu pakt hij bij elke nieuwe reactie de gegevens van de eerste reactie.

Dus bijvoorbeeld:

Reactie 1 door user 1.
Pakt hij alle gegevens
Reactie 2 door user 2
Pakt hij gegevens van user 1 dus avatar en credits etc.

Wie weet waar dit aan ligt?

Mvg
 
PHP hulp

PHP hulp

23/04/2024 21:02:09
 
Gerben Jacobs

Gerben Jacobs

04/04/2011 10:54:23
Quote Anchor link
Omdat je de gebruiker gegevens opvraagt buiten je while() loop en hij deze dus maar één keer uitvoert.
 
- Ariën  -
Beheerder

- Ariën -

04/04/2011 10:55:58
Quote Anchor link
En denk aan SQL-injection...

Iemand kan nu makkelijk je database naar de bliksem helpen.
 
Kevin Blokzijl

Kevin Blokzijl

04/04/2011 10:58:18
Quote Anchor link
Gerben Jacobs op 04/04/2011 10:54:23:
Omdat je de gebruiker gegevens opvraagt buiten je while() loop en hij deze dus maar één keer uitvoert.


Hoe bedoel je dat precies?

Toevoeging op 04/04/2011 11:19:54:

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
<?

    $csql
= "SELECT naam,bericht,datum FROM replys WHERE tid = '" . $_GET['id'] . "'";
    $cres = mysql_query($csql);        
    
    if (mysql_num_rows($cres) >= 1)
    {

    while ($roww = mysql_fetch_array($cres))
 $reactiesql = "SELECT * FROM users WHERE id = '" . $roww['naam'] . "'";
        $reactieres = mysql_query($reactiesql);
        $reactie = mysql_fetch_array($reactieres);
        {

            echo "<tr>
        <td><center><b>"
. $reactie['username'] . "</b></center></td>
        <td><b>"
. $roww['titel'] . "</b></td>
    </tr>
    <tr>
        <td><center><img src=images/"
.$reactie['look']."&></center></td>
        <td>"
. $roww['bericht'] . "</td>
    </tr>
    <tr>
        <td><b>Credits:</b> "
. $reactie['credits'] . "<Br><b>Pixels:</b> " . $reactie['activity_points'] . "<br><b>Status:</b> " . ($naam['online'] == 1 ? "Online" : "Offline") . "<br><br></td>
        <td>&nbsp;</td>
    </tr><p>"
;
        }
    }

    else
    {
             echo "Er zijn nog geen reacties.";
    }

    
?>


Zo heb ik hem nu.

Maar dan werkt hij nog niet
Gewijzigd op 04/04/2011 11:30:20 door Kevin Blokzijl
 
Marvin Radioo

Marvin Radioo

04/04/2011 17:12:51
Quote Anchor link
hoezo eigenlijk $roww ?
 
Kevin Blokzijl

Kevin Blokzijl

04/04/2011 19:42:31
Quote Anchor link
omdat er ergens anders al $row gebruikt wordt.

kan iemand nog helpen?
 
Noppes Homeland

Noppes Homeland

04/04/2011 19:46:59
Quote Anchor link
Kevin Blokzijl op 04/04/2011 19:42:31:
omdat er ergens anders al $row gebruikt wordt.

kan iemand nog helpen?


En wat is daar dan zo bijzonder aan, dat deze niet overschreven mag worden?
 
Kevin Blokzijl

Kevin Blokzijl

04/04/2011 19:59:57
Quote Anchor link
Je kunt toch niet 2x dezelfde waarde gebruiken?

Maar kun je me helpen met het script?
 
Arjan -

Arjan -

04/04/2011 20:03:45
Quote Anchor link
Gebruik een join op de user tabel in je eerste query. Dan hoef je niet te gaan klooien met (vele) queries binnen je while loop.

En de accolade van je while staat niet juist! Deze moet direct achter je while voorwaarde staan.
Gewijzigd op 04/04/2011 20:06:30 door Arjan -
 
Kevin Blokzijl

Kevin Blokzijl

04/04/2011 20:04:28
Quote Anchor link
Kun je me misschien een klein beetje helpen met de opzet?
 
Arjan -

Arjan -

04/04/2011 20:07:23
Quote Anchor link
Zie edit. Ik zit op mijn mobiel dus kan niet zo makkelijk je code aanpassen.
 
Johnno janssen

johnno janssen

04/04/2011 20:19:42
Quote Anchor link
voor mijn gevoel is dit ook fout
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
if (mysql_num_rows($cres) >= 1)
?>


moet dat niet zo zijn
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
   if (mysql_num_rows($cres) > 1)
?>
 
Jordi Kroon

Jordi Kroon

04/04/2011 20:24:50
Quote Anchor link
Inderdaad

Met >= is het of 1 of 0 met > alleen 0
 
- SanThe -

- SanThe -

04/04/2011 20:36:46
Quote Anchor link
Jordi kroon op 04/04/2011 20:24:50:
Inderdaad

Met >= is het of 1 of 0 met > alleen 0


... >= 1
Het is 'groter of gelijk' aan 1, dus nooit 0
 

04/04/2011 20:43:05
Quote Anchor link
Jordi kroon op 04/04/2011 20:24:50:
Inderdaad

Met >= is het of 1 of 0 met > alleen 0


Beide keren geen 0
 



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.