userliste

xlanhackerx

Mitglied
Hallo liebe Community.
Ich habe im moment folgendes Problem mit einem Userscript welches alle regestrierten User ausgeben soll !!
PHP:
<table cellpadding="0" cellspacing="0" border="0"> 
<tr>
<td width="5%"><b>ID</b></td>
<td width="10%"><b>Name</b></td>
<td width="10%"><b>Mail</b></td>
<td width="10%"><b>ICQ</b></td>
<td width="10%"><b>Geschlecht</b></td>
<td width="10%"><b>Profil</b></td>
<td width="15%" nowrap><b>Mitglied seit</b></td>

<tr>
<td>	  
<?php
for($i=0; $i<10; $i++) {
  $farbe = $i%2 ? '#efefef' : '#cccccc';
  } 
// Datenbankverbindung aufbauen
$connectionid  = mysql_connect ("localhost", "XXXXXX", "XXXXX"); 
if (!mysql_select_db ("XXXXX", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 
    $sql = "SELECT * from benutzerdaten ";
    $result = mysql_query($sql) OR die(mysql_error());
    
    if(mysql_num_rows($result)) {
	    while($row = mysql_fetch_assoc($result)) {
                   $id =$row['Id'];
                   $name = $row['Nickname'];
	               $email = $row['email'];
				   $icq = $row['icq'];
                   $timestamp = $row['regdate'];
				   $geschlecht = $row['geschlecht'];
                   $regdate = date('d.m.Y', $timestamp);
				   

echo '<tr style=\"background:".$farbe."\">';
echo '<td>$id</td>';
echo '<td>$name</td>';
echo '<td>Mail</td>';
echo '<td>$icq</td>';
echo '<td><img src="../images/$geschlecht.gif" width=20 height=16 /></td>';
echo '<td><a href='index.php?action=userinfo&id=$id'>Profil</a></td>';
echo '<td>$timestamp</td>";
echo '</tr>';
 }
 } else {
        echo'<center>Keine User vorhanden</center>\n';
    }
	mysql_close ($connectionid)
 ?>
 	 
</td>
</tr>
</table>


Es hat eigentlich auch wunderbar funktioniert, bis ich das geschlecht als grafik haben wollte. In meiner Mysql Tabelle kann für geschlecht nur m oder w gewählt werden. Dieses wird dann ausgegeben mittels $geschlecht. Nun habe ich im ordner images einmal m.gif für männlich und w.gif für weiblich liegen. Es soll also der ausgebene wert z.B. $geschlecht = w das .gif drangesetzt werden, also ../images/$geschlecht.gif" aber das funktioniert nicht.
Auch die formatierte ausgabe des regestrierungsdatum klappt nicht, ich möchte es nur in form von z.B. 13.03.2007. Mysql tabelle ist timestamp formatiert !!
Desweiteren bringt er mir seitdem einen fehler mit dem <a href="index.php?action=userinfo&id=$id'>Profil</a></td>';
Ich weiß absolut nicht wo dort der fehler ist, es bringt immer ein
PHP:
syntax error, unexpected T_STRING, expecting ',' or ';' in /www/htdocs/w0093762/test/CMS/content/userlist.php on line 43
Desweiteren möchte ich direkt auf für email eine Link haben, als Pfad sollte index.php?action=mail&addresse=$email vorhanden.. als name eine grafik, pfad: images/mail.gif" border="0"

Ich hoffe ich habe mich verständlich ausgedrückt..

Mfg. Oliver
 
Vergleiche mal wie du die HTML-Attributwerte in den anderen Ausgaben und in der fehlerhaften machst. Die Hervorhebung der PHP-Syntax sollte dir dabei helfen, den Unterschied und Fehler zu finden.
 
Hi,

hab grad zwei Fehler gefunden:

PHP:
echo '<td><a href='index.php?action=userinfo&id=$id'>Profil</a></td>';
wird zu:
PHP:
echo '<td><a href="index.php?action=userinfo&id='.$id.'">Profil</a></td>';

PHP:
echo '<td>$timestamp</td>";
wird zu:
PHP:
echo '<td>$timestamp</td>';

Weitere Fehler hab ich nicht gefunden.
Ansonsten heißts bei PHP auch gerne mal eine Zeile über der beanstandeten nachschauen, denn man vergisst gerne mal das Semikolon ( ; ), welches dann erst in der nächsten Zeile einen Fehler verursacht.
 
Zuletzt bearbeitet:
Es sind sogar einige mehr. Probier mal Folgendes:
PHP:
while( $row = mysql_fetch_assoc($result) ) {
	$row = array_map('htmlspecialchars', $row);
	echo '<tr style="background:'.$farbe.'">';
	echo '<td>'.$row['Id'].'</td>';
	echo '<td>'.$row['Nickname'].'</td>';
	echo '<td>Mail</td>';
	echo '<td>'.$row['icq'].'</td>';
	echo '<td><img src="../images/$geschlecht.gif" width="20" height="16" /></td>';
	echo '<td><a href="index.php?action=userinfo&amp;id='.$row['Id'].'">Profil</a></td>';
	echo '<td>'. date('d.m.Y', $row['regdate']).'</td>';
	echo '</tr>';
}
 
Zurück