mysqldumper
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 11.03.2005, 12:49   #1
TP-Supporter
 
Benutzerbild von nicnac1
 
Registriert seit: Jun 2001
Ort: Berlin
nicnac1 macht alles soweit korrekt

[PHP] Fehler in for schleife bei Ausgabe von HTML?


Hi,

unter http://www.pixelcoach.de/postkarten/...kat=.&start=40
seht ihr eine Seite die irgendwie aus dem leim geht. Ich finde auf die Schnelle nicht den Fehler, der Verursacher hockt gerade über der Steuer und hat keine Zeit.

wer mag mal mit rüberschauen? ich vermute mal, das in der for schleife der fehler ist.
hier der quellcode der seite

PHP-Code:
<?
include("../conf/config.inc.php");
include(
"../conf/dirfunctions.inc.php");
include(
"./inc/postcardheader.inc");

// Folder ermitteln
if (!isset($kat)) $kat '.';
$adr $image_root "/" $kat;
$b_pics = array();
get_images($adr,&$b_pics);
usort($b_pics,'sort_images');

// Start und Ende der Ausgabe
if (!isset($start)) $start 0;
$nextstart = ($start/$imgperside 1) * $imgperside;
$laststart $nextstart 2*$imgperside;
if (
$laststart 0$laststart 0;
if (
$nextstart count($b_pics)) $nextstart 0;
$picende $start $imgperside;
if (
$picende count($b_pics)) $picende count($b_pics);

//lang-switcher
(ereg('/de',$_SERVER["REQUEST_URI"])) ? $switcher ereg_replace('/de','/en',$_SERVER["REQUEST_URI"]) : $switcher ereg_replace('/en','/de',$_SERVER["REQUEST_URI"]);
?>
<form method="post" action="makecard.php" name="card">
 <table class="content" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="5" class="transparent" style="border-bottom: 1px solid #90ace3;" width="766">&nbsp;</td>
  </tr> 
  <tr>
    <td colspan="4" class="header" width="711">Bitte w&auml;hlen Sie:&nbsp; 
          <select name="kat" onChange="MM_jumpMenu('parent',this,0)">
      <? echo get_selecter($kat?>
          </select></td>
    <td class="rechts" style="border-bottom: 1px solid #90ace3;" width="55"><a href="<? echo $switcher ?>" style="font-size:1em; margin-right:8px;" title="english version">English</a></td>
  </tr>
  <tr>
    <td colspan="5" class="transparent" width="766">&nbsp;</td>
   </tr>
  <tr>
    <td rowspan="3" class="transparent" style="width:10px;" width="10"><img src="../img/spacer.gif" width="10" height="1"></td>
    <td width="591" rowspan="3" valign="top" style="border-top: 1px solid #90ace3;border-bottom: 1px solid #90ace3;border-left: 1px solid #90ace3"><table class="cards">
      <tr valign="top"> 


<? // liegt hier der Hund begraben?


    
for ($i=$start;$i<$start+8;$i++) 
    {
        
$image_name $b_pics[$i];
?>
        <td width="<? echo $table_pic_w ?>" height="<? echo $table_pic_h ?>">
<?
        
if ($image_name!="")
        {
            
$size get_imgsize($image_name);
            if (
$size[0] > $size[1]) 
            {
                
$th_width  max($t_maxbreite,$t_maxhoehe);
                
$th_height min($t_maxbreite,$t_maxhoehe);
            }
            else
            {
                
$th_width  min($t_maxbreite,$t_maxhoehe);
                
$th_height max($t_maxbreite,$t_maxhoehe);
            }
        
// altname feststellen
        
$alt_text get_alttext($image_name);
        
$altname  ereg_replace("<br>"," ",$alt_text);
        (
$i == $start) ? $checked "CHECKED" $checked "";
?>
        <a href="#" onClick="bigsize('<? echo $image_name ?>','<? echo $size[1?>','<? echo $size[0?>','<? echo $alt_text ?>','<? echo $image_name ?>');activ(<? echo $j ?>)"><img src="../conf/thumber.php?img=<? echo $image_name ?>" alt="<? echo $altname ?>" width="<? echo $th_width ?>" height="<? echo $th_height ?>" border="0" class="rahmen" title="<? echo $altname ?>"></a><br><input type="radio" name="pic" value="<? echo $image_name ?><? echo $checked ?> class="boppel">
<?
        
} else {
?>
        &nbsp;
<?
        
}
?>        
           <br></td>
<?
           
if ( ($i+1)%== && ($i+1) != $picende 
           {
?>               
           </tr>
           <tr valign="top">
<?
        
}
        
$j++;
}
?>
  </tr>
    </table>
</td>
    <td rowspan="3" class="transparent" style="width:10px; border-left: 1px solid #90ace3; border-right: 1px solid #90ace3;" width="10"><img src="../img/spacer.gif" width="10" height="1"></td>
    <td valign="top" class="white" style="padding-top:0;border-bottom:0;" width="100"><table cellpadding="0" cellspacing="0" class="blaettern">
            <tr> 
              <td align="right">
<?    
    
if ($nextstart>0)
    {       
?>       
                  <a href="index.php?kat=<? echo $kat ?>&start=<? echo $nextstart ?>" title="weiterblättern">
                  &nbsp;weiterbl&auml;ttern</a>&nbsp;
<?
        
}
        else
        {
            echo 
"&nbsp;";
        }
?>
              </td>
            </tr>
            <tr> 
              <td align="right"> 
<?    if ($start 
    {
?>
                  <a href="index.php?kat=<? echo $kat ?>&start=<? echo $laststart ?>" title="zurückblättern">
                  zur&uuml;ckbl&auml;ttern</a>&nbsp;
<?
        

        else
        {
                  echo 
"&nbsp;";
        }
?>
              </td>
            </tr>
</table></td>
    <td class="white" style="border-bottom:0;" width="55">&nbsp;</td>
  </tr>
   <tr>
    <td colspan="2" valign="top" class="white" style="border-top:0;height:260px;" width="155"><p>&nbsp;</p>
      <p>W&auml;hlen Sie ein Bild aus, das Sie als elektronische
      Postkarte versenden m&ouml;chten.</p></td>
  </tr> 
  <tr>
    <td colspan="2" width="155" align="right" valign="bottom" class="rechts" style="border-bottom: 1px solid #90ace3; height:20px;"><input type="hidden" value="<? echo $altname ?>" name="altname"><INPUT name="submit" TYPE="submit" VALUE=" Weiter " class="senden"></td>
</tr>
    <tr>
    <td colspan="5" class="transparent" style="height:20px;" width="766">&nbsp;</td>
  </tr>
</table>         
</form>

<?
include("inc/postcardfooter.inc");
?>
ich muß jetzt leider weg und bin erst wieder heute abend zu erreichen.
vielleicht hat ja in der zeit schon einer lust gehabt...
wäre echt nett.
dank euch schon mal dafür...

bei den anderen kategorien läßt es sich nicht simulieren, da dieser effekt wohl nur auftritt, wenn man nur 4 motive auf der seite hat.

gruß
nicole
__________________
nicnac1
~~~~~~~~~~~~
was wäre ich bloß ohne euch!
nicnac1 ist offline   Mit Zitat antworten


Alt 11.03.2005, 13:31   #2
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE
Äh - wenn Du uns noch sagen könntest, was der Fehler denn genau ist?
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist offline   Mit Zitat antworten
Alt 11.03.2005, 13:43   #3
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
ich kann auch keinen entdecken. 4 Motive nur gibts doch gar nicht ...
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 11.03.2005, 20:45   #4
TP-Supporter
 
Benutzerbild von nicnac1
 
Registriert seit: Jun 2001
Ort: Berlin
nicnac1 macht alles soweit korrekt
puh. hat leider etwas länger gedauert. war ganz schön viel los heute ...

also der fehler auf der verlinkten seite ist doch, dass nach dem vierten bild nicht schluß ist, sondern (läßt sich gut in firefox mit der webdevelopertoolbar - outline -> tables - simulieren) dass er noch für 4 weitere mögliche bilder leere tabellenzellen erstellt. dadurch sprengt es mir rechts das design.
er müßte ja eigentlich nach dem letzten, also 4. bild schluß machen, also ein schließendes </tr> und vielleicht noch eine leere zeile mit 4 zellen (<td>)
der effekt tritt nur im letzten durchlauf -> bild 40-44 bei alle bilder auf.

danke schon einmal für das rüberschauen.

nicole
__________________
nicnac1
~~~~~~~~~~~~
was wäre ich bloß ohne euch!
nicnac1 ist offline   Mit Zitat antworten
Alt 11.03.2005, 21:57   #5
321
TP-Specialist
 
Benutzerbild von 321
 
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
321 hilft, wo's geht321 hilft, wo's geht321 hilft, wo's geht
was soll: $j++; ?
Du arbeitest mit i, aber die Inkrementierung ist mit
for ($i=$start;$i<$start+8;$i++) bereits festgelegt. Also überflüssig.
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]


use my HTML-Tester

Motto'06: Mut zur deutschen Sprache!
321 ist offline   Mit Zitat antworten
Alt 11.03.2005, 22:17   #6
TP-Supporter
 
Benutzerbild von nicnac1
 
Registriert seit: Jun 2001
Ort: Berlin
nicnac1 macht alles soweit korrekt
nix wissen.
wie gesagt, ich habe das aussehen gemacht und die postkarten, der programmierer hockt aber leider gerade über den steuern. ich selber habe auch gerade sehr viel zu tun und da komme ich als jemand, der noch nicht sooo fit in php ist mit fremden code erst gar nicht klar.

meinst du, dass es daran liegen könnte?
ich denke zwar überflüssig, aber es bringt uns nicht der lösung näher.
__________________
nicnac1
~~~~~~~~~~~~
was wäre ich bloß ohne euch!

Geändert von nicnac1 (11.03.2005 um 22:36 Uhr).
nicnac1 ist offline   Mit Zitat antworten
Alt 11.03.2005, 23:03   #7
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
ich muss Dir ehrlich sagen, das ich die Schleife etwas verworren finde.

Fakt ist, das bei den letzten Bildern nach dem 4. Bild das </tr><tr> fehlt, dadurch hast Du nach den 4 Bildern noch 4 Tabellenzellen mit space.

versuchs mal mit rausnehmen von && ($i+1) != $picende, also nur
if ( ($i+1)%4 == 0)
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 12.03.2005, 15:16   #8
TP-Supporter
 
Benutzerbild von nicnac1
 
Registriert seit: Jun 2001
Ort: Berlin
nicnac1 macht alles soweit korrekt
ok. verschieben wir mal auf morgen. ich mach jetzt einen auf gastgeber und meine kater tollen hier auf dem tisch rum. also nichts von wegen in ruhe arbeiten.

dank dir schon mal.
vielleicht lag es auch daran, dass ich nicht durch sah, wenn wie du sagst, es so verworren ist.
__________________
nicnac1
~~~~~~~~~~~~
was wäre ich bloß ohne euch!
nicnac1 ist offline   Mit Zitat antworten
Alt 13.03.2005, 00:50   #9
321
TP-Specialist
 
Benutzerbild von 321
 
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
321 hilft, wo's geht321 hilft, wo's geht321 hilft, wo's geht
Zitat:
Zitat von nicnac1
ich mach jetzt einen auf gastgeber
St@eff.en, wir sind doch gerne Gäste, oder?

@nicole: der ständige Wechsel von
<? php ?> zu Html <? und ?> zurück <? ist ?> etwas <? anstrengend ?> zum ?> lesen und <? analysieren ?>

zB.
PHP-Code:
?> 
        <td width="<? echo $table_pic_w ?>" height="<? echo $table_pic_h ?>"> 
<?
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]


use my HTML-Tester

Motto'06: Mut zur deutschen Sprache!
321 ist offline   Mit Zitat antworten
Alt 13.03.2005, 01:07   #10
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User


geht mir genauso ! ok nicnac1, das war ein Wink mit den Zaunpfahl 321 und ich kommen das nächste mal auf die Gästeliste !
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 13.03.2005, 01:38   #11
321
TP-Specialist
 
Benutzerbild von 321
 
Registriert seit: Nov 2004
Ort: Die Insel in Europa die aus Europa erst Europa macht _________________________ Nähe Lenzburg
321 hilft, wo's geht321 hilft, wo's geht321 hilft, wo's geht
Ob wir mit einer formellen Einladung rechnen dürfen?
__________________
[321 Name="Joe"]
wie immer, lieber gleich mit notepad, dem Editor meines Vertrauens
[/321]


use my HTML-Tester

Motto'06: Mut zur deutschen Sprache!
321 ist offline   Mit Zitat antworten
Alt 13.03.2005, 10:42   #12
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
<form action="einladung" method="vorher">Party am xx.xx.xxxx</form>
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 13.03.2005, 11:29   #13
TP-Supporter
 
Benutzerbild von nicnac1
 
Registriert seit: Jun 2001
Ort: Berlin
nicnac1 macht alles soweit korrekt
lacht.
gerne.

also, eure empfehlungen habe ich ausprobiert, da ändert sich leider nix.
__________________
nicnac1
~~~~~~~~~~~~
was wäre ich bloß ohne euch!
nicnac1 ist offline   Mit Zitat antworten
Alt 13.03.2005, 20:14   #14
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Ich habs mal ein bischen leserlicher gemacht und leicht verändert, check das doch mal.
Ich kann das ja nicht testen
ab der Stelle mit dem Hund
PHP-Code:
<? // liegt hier der Hund begraben? 

    
$j=0;
    for (
$i=$start;$i<$start+8;$i++) 
    { 
        
$j++;
        if(
$j==5) echo '</tr><tr valign="top"> ';
        
$image_name $b_pics[$i]; 
        echo 
"<td width=\"$table_pic_w\" height=\"$table_pic_h\">"
        if (
$image_name!=""
        { 
            
$size get_imgsize($image_name); 
            if (
$size[0] > $size[1]) 
            { 
                
$th_width  max($t_maxbreite,$t_maxhoehe); 
                
$th_height min($t_maxbreite,$t_maxhoehe); 
            } 
            else 
            { 
                
$th_width  min($t_maxbreite,$t_maxhoehe); 
                
$th_height max($t_maxbreite,$t_maxhoehe); 
            }