ilch Forum » Allgemein » HTML, PHP, SQL,... » Problem mit einem Script

Geschlossen
  1. #1
    User Pic
    blackfire Mitglied
    Registriert seit
    05.03.2013
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Guten Tag

    und zwar arbeite ich gerade, an einem kleinem Modul für meine Website
    darin sollen Teams auf gelistet werden die User erstellen können,
    so nun sieht es so aus das ich als Titel Teams stehen habe und darunter sollen dan die Teams stehen doch aus irgenteinem grund wird nach jedem Team nochmal der Titel geschrieben.

    <?php
    defined ('main') or die ( 'no direct access' );
    if($_GET['id']) {
    	$title = $allgAr['title'].' :: Team Info';
    	$hmenu = 'Team Info';
    } else {
    	$title = $allgAr['title'].' :: Team &Uuml;bersicht';
    	$hmenu = 'Team &Uuml;bersicht';	
    }
    $design = new design ( $title , $hmenu );
    $design->header();
    
    	if($_GET['id']) {
    		$id = $_GET['id'];
    		
    		$tpl = new tpl('showteam');
    		
    		$abf1 = "SELECT * FROM `ic2_teams` WHERE `id`='$id'";
    		$erg1 = db_query($abf1);	
    		$row1 = db_fetch_assoc($erg1);
    		
    		if(empty($row1['teamname'])) {
    			$team = '';
    		} else {
    			$team = $row1['teamname'];	
    		}
    		
    		if(empty($row1['leader'])) {
    			$leader = '';	
    		} else {
    			$leader = $row1['leader'];	
    		}
    		
    		if(empty($row1['coleader'])) {
    			$coleader = '';	
    		} else {
    			$coleader = $row1['coleader'];	
    		}
    		
    		if(empty($row1['memberorg'])) {
    			$memberorg = '';	
    		} else {
    			$memberorg = $row1['memberorg'];
    		}
    		
    		if(empty($row1['warorg'])) {
    			$warorg = '';
    		} else {
    			$warorg = $row1['warorg'];
    		}
    		
    		if(empty($row1['logo'])) {
    			$clanlogo = '<img style="opacity:0.4;" width="240" height="240" src="include/images/clanlogo/default.png" />';
    		} else {
    			$clanlogo = '<img width="240" height="240" src="'.$row1['logo'].'" />';
    		}
    		
    		if(empty($row1['info'])) {
    			$info = '';
    		} else {
    			$info = $row1['info'];
    		}
    		
    		$joinclan = "<a href=\"?joinclan&name=".$team."&id=".$row1['id']."\"><b>Clan Joinen</b></a>";
    		
    		$ar1 = array(
    			'TEAMNAME' => $team,
    			'LEADER' => $leader,
    			'COLEADER' => $coleader,
    			'MEMBERORG' => $memberorg,
    			'WARORG' => $warorg,
    			'INFO' => $info,
    			'JOINCLAN' => $joinclan,
    			'CLANLOGO' => $clanlogo
    		);
    		
    		$tpl->set_ar_out($ar1,0);	
    	} else {
    		$tpl = new tpl('showteams');
    		
    		
    		$abf2 = "SELECT `teamname`,`id` FROM `ic2_teams` ORDER BY `id` ASC";
    		$erg2 = db_query($abf2);
    		//$title = "Teams";
    		
    		
    		while($row2 = db_fetch_assoc($erg2)) {
    			$show = "<a href=\"?showteams&id=".$row2['id']."\">".$row2['teamname']."</a>";
    			
    			$ar2 = array(
    				'SHOW' => $show
    			);
    			
    			$tpl->set_ar_out($ar2,0);
    		}		
    	}
    
    
    
    
    
    $design->footer(0);
    ?>


    <table width="100%" border="0" align="center" cellpadding="4" cellspacing="0">
    	<tr>
        	<td>Teams</td>
        </tr>
    	<tr>
        	<td style="border:1px solid silver;" align="center" valign="top" bgcolor="gray">{SHOW}</td>
        </tr>
    </table>

    Jetzt verstehe ich nur nicht wieso.
    betroffene Homepage: blackfire.whitesharks-reallife.de/ws_bf2/index.php?showteams


    Zuletzt modifiziert von blackfire am 05.03.2013 - 09:35:11
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Es ist keine Schleife im oberen Abschnitt, du fragst lediglich den ersten Team Mitglied ab.

    Zum weiteren Punkt

     $id = $_GET['id'];
             
            $tpl = new tpl('showteam');
             
            $abf1 = "SELECT * FROM `ic2_teams` WHERE `id`='$id'";

    Niemals machen. SQL Injection wird hier VOLL unterstuetzt.

    $id = mysql_real_escape_string($_GET['id']);

    Volles Script gerade mal Copy&Paste

    <?php
    defined ('main') or die ( 'no direct access' );
    if($_GET['id']) {
        $title = $allgAr['title'].' :: Team Info';
        $hmenu = 'Team Info';
    } else {
        $title = $allgAr['title'].' :: Team &Uuml;bersicht';
        $hmenu = 'Team &Uuml;bersicht'; 
    }
    $design = new design ( $title , $hmenu );
    $design->header();
     
        if($_GET['id']) {
            $id = mysql_real_escape_string($_GET['id']);
             
            $tpl = new tpl('showteam');
             
            $abf1 = "SELECT * FROM `ic2_teams` WHERE `id`='" . $id . "'";
            $erg1 = db_query($abf1);    
            while($row1 = db_fetch_assoc($erg1)) {
             
            if(empty($row1['teamname'])) {
                $team = '';
            } else {
                $team = $row1['teamname'];  
            }
             
            if(empty($row1['leader'])) {
                $leader = '';   
            } else {
                $leader = $row1['leader'];  
            }
             
            if(empty($row1['coleader'])) {
                $coleader = ''; 
            } else {
                $coleader = $row1['coleader'];  
            }
             
            if(empty($row1['memberorg'])) {
                $memberorg = '';    
            } else {
                $memberorg = $row1['memberorg'];
            }
             
            if(empty($row1['warorg'])) {
                $warorg = '';
            } else {
                $warorg = $row1['warorg'];
            }
             
            if(empty($row1['logo'])) {
                $clanlogo = '<img style="opacity:0.4;" width="240" height="240" src="include/images/clanlogo/default.png" />';
            } else {
                $clanlogo = '<img width="240" height="240" src="'.$row1['logo'].'" />';
            }
             
            if(empty($row1['info'])) {
                $info = '';
            } else {
                $info = $row1['info'];
            }
             
            $joinclan = "<a href=\"?joinclan&name=".$team."&id=".$row1['id']."\"><b>Clan Joinen</b></a>";
             
            $ar1 = array(
                'TEAMNAME' => $team,
                'LEADER' => $leader,
                'COLEADER' => $coleader,
                'MEMBERORG' => $memberorg,
                'WARORG' => $warorg,
                'INFO' => $info,
                'JOINCLAN' => $joinclan,
                'CLANLOGO' => $clanlogo
            );
             
            $tpl->set_ar_out($ar1,0);  
    }  
        } else {
            $tpl = new tpl('showteams');
             
             
            $abf2 = "SELECT `teamname`,`id` FROM `ic2_teams` ORDER BY `id` ASC";
            $erg2 = db_query($abf2);
            $title = "Teams";
             
             
            while($row2 = db_fetch_assoc($erg2)) {
                $show = "<a href=\"?showteams&id=".$row2['id']."\">".$row2['teamname']."</a>";
                 
                $ar2 = array(
                    'SHOW' => $show
                );
                 
                $tpl->set_ar_out($ar2,0);
            }       
        }
     
     
     
     
     
    $design->footer(0);
    ?>
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    blackfire Mitglied
    Registriert seit
    05.03.2013
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Die while-schleife ist ganz unten im Code, da im oberen der Code für die Team Info ist ab Zeile 87


    Zuletzt modifiziert von blackfire am 05.03.2013 - 09:34:28
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Ups Sorry, habe den Post nicht richtig gelesen...

    Dein Problem liegt dadrin das du das Template als "array" / wiederholung" aufrufst. Das darf natuerlich nicht sein da du nur das <tr> ... </tr> wiederholt haben moechtest.

    {EXPLODE}<tr>
            <td style="border:1px solid silver;" align="center" valign="top" bgcolor="gray">{SHOW}</td>
        </tr>
    {EXPLODE}
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    blackfire Mitglied
    Registriert seit
    05.03.2013
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Also damit ichs jetzt richtig verstehe

    statt

    while($row2 = db_fetch_assoc($erg2)) {
                $show = "<a href=\"?showteams&id=".$row2['id']."\">".$row2['teamname']."</a>";
                 
                $ar2 = array(
                    'SHOW' => $show
                );
                 
                $tpl->set_ar_out($ar2,0);
            }


    Muss ich

    while($row2 = db_fetch_assoc($erg2)) {
                $show = "<a href=\"?showteams&id=".$row2['id']."\">".$row2['teamname']."</a>";
                 
                $ar2 = array(
                    'SHOW' => $show
                );
                 
                
            }  
       $tpl->out(0);


    schreiben und dan einfach vor dem tr das ich wiederholt haben will ein {EXPLODE} genau so am ende des tr´s??
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    blackfire Mitglied
    Registriert seit
    05.03.2013
    Beiträge
    13
    Beitragswertungen
    0 Beitragspunkte
    Danke an euch und besonders für den Link hab es nun entlich hin bekommen kann also geclosed werden.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    - Thema geschlossen -
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten