Ik heb een berichtensite voor 2 gebruikers. De gebruikers hebben verschillende opties. Nu krijg ik bij de ene gebruiker, met de meeste opties, steeds de foutmelding:
Lijn 118 in site.php is:
En lijn 19 in acties.php is:
Ik heb al uren op internet gezocht en eigenlijk lijkt overal de oplossing dat er 'ergens' wit regels voor een <?php of achter een ?> staan. Maar bij mij kan ik het probleem verhelpen door alleen maar wat html code weg te halen.
Het hoofdmenu heb ik in een tabel staan:
Als ik bij 2 td's alles weghaal wat die td's opmaakt, dus bij bijv de eerste 2 menu items, dan is het probleem weg:
Of als ik 1 hele td weg haal, zoals:
Dan is het probleem ook opgelost.
Ook kan ik het probleem oplossen door het aantal knoppen in het actie menu te wijzigen. Dit is nu:
En als ik daar 2 willekeurige knoppen weghaal dan werkt het ook! De fout kan dus worden opgelost door simpelweg html code weg te halen.
Echter wordt het probleem niet opgelost als ik in het hoofdmenu de eerste en/of laatste td weghaal.
Omdat het probleem is op te lossen door html code weg te halen lijkt het mij dus dat de fout niet in wit regels voor <?php of achter ?> zit... Is dit een juiste conclusie? Het rare is ook dat het niet werkt bij willekeurige code. Het lijkt bij een X aantal tekens pas te werken, verwijder ik minder dan X dan blijft de foutmelding komen, verwijder ik X of meer dan werkt alles wel.
Wie kan mij hiermee helpen? Of mij op weg helpen door eventueel aan te geven waarop ik kan Googlen ipv alleen maar "headers already sent" of "cannot modify header information"?
Als de rest van het script nodig is hoor ik het wel. Alvast super bedankt!
Edit: Ik heb trouwens ook gezien dat bij sommigen wat tekens voor de <?php worden gezet door hun editor, zoals een omgedraaid vraagteken. Bij mij is dit niet zo, en los daarvan wederom: het weghalen van html code lost het probleem op
code:
1
| Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/d3s.nl/httpdocs/kb/site.php:118) in /home/httpd/vhosts/d3s.nl/httpdocs/kb/scripts/acties.php on line 19 |
Lijn 118 in site.php is:
PHP:
1
| <?php if ($_GET['ma'] == "Gelezen" OR $_GET['ma'] == "Markeren" OR $_GET['ma'] == "Markeren opheffen" OR $_GET['ma'] == "Verbergen" OR $_GET['ma'] == "Weergeven" OR $_GET['ma'] == "Verwijderen") { include ('./scripts/acties.php'); } |
En lijn 19 in acties.php is:
code:
1
| header("Location: ./site.php?mt=".$_GET['mt']."&ml=actief&actie=lezen"); } |
Ik heb al uren op internet gezocht en eigenlijk lijkt overal de oplossing dat er 'ergens' wit regels voor een <?php of achter een ?> staan. Maar bij mij kan ik het probleem verhelpen door alleen maar wat html code weg te halen.
Het hoofdmenu heb ik in een tabel staan:
PHP:
1
2
3
4
5
6
7
8
9
10
11
| <table width="1240" height="60" border="0" cellspacing="0" cellpadding="0" background="./img_v2/banner.jpg"> <tr> <td width="30%"> </td> <td align="center" style="color:#525252; padding-left:5px; padding-right:5px;"><a href="?mt=bb&ml=<?php if ($_SESSION['UNAME'] == bart) { echo "toevoegen"; } else if ($_SESSION['UNAME'] == betty) { echo "actief"; } ?>&actie=lezen">Berichtjes Bart</a> <?php echo $bart_ongelezen; ?></td> <td align="center" style="color:#525252; padding-left:5px; padding-right:5px;"><a href="?mt=bt&ml=<?php if ($_SESSION['UNAME'] == bart) { echo "actief"; } else if ($_SESSION['UNAME'] == betty) { echo "toevoegen"; } ?>&actie=lezen">Berichtjes Betty</a> <?php echo $betty_ongelezen ?></td> <td align="center" style="padding-left:5px; padding-right:5px;"><a href="?mt=bo&ml=<?php if($_SESSION['UNAME'] == bart) { echo"statistieken&refresh=10"; } else if ($_SESSION['UNAME'] == betty) { echo"berichtjes_overig"; } ?>">Berichtjes overig</a></td> <td align="center" style="padding-left:5px; padding-right:5px;"><a href="?mt=fo&ml=login">Foto's</a></td> <td align="center" style="padding-left:5px; padding-right:5px;"><a href="?mt=vi">Video's</a></td> <td width="30%"> </td> </tr> </table> |
Als ik bij 2 td's alles weghaal wat die td's opmaakt, dus bij bijv de eerste 2 menu items, dan is het probleem weg:
PHP:
1
2
| <td><a href="?mt=bb&ml=<?php if ($_SESSION['UNAME'] == bart) { echo "toevoegen"; } else if ($_SESSION['UNAME'] == betty) { echo "actief"; } ?>&actie=lezen">Berichtjes Bart</a> <?php echo $bart_ongelezen; ?></td> <td><a href="?mt=bt&ml=<?php if ($_SESSION['UNAME'] == bart) { echo "actief"; } else if ($_SESSION['UNAME'] == betty) { echo "toevoegen"; } ?>&actie=lezen">Berichtjes Betty</a> <?php echo $betty_ongelezen ?></td> |
Of als ik 1 hele td weg haal, zoals:
code:
1
| <td align="center" style="padding-left:5px; padding-right:5px;"><a href="?mt=fo&ml=login">Foto's</a></td> |
Dan is het probleem ook opgelost.
Ook kan ik het probleem oplossen door het aantal knoppen in het actie menu te wijzigen. Dit is nu:
PHP:
1
2
3
4
5
6
7
8
9
10
| <form name="berichtjes" method="get" action="./start_v2.php" style="margin:0px;"> <input type="hidden" name="mt" value="<?php echo $mt; ?>"> <input type="hidden" name="ml" value="<?php echo $ml; ?>"> <input type="submit" name="ma" value="Gelezen" class="submit"> | <input type="submit" name="ma" value="Verbergen" class="submit"> | <input type="submit" name="ma" value="Markeren" class="submit"> | <input type="submit" name="ma" value="Markeren opheffen" class="submit"> | <input type="submit" name="ma" value="Aanpassen" class="submit"> | <input type="submit" name="ma" value="Verwijderen" class="submit"> |
En als ik daar 2 willekeurige knoppen weghaal dan werkt het ook! De fout kan dus worden opgelost door simpelweg html code weg te halen.
Echter wordt het probleem niet opgelost als ik in het hoofdmenu de eerste en/of laatste td weghaal.
Omdat het probleem is op te lossen door html code weg te halen lijkt het mij dus dat de fout niet in wit regels voor <?php of achter ?> zit... Is dit een juiste conclusie? Het rare is ook dat het niet werkt bij willekeurige code. Het lijkt bij een X aantal tekens pas te werken, verwijder ik minder dan X dan blijft de foutmelding komen, verwijder ik X of meer dan werkt alles wel.
Wie kan mij hiermee helpen? Of mij op weg helpen door eventueel aan te geven waarop ik kan Googlen ipv alleen maar "headers already sent" of "cannot modify header information"?
Als de rest van het script nodig is hoor ik het wel. Alvast super bedankt!
Edit: Ik heb trouwens ook gezien dat bij sommigen wat tekens voor de <?php worden gezet door hun editor, zoals een omgedraaid vraagteken. Bij mij is dit niet zo, en los daarvan wederom: het weghalen van html code lost het probleem op
