</td></tr> probleem
Ik heb de volgende code...
(it is een deel van een script, de rest doet er niet toe dat zijn alleen maar controles of alle nodige data aanwezig is)
Wat gaat er fout: Alleen de files worden getoont, de directories niet(dus de onderste word niet getoont).
Maar, stel nou, ik verander </td> .. </tr> in </atd> .. </atr> (of dergelijk)dan werkt het wel, maar im moet </td></tr> wel hebben anders toont hij de tabel fout. Het is echt raar. Dit werkt dus wel maar dan heb ik geen </td></tr>:
Dus halen we de i uit de tags weg, is alles weer LETTERLIJK WEG! Ik snap er niks meer van. De code is gewoon goed zoals ik het zie. Kan iemand mij helpen?
Code (php)
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
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
<?php
$dir = $sentire->dir . "/" . $_GET['root'];
//Open dir
if ($dh = opendir($dir)) {
$files = "<table style='width:100%;'>";
//Read dir
while (($file = readdir($dh)) !== false) {
if(is_file($dir . "/" . $file)){
//echo file
$files = $files . "
<tr>
<td></td>
<td>".filetype($dir . $file)."</td>
<td>$file</td>
</tr>
";
}else{
if ($file != "." && $file != "..") {
$files = "
<tr>
<td><img src='./sources/admin/images/icons/fileselector/directory.png'></td>
<td>dir</td>
<td>". $file . "</td>
</tr>
". $files;
}
}
}
?>
$dir = $sentire->dir . "/" . $_GET['root'];
//Open dir
if ($dh = opendir($dir)) {
$files = "<table style='width:100%;'>";
//Read dir
while (($file = readdir($dh)) !== false) {
if(is_file($dir . "/" . $file)){
//echo file
$files = $files . "
<tr>
<td></td>
<td>".filetype($dir . $file)."</td>
<td>$file</td>
</tr>
";
}else{
if ($file != "." && $file != "..") {
$files = "
<tr>
<td><img src='./sources/admin/images/icons/fileselector/directory.png'></td>
<td>dir</td>
<td>". $file . "</td>
</tr>
". $files;
}
}
}
?>
(it is een deel van een script, de rest doet er niet toe dat zijn alleen maar controles of alle nodige data aanwezig is)
Wat gaat er fout: Alleen de files worden getoont, de directories niet(dus de onderste word niet getoont).
Maar, stel nou, ik verander </td> .. </tr> in </atd> .. </atr> (of dergelijk)dan werkt het wel, maar im moet </td></tr> wel hebben anders toont hij de tabel fout. Het is echt raar. Dit werkt dus wel maar dan heb ik geen </td></tr>:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
}else{
if ($file != "." && $file != "..") {
$files = "
<tr>
<td><img src='./sources/admin/images/icons/fileselector/directory.png'></td>
<td>dir</td>
<td>". $file . "</itd>
</itr>
". $files;
}
}
if ($file != "." && $file != "..") {
$files = "
<tr>
<td><img src='./sources/admin/images/icons/fileselector/directory.png'></td>
<td>dir</td>
<td>". $file . "</itd>
</itr>
". $files;
}
}
Dus halen we de i uit de tags weg, is alles weer LETTERLIJK WEG! Ik snap er niks meer van. De code is gewoon goed zoals ik het zie. Kan iemand mij helpen?
Gewijzigd op 23/02/2012 22:30:46 door Phpnuke r
Je gebruikt ten eerste de quotes verkeerd. Een tutorial hierover van mij vind je hier
Ik zie geen fout, maar maak dit eens goed, kijken of er iets gebeurt
Ik zie geen fout, maar maak dit eens goed, kijken of er iets gebeurt
</itd> ?? is dat een manier van afsluiten?
Debug actie 1 als je niet te zien krijgt wat je wil in de browser is eens kijken in de broncode van de pagina. Kijk eens wat er daar komt te staan. Veelal geeft dat al een clue naar wat er fout gaat en wat je moet doen om het te verhelpen.
bestaat de dir: $dir = $sentire->dir . "/" . $_GET['root'];
Quote:
Je gebruikt ten eerste de quotes verkeerd. Een tutorial hierover van mij vind je hier
Ik zie geen fout, maar maak dit eens goed, kijken of er iets gebeurt
Ik zie geen fout, maar maak dit eens goed, kijken of er iets gebeurt
Waar gebruik ik die verkeert? Ik weet best om te gaan met quotes maar ik weet echt niet wat jij nu bedoeld. Ik zie nergens een quote missen of inplaatsvan double quote een single ofzo. (overigens zou dit een error moeten geven)
Dead link
Quote:
</itd> ?? is dat een manier van afsluiten?
Ik gaf aan dat ik dat deed om te kijken of het aan </td></tr> lag aangezien daar heeltijd het probleem lag. Opeens werkte het wel, maar ik moet gewoon </td></tr> op die plek hebben want nu is de html invalid en bovendien toont de tabel niet goed.
Quote:
bestaat de dir: $dir = $sentire->dir . "/" . $_GET['root'];
Ja, hij werkt namelijk wel tenzij ik er </td></tr> bij zet :(
Quote:
Debug actie 1 als je niet te zien krijgt wat je wil in de browser is eens kijken in de broncode van de pagina. Kijk eens wat er daar komt te staan. Veelal geeft dat al een clue naar wat er fout gaat en wat je moet doen om het te verhelpen.
Heb ik gedaan, het komt er precies zoals ik verwacht. Alleen zonder </td></tr> of met </itd></itr>
(nog raarder is dat de bovenste werkt, terwijl er zeer weinig verschil in zit.
Als ik $files net als bij de bovenste voor alles doe dus $files = $files . "... dan werkt het wel maar doe ik hem erna(zoals nu) werkt hij, tenzij er </td></tr> voor staat.
Gewijzigd op 24/02/2012 12:11:02 door phpnuke r
Laat eens zien wat er in de source van je browser staat dan.

Er staat overigens ook geen <table> voor en geen </table> achter maar zoals je in de code ziet is die er wel...
En nu nog even de echte source code (rechts klikken op je pagina waarschijnlijk, in menu "view source code" oid). Wat je nu laat zien is denk ik al geinterpreteerde code door de browser, dus ontbrekende tags worden dan al aangevuld dat wil je nu juist even niet.
<< Mijn hele systeem is in ajax, daarom gebruik ik f12 in chrome. Ajax toont hij namelijk niet in de broncode (helaas) Ik heb dus een externe aangemaakt en daarin werkte het wel.<< wonderbaarlijk
Nu heb ik daardoor de fout kunnen vinden :) Alles word VOOR de rest gezet in het stukje dat niet werkte. Dus ook voor $files = "<table style='width:100%;'>";.
Nu is het dus gefixt, alleen snap ik niet waarom hij nou op een lege pagina wel juist weergeeft :(
Bedankt allen :)
Nu heb ik daardoor de fout kunnen vinden :) Alles word VOOR de rest gezet in het stukje dat niet werkte. Dus ook voor $files = "<table style='width:100%;'>";.
Nu is het dus gefixt, alleen snap ik niet waarom hij nou op een lege pagina wel juist weergeeft :(
Bedankt allen :)




