login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Wat doe ik fout?

Offline Stefan22 - 16/02/2013 15:30 (laatste wijziging 18/02/2013 14:04)
Avatar van Stefan22Nieuw lid Hallo, ik ben redelijk nieuw met PHP, en als ik een website maak met deze code, krijg ik deze fout: syntax error, unexpected T_STRING

Hoe kan ik dit oplossen?

  1. <?php
  2.  
  3. while($bFetch = mysql_fetch_assoc($bQuery))
  4. {
  5. if($bFetch['readed'] == 0)
  6. {
  7. $vriend = '<?php echo stripslashes($bFetch['title']); ?>';
  8. }
  9.  
  10. $nQuery = mysql_query("SELECT * FROM users WHERE id = '" . mysql_real_escape_string($bFetch['author']) . "'") or die(mysql_error());
  11. $nFetch = mysql_fetch_assoc($nQuery);
  12.  
  13. ?>
  14. <tr>
  15. <?php echo $vriend; ?>
  16. </tr>
  17. <?php
  18. }
  19. echo '</table>';
  20. }
  21. }
  22. }
  23. ?>

6 antwoorden

Gesponsorde links
Offline Luc18 - 16/02/2013 18:32 (laatste wijziging 16/02/2013 18:32)
Avatar van Luc18 Onbekend Graag de volgende keer code tags gebruiken, en verder kan je php niet nogmaals openen binnen php.

Ook is het handiger om de volgende keer aan te geven om welke regel het gaat (on line...)

Probeer dit eens:
  1. <?php
  2. while($bFetch = mysql_fetch_assoc($bQuery)){
  3.  
  4. if($bFetch['readed'] == 0){
  5.  
  6. $vriend = stripslashes($bFetch['title']);
  7.  
  8. }
  9.  
  10. $nQuery = mysql_query("SELECT * FROM users WHERE id = '" . mysql_real_escape_string($bFetch['author']) . "'") or die(mysql_error());
  11. $nFetch = mysql_fetch_assoc($nQuery);
  12.  
  13. ?>
  14.  
  15. <tr>
  16. <?php echo $vriend; ?>
  17. </tr>
  18.  
  19. <?php
  20. }
  21.  
  22. echo '</table>';
  23.  
  24. }
  25.  
  26. }
  27.  
  28.  
  29. }
  30.  
  31.  
  32. ?>
Offline Stefan22 - 17/02/2013 20:09
Avatar van Stefan22 Nieuw lid Oke, sorry. Ik begreep niet hoe je dat tussen code tags moest zetten.
Nu heb ik deze code, waar staat als readed 0 is, dat er dan niets komt te staan, maar als readed 0 is, komt er te staan wat er moet komen te staan als readed 1 is. Hoe kan dit?

  1. <?php
  2.  
  3.  
  4. while($bFetch = mysql_fetch_assoc($bQuery)){
  5.  
  6. if($bFetch['readed'] == 0){
  7.  
  8. $vriend = "";
  9.  
  10. }else{
  11.  
  12. $vriend = stripslashes($bFetch['title']);
  13.  
  14. }
  15.  
  16. $nQuery = mysql_query("SELECT * FROM users WHERE id = '" . mysql_real_escape_string($bFetch['author']) . "'") or die(mysql_error());
  17. $nFetch = mysql_fetch_assoc($nQuery);
  18.  
  19. ?>
  20.  
  21. <tr>
  22. <td style="border: 1px solid #CCCCCC; padding: 6px; background-color: <?php echo $vriend; ?>;"><a href="?p=vrienden&read=<?php echo $bFetch['id']; ?>"><?php echo stripslashes($bFetch['title']); ?></a></td>
  23. <td style="border: 1px solid #CCCCCC; padding: 6px; background-color: <?php echo $color; ?>; text-align: center;"><a href="#" onclick="var c = confirm('Weet je zeker dat je <?php echo stripslashes($nFetch['username']); ?> als vriend wilt verwijderen?'); if(c == true) { location.href='?p=mijnvrienden&delete=<?php echo $bFetch['id']; ?>'; }"><img src="img/delete.gif" /></a></td>
  24. </tr>
  25.  
  26. <?php
  27. }
  28.  
  29. echo '</table>';
  30.  
  31. }
  32.  
  33. }
  34.  
  35.  
  36. }
  37.  
  38.  
  39. ?>
Offline Martijn - 18/02/2013 15:35 (laatste wijziging 18/02/2013 15:38)
Avatar van Martijn Crew PHP Je code in het klein doet dit:

  1. <?php
  2. $vriend = '<?php echo stripslashes($bFetch['title']); ?>';
  3. ?>

----
EDIT: Hier zit je fout ook! Je probeert de tekst '<?php echo stripslashes($bFetch[' aan variabel $vriend te geven, zover php het ziet. Daarna staat *opeens* de tekst title erachter, wat voor php unexpected is
----
de <?php is de php open tag, net als <html> voor een html bestand. Vervolgens doe je dat nog een keer, wat verkeerd is. Bovendien die je een echo. Echo kun je lezen als 'zet op scherm', en dus niet 'gebruik deze waarde', zoals je m nu gebruikt.
Dit is de juiste manier:
  1. <?php
  2. $vriend = stripslashes($bFetch['title']);
  3. ?>


Als het goed is geef je fout ook een regel mee. De fout is eigenlijk heel simpel: 'unexpected T_STRING' -> 'Onverwacht een [string/textteken] tegengekomen'
Ergens sluit je iets dis niet goed af.

Nog een tipje, de short echo:
  1. <td style="border: 1px solid #CCCCCC; padding: 6px; background-color: <?php echo $vriend; ?>;"><a href="?p=vrienden&read=<?php echo $bFetch['id']; ?>"><?php echo stripslashes($bFetch['title']); ?></a></td>

Mag ook:
  1. <td style="border: 1px solid #CCCCCC; padding: 6px; background-color: <?=$vriend ?>;"><a href="?p=vrienden&read=<?=$bFetch['id'] . stripslashes($bFetch['title']) ?></a></td>
Offline Stefan22 - 18/02/2013 16:18
Avatar van Stefan22 Nieuw lid @Martijn, bedankt voor je reactie. Maar het is nog niet gelukt. Als readed = 0, komt er gewoon te staan wat er moet komen te staan als readed = 1.

  1. <?php
  2.  
  3.  
  4. while($bFetch = mysql_fetch_assoc($bQuery)){
  5.  
  6. if($bFetch['readed'] == 1){
  7.  
  8. $vriend = stripslashes($bFetch['title']);
  9.  
  10. }else{
  11.  
  12. $vriend = "";
  13.  
  14. }
  15.  
  16. $nQuery = mysql_query("SELECT * FROM users WHERE id = '" . mysql_real_escape_string($bFetch['author']) . "'") or die(mysql_error());
  17. $nFetch = mysql_fetch_assoc($nQuery);
  18.  
  19. ?>
  20.  
  21. <tr>
  22. <td style="border: 1px solid #CCCCCC; padding: 6px; background-color: <?php echo $vriend; ?>;"><a target="_blank" href="http://flaiky.site11.com/profile.php?name=<?php echo $nFetch['username']; ?>&p=start"><?php echo $nFetch['username']; ?></a></td>
  23. <td style="border: 1px solid #CCCCCC; padding: 6px; background-color: <?php echo $vriend; ?>; text-align: center;"><a href="#" onclick="var c = confirm('Weet je zeker dat je <?php echo stripslashes($nFetch['username']); ?> als vriend wilt verwijderen?'); if(c == true) { location.href='?p=vrienden&delete=<?php echo $bFetch['id']; ?>'; }"><img src="img/delete.gif" /></a></td>
  24. </tr>
  25.  
  26. <?php
  27. }
  28.  
  29. echo '</table>';
  30.  
  31. }
  32.  
  33. }
  34.  
  35.  
  36. }
  37.  
  38.  
  39. ?>
Offline Martijn - 19/02/2013 15:36 (laatste wijziging 20/02/2013 14:29)
Avatar van Martijn Crew PHP Je kunt kijken wat de waarde daarvn is door op regel 15 dit te zetten
  1. echo "(".$bFetch['readed'].") ".$vriend."<br />";

Je zou dan steeds tussen de haakjes moeten zien wat de waarde in de DB is, anders zou je query mogelijk fout kunnen zijn.

Half off-topic: Verleden tijd van 'read' is 'read', niet 'readed'. Verschilt alleen in uitspraak:
I read a book (tegenwoordige tijd), spreek je read als 'riet'
I read a book (verleden tijd, ik las een boek), spreek je read uit als 'ret'
Offline Stefan22 - 19/02/2013 16:19
Avatar van Stefan22 Nieuw lid @Martijn, ja dat weet ik. Dit was een script van iemand anders.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.229s