Bei Bildklick Profil-Aufruf

thehasso

Erfahrenes Mitglied
Hallo,

ich hab gerade ein dickes problem, hab schon soo viel nachgedacht das ich langsam glaube das um zu setzen fast unmöglich ist.

Ich hab auf meiner Website auf der rechten Seite einen ONLINE status für mitglieder, dort befinden sich die Bilder der USER die gerade online sind.

Ich wollte das durch klick auf dem BILD das Profil des USERS aufgerufen wird.


ich weiß überhaupt nicht wie ich das umsetzen kann.

ein paar infos, ich hab die Profil Daten des Users in einer tabelle die tbluser_profile heisst. Ich hab mir gedacht das irgendwie durch bildklick eine seite aufgerufen wird und in der seite die vom user befindenen Daten bild etc. aus der Datenbank ausgelesen werden und angezeigt werden.

Vielleicht denk ich auch bissel zu kompliziert .. wie immer halt :-)

die datei in der das Profil heisst bei mir mysite.php



lg =)
 
Moin

Wo ist jetzt genau die Problematik? :-(

Hast du ein Bild und eine Profilseite, und weisst nicht, wie du per Link zur Profilseite kommst, oder hast du noch garkeine Profil-Seite, und möchtest eine bauen?
 
genau das erste ist richtig, hab nen Bild und eine Profilseite von unterschiedlichen Usern und möchte durch bildklick auf den fremden profilseiten gelangen.

hier ist mein CODE hab den grad mal kommentiert vielleicht verstehste dann mal meine Schwierigkeit.

PHP:
<?php
  include("check_user_online.php"); // hier wird die datei aufgerufen, die überprüft wer gerade online ist
  
  echo "Es sind gerade"; echo" "; echo $user_online; echo" "; echo "user online"; // hier wird die anzahl der leute angezeigt die online sind
  
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>rechte menue</title>
<style type="text/css">
<!--
body {
    background-color: #FF7373;
}
body,td,th {
    color: #FFF;
}
.mitte {
    text-align: center;
    font-weight: bold;
}
-->
</style>
</head>
<body>
<br />
<a href="right.php" target="_self">Gib mir mehr!</a>
<br />
<?php
$nr = $_SESSION['MM_UserId'];
   mysql_connect("localhost","root","root") or die(mysql_error()); // Server ; User ; Passwort
   mysql_select_db("lcg")  or die(mysql_error()); // Datenbank



$querystr = "SELECT tblbenutzer.dateiname, tblbenutzer.intID FROM tblbenutzer LEFT JOIN online ON(tblbenutzer.intID = online.intID) WHERE session > '0' "; // hier, werden alle USER von der tabelle online ausgelesen die auch online sind
    $REC = mysql_query($querystr);
    $RECrows = mysql_num_rows($REC);
   
    while($Datensatz = mysql_fetch_assoc($REC)){
   
        $record['bild'] = $Datensatz['dateiname']; // hier wird bild und ID
        $record['intID'] = $Datensatz['intID']; // des Users ausgelesen
       $DATA['SEARCH'][] = $record;
             
  }
?>
// so nun wurden alle bilder und zum bild dazugehörigen id die online sind //ausgelesen. jetzt werden alle bilder auch mit hilfe der foreach Schleife //ausgegeben.
</p>
<table width="70%"  align="center" border="0" cellspacing="0" cellpadding="0">
  <?php foreach($DATA['SEARCH'] as $searchEntry): ?>
  <tr>
    <?php $pic = htmlentities($searchEntry['bild']); // hier wird das bild der //Variable $ pic übergeben

          $intID = htmlentities($searchEntry['intID']); // hier wird die id übergeben der variable $intID
    echo '<img src="../../online.gif" width="46" height="7" alt="on" />';
    echo"<br/><br/>"; 
    echo " <a href='/fffk/Templates/nacheinloggen/mysite.php' target='_blank'><img src='img/$pic' width='115' height='125' alt='pic' />" ?>
    <br/><br/>
    
    // WENN ICH hier den select code setzen würde(sql code der die daten des USERS ausliest), würden dann alle profile ausgelesen die online sind egal welches BILD man anklickt. Und das ist das Problem, ich will aber nur das Profil sehen, von dem ich auch das Bild anklicke.-->
 
  </tr>
  <?php endforeach; ?>
</table>  
</body>
</html>


ich hoff mal das problem schreckt dich nicht ab =)

lg
 
Naja, du müsstest im Link der mysite.php eigentlich nur die ID als Parameter übergeben, ca. so:

Code:
echo " <a href='/fffk/Templates/nacheinloggen/mysite.php?id=".$intID."' target='_blank'><img src='img/$pic' width='115' height='125' alt='pic' />" ?>

In der mysite.php schaust du dann, ob der Parameter id existiert.
Falls ja, zeigst du das Profil des entsprechenden Users an...falls nicht, das eigene.

Wie genau das geht, kann man erst sagen, wenn man die mysite.php sieht.
 
hab ich gemacht, der URL sieht dann so aus:

http://localhost/fffk/Templates/nacheinloggen/mysite.php?id=2

es wird jedoch nicht zu der id das richtife Profil aufgerufen, sondern egal welches bild ich anklicke wird zwar die ID anders sein, aber das dazugehörige Profil ist immer meins.

hier der code dazu:

PHP:
<?php
$nr = $_SESSION['MM_UserId'];
   mysql_connect("localhost","root","root") or die(mysql_error()); // Server ; User ; Passwort
   mysql_select_db("lcg")  or die(mysql_error()); // Datenbank


//$querystr =sprintf("SELECT tblbenutzer.dateiname FROM tblbenutzer LEFT JOIN online ON(tblbenutzer.intID = online.intID) WHERE session = %s",$nr);
$querystr = "SELECT tblbenutzer.dateiname, tblbenutzer.intID FROM tblbenutzer LEFT JOIN online ON(tblbenutzer.intID = online.intID) WHERE session > '0' ";
    $REC = mysql_query($querystr);
    $RECrows = mysql_num_rows($REC);
   
    while($Datensatz = mysql_fetch_assoc($REC)){
   
        $record['bild'] = $Datensatz['dateiname'];
		$record['intID'] = $Datensatz['intID']; // neu eingefügt
       $DATA['SEARCH'][] = $record;
             
  }
?>

</p>
<table width="70%"  align="center" border="0" cellspacing="0" cellpadding="0">
  <?php foreach($DATA['SEARCH'] as $searchEntry): ?>
  <tr>
    <?php $pic = htmlentities($searchEntry['bild']);
		  $intID = htmlentities($searchEntry['intID']);
	echo '<img src="../../online.gif" width="46" height="7" alt="on" />';
	echo"<br/><br/>"; 
	echo " <a href='/fffk/Templates/nacheinloggen/mysite.php?id=$intID' target='_blank'><img src='img/$pic' width='115' height='125' alt='pic' />" ?>
    <br/><br/>
    
    
  </tr>
  <?php endforeach; ?>
</table>


es muss ja auch eigentlich ein select stehen, aber das select muss ja bei where die id stehen von dem auch das bild angeklickt wurde. und das kann ich nicht...

geht das eigentlich?
 
Der Link sieht schonmal gut aus, aber der PHP-Code, das ist doch derselbe, den du eingangs gepostet hast...dort werden nirgends spezielle "Profildaten" ausgegeben, wie es nach deiner Beschreibung die mysite.php tut.

Der PHP-Code der mysite.php wird benötigt.
 
okayyy... dann schau mal jetzt gut hin =)


profil stehen und daten werden ausgelesen, jetzt müssen nur die daten ausgelesen werden bei den ein bildklick erfolgt.

und dass kann irgenwieee niemand.

PHP:
<body>


<?php
$nr = $_SESSION['MM_UserId'];
   mysql_connect("localhost","root","root") or die(mysql_error()); // Server ; User ; Passwort
   mysql_select_db("lcg")  or die(mysql_error()); // Datenbank


//$querystr =sprintf("SELECT tblbenutzer.dateiname FROM tblbenutzer LEFT JOIN online ON(tblbenutzer.intID = online.intID) WHERE session = %s",$nr);
$querystr = "SELECT tblbenutzer.dateiname, tblbenutzer.intID FROM tblbenutzer LEFT JOIN online ON(tblbenutzer.intID = online.intID) WHERE session > '0' ";
    $REC = mysql_query($querystr);
    $RECrows = mysql_num_rows($REC);
   
    while($Datensatz = mysql_fetch_assoc($REC)){
   
        $record['bild'] = $Datensatz['dateiname'];
		$record['intID'] = $Datensatz['intID']; // neu eingefügt
       $DATA['SEARCH'][] = $record;
             
  }
?>

</p>
<table width="70%"  align="center" border="0" cellspacing="0" cellpadding="0">
  <?php foreach($DATA['SEARCH'] as $searchEntry): ?>
  <tr>
    <?php $pic = htmlentities($searchEntry['bild']);
		  $intID = htmlentities($searchEntry['intID']);
	echo '<img src="../../online.gif" width="46" height="7" alt="on" />';
	echo"<br/><br/>"; 
	echo " <a href='/fffk/Templates/nacheinloggen/mysite.php?id=$intID' target='_blank'><img src='img/$pic' width='115' height='125' alt='pic' />" ?>
    <br/><br/>
    
    
    
  </tr>
  <?php endforeach; ?>
</table>


<?    
    
	require_once('dataBaseConnection.php');

//**********************************************
// Datenbankabfrage
//**********************************************

// Daten aus Datenbank auslesen!

		$SQL = "SELECT * FROM  tbluser_profile where intID = $intID" ;

		$REC = mysql_query($SQL);
   
    	$RECset = mysql_fetch_assoc($REC); 
			
			$geschlecht = $RECset["geschlecht"];
			$tag = $RECset["tag"];
			$monat = $RECset["monat"];
			$jahr = $RECset["jahr"];
			$beruf = $RECset["beruf"];
			$heimatland = $RECset["heimatland"];
			$gebiet = $RECset["gebiet"];
			$heimatstadt = $RECset["heimatstadt"];
			$msn = $RECset["msn"];
			$icq = $RECset["icq"];
			$yim = $RECset["yim"];
			$telefon = $RECset["telefon"];
			$bundesland = $RECset["bundesland"];
			$ort = $RECset["ort"];
			$beziehung = $RECset["beziehung"];
			$politik = $RECset["politik"];
			$interessen = $RECset["interessen"];
			$clubs = $RECset["clubs"];
			$musik = $RECset["musik"];
			$txtZitat = $RECset["txtZitat"];
			$txtAboutme = $RECset["txtAboutme"];
			$ID = $RECset["intID"];
			
			
	// Bild aus Datenbank auslesen
	$SQL = "SELECT * FROM tblbenutzer where intID = $intID" ;
	
	$REC = mysql_query($SQL);
   
    	$RECset = mysql_fetch_assoc($REC);
		
		$bild = $RECset["dateiname"];
 ?>
 
        
<form id="form1" name="form1" method="get" action="">
  <table width="101%" " border="0" cellpadding="2" cellspacing="0">
    <tr>
      <td colspan="3" align="left" bgcolor="#FF8080"><strong><span style="color:#F00">Allgemein</span></strong></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td width="28%" rowspan="17" ><?php echo "<img src='img/$bild' width='270' height='370' alt='bild' />"; ?></td>
      <td width="4%">&nbsp;</td>
    </tr>
    <tr>
      <td width="20%">Name:</td>
      <td width="20%"><?php echo $_SESSION['MM_Vorname']; echo " "; echo $_SESSION['MM_Nachname'];?> </td>
      <td width="13%">&nbsp;</td>
      <td width="0%">&nbsp;</td>
      <td width="5%">&nbsp;</td>
      <td width="4%"></td>
    </tr>
    <tr>
      <td>Mitglied seid, Nr:</td>
      <td><?php echo $_SESSION['MM_dtmAnalge'];?></td>
      <td><?php echo $_SESSION['MM_UserId'];?></td>
      <td ro>&nbsp;</td>
      <td ro>&nbsp;</td>
      <td></td>
    </tr>
    <tr>
      <td>Geschlecht:</td>
      <td><?php if($geschlecht == NULL) echo "-"; else echo $geschlecht; ?></td>
      <td><?php if( $geschlecht =="weiblich"){ echo "<img src='../../images/weiblichklein.jpg' width='13' height='20' alt='weiblich' />";} ?>
	  <?php if( $geschlecht =="männlich") { echo "<img src='../../images/maennlichklein.jpg' width='20' height='20' alt='maenlich' />";}?>
      </td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Geburtsdatum:</td>
      <td><?php if($tag == NULL) echo " "; else echo $tag;echo " ";?><?php if($monat == NULL) echo "-"; else echo $monat;echo " ";?><?php if($jahr == NULL) echo "-"; else echo $jahr; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Beruf:</td>
      <td><?php if($beruf == NULL) echo "-"; else echo $beruf; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Heimatland:</td>
      <td><?php echo $heimatland ?></td>
      <td><?php if( $heimatland =="Libanon"){ echo "<img src='../../images/libanonklein.gif' width='30' height='20' alt='libanon' />"; } ?>
      
      <?php if(isset($_POST["heimatland"]) && $_POST["heimatland"] =="Deutschland") echo "<img src='../../deutschland.gif' width='20' height='15' alt='deutschland' />";?>
      </td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Gebiet, Heimatstadt:</td>
      <td><?php if($gebiet == NULL) echo "-"; else echo $gebiet; ?></td>
      <td><?php if($heimatstadt == NULL) echo "-"; else echo $heimatstadt; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td colspan="3" align="left" bgcolor="#FF8080"><strong><span style="color:#FF0000">Kontakt</span></strong></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td width="10%">&nbsp;</td>
    </tr>
    <tr>
      <td>MSN:</td>
      <td><?php if($msn == NULL) echo "-"; else echo $msn; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td>ICQ:</td>
      <td><?php if($icq == NULL) echo "-"; else echo $icq; ?></td>
      <td><img src="http://web.icq.com/whitepages/online?icq=452598359&img=5" /></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>YIM:</td>
      <td><?php if($yim == NULL) echo "-"; else echo $yim; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Telefon:</td>
      <td><?php if(isset($_POST["telefon"])){echo $telefon; } else { echo "-"; } ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Bundesland, Ort:</td>
      <td><?php if($bundesland == NULL) echo "-"; else echo $bundesland; ?></td>
      <td><?php if($ort == NULL) echo "-"; else echo $ort; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td colspan="3" align="left" bgcolor="#FF8080"><strong><span style="color:#FF0000">Persönliches</span></strong></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Beziehungsstatus:</td>
      <td><?php if($beziehung == NULL) echo "-"; else echo $beziehung; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Politik:</td>
      <td><?php if($politik == NULL) echo "-"; else echo $politik; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td><input type="button" name="B1" size = "150" value="<?php echo $vorname.$name; echo "eine Nachricht schicken"; ?>" onClick="NewWindow('popup_mail.php','mypopup','600','420','custom','front');"></td>
    </tr>
    <tr>
      <td>Interessen:</td>
      <td><?php if($interesse == NULL) echo "-"; else echo $interessen; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Clubs/Vereine:</td>
      <td><?php if($clubs == NULL) echo "-"; else echo $clubs; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td><input type="button" name="B1" size = "100" value="<?php echo $vorname.$name; echo "als Freund hinzufügen"; ?>" onClick="NewWindow('http://www.DeineDomain.de/Seite.htm','mypopup','311','311','custom','front');"></td>
    </tr>
    <tr>
      <td>Musik:</td>
      <td><?php if($musik == NULL) echo "-"; else echo $musik; ?></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td></td>
    </tr>
    <tr>
      <td>Lieblingszitat:</td>
      <td colspan="2" ><?php if($txtZitat == NULL) echo "-"; else echo $txtZitat; ?></td>
      <td >&nbsp;</td>
      <td >&nbsp;</td>
      <td ><?php  echo "Hier ist die Freunde von ";echo $vorname.$name; echo"!";?></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td width="20%">&nbsp;</td>
      <td width="13%">&nbsp;</td>
    </tr>
    <tr>
      <td >&nbsp;</td>
      <td colspan="" >&nbsp;</td>
      <td >&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td >&nbsp;</td>
      <td colspan="" >&nbsp;</td>
      <td >&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td >Über mich:</td>
      <td colspan="2" ><?php if($txtAboutme == NULL) echo "-"; else echo $txtAboutme; ?></td>
      <td >&nbsp;</td>
      <td >&nbsp;</td>
      <td >&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </table>
  <p>&nbsp;</p>
  
</form>


</body>
</html>
 
Ich gehe mal davon aus, dass bei dir die Nutzer anhand einer ID in der Datenbank gespeichert sind. Wenn das der Fall ist wäre es sinnvoll wenn du direkt in der MySQL-Anfrage nur den Nutzer mit der ID auswählst.
PHP:
$querystr = "SELECT tblbenutzer.dateiname, tblbenutzer.intID FROM tblbenutzer LEFT JOIN online ON(tblbenutzer.intID = online.intID) WHERE session > '0' AND `id` = '".$_GET['id']."'";
 
thehasso - durchatmen.
Es ist schön das du PHP sagst was es machen soll - anders gehts nicht.
Was aber fehlt ist, wie es das anstellen soll.

Wenn dies die mysite.php ist dann fehlt jegliche Auswertung eines übergebenen $_GET["id"] so wie du es nun in der Adresszeile tust.

Lieber eine gesonderte Seite "profil.php" erstellen, die ähnlich der mysite.php agiert, jedoch die Berechtigung zum editieren nicht enthält.

Wenn ich den Code so sehe vielleicht sogar ein Gang mal für ne Woche runterschalten und eine Shoutbox (als gesondertes Projekt) mit kleinem Benutzerprofil (nur Name und Anzahl der Einträge) machen, damit du mehr Routine und Struktur für diesen Bereich von PHP und SQL kriegst. Hast anscheinend grad angefangen eine neue Sprache zu lernen und versuchst schon ein Buch zu schreiben ;)
 
Zuletzt bearbeitet:
also ehrlich, muss mal sagen bin in php eigentlich kein anfänger mehr, aber beim erstellen meiner website hat mir noch nie etwas so den kopf geschüttelt wie dieses Problem.

ich check einfach nicht wie das gehen soll. und mit dem get sowieso nicht....


das gibt nur laute fehlermeldungen aus .

ich will nur das beim bild klick das profil des users auf gerufen wird..das wär echt korrekt wenn mir jemand dabei hilft.
 
Zurück