| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

13-11-2009, 00:17
|
|
Moon-Ryder
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 13
|
|
Profil anzeigen problem
Hallo zusammen,
ich versuche seit 3 tagen ein php problem zu lösen komme aber auf kein ergebniss..da ich noch blutiger anfänger in sachen php bin.
ich habe schon sämtliche foren durchsucht finde aber nichts was funktioniert.
hoffe ihr könnt mir helfen:
ich versuche eine tabelle zu machen auf denen ein profilbild angezeigt wird, wenn dieses profilbild angeklickt wird öffnet sich ein popup (mit dem eigendlichen profil).
also das mit dem bild und popup funktioniert in html form schon, nur wenn ich es in meinem php code versuch einzubinden kommt nichts gescheites raus.
also ich möchte in diesen code das profilbil mit dem link einfügen und der variable $uname:
PHP-Code:
<?php if(!defined('TBL_USERS')) { die("Error processing page"); }
$q = "SELECT username FROM ".TBL_USERS ." ORDER BY timestamp DESC,username"; $result = $database->query($q); /* Error occurred, return given name by default */ $num_rows = mysql_numrows($result); if(!$result || ($num_rows < 0)){ echo "Error displaying info"; } else if($num_rows > 0){ /* Display active users, with link to their info */ echo "<table align=\"left\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n"; echo "<tr><td><font size=\"2\">\n"; for($i=0; $i<$num_rows; $i++){ $uname = mysql_result($result,$i,"username");
echo "<a href=\"userinfo.php?user=$uname\">$uname</a> / "; } echo "</font></td></tr></table><br>\n"; } ?>
also sprich :
PHP-Code:
echo "<a href=\"userinfo.php?user=$uname\">$uname</a> / ";
diesen code:
Code:
<div><a href=# onclick=javascript:document.getElementById('profil').style.visibility='visible'><img src="../Bilder/profile/$uname.jpg" width=120 height=190 alt="$uname" border="0"></a></div>
und dann bei klick auf das profilbild sollte er diesen code ausführen:
Code:
<!-- Layer für Profile -->
<div class="Layer" id="profil" style="visibility:hidden">
<div align="center" class="Layer">
<div align="left"><a href=# onclick=javascript:document.getElementById('profil').style.visibility='hidden'><img src="../Bilder/close.jpg" alt="Schließen" /></a><br/>
<iframe src="../../login/userinfo.php?user=$uname\"></iframe>
ich hoffe ihr könnt mir endlich helfen.
MfG Oliver
|

13-11-2009, 00:54
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo Oliver,
bitte beschreib das Problem: Welche Fehlermeldungen bekommst du? Was wird falsch oder nicht angezeigt? Denn "kommt nichts gescheites raus" ist keine Problembeschreibung.
Gruß,
Amica
|

13-11-2009, 16:20
|
|
2Bad4You
Registrierter Benutzer
|
|
Registriert seit: Jun 2007
Beiträge: 101
|
|
Hey,
Versuchs mal mit:
PHP-Code:
echo "<a href=\"userinfo.php?user=".$uname."\">$uname</a>";
|

13-11-2009, 20:41
|
|
Moon-Ryder
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 13
|
|
Dies ist mein code.
PHP-Code:
<?php /** * Members2.1.php */ include("include/session.php"); $page = "members2.php"; ?> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Tuttlinger - Waldhexen</title> <link rel="stylesheet" href="-css/960/reset.css" type="text/css" /> <link rel="stylesheet" href="-css/960/960.css" type="text/css" /> <link rel="stylesheet" href="-css/960/text.css" type="text/css" /> <link rel="stylesheet" href="-css/style.css" type="text/css" /> </head> <body> <html> <?php if(!defined('TBL_USERS')) { die("Error processing page"); }
$q = "SELECT username FROM ".TBL_USERS ." ORDER BY timestamp DESC,username"; $result = $database->query($q); /* Error occurred, return given name by default */ $num_rows = mysql_numrows($result); if(!$result || ($num_rows < 0)){ echo "Error displaying info"; } else if($num_rows > 0){ /* Display active users, with link to their info */ for($i=0; $i<$num_rows; $i++){ $uname = mysql_result($result,$i,"username"); echo "<div><a href=# onclick=javascript:document.getElementById('profil').style.visibility='visible'><img src="../Bilder/profile/$uname.jpg" width=120 height=190 alt="$uname" border="0"></a></div>"; ?> </body>
<!-- Layer für Profile --> <div class="Layer" id="profil" style="visibility:hidden"> <div align="center" class="Layer"> <div align="left"> <a href=# onclick=javascript:document.getElementById('profil').style.visibility='hidden'><img src="../Bilder/close.jpg" alt="Schließen" /></a><br/> <?php header('userinfo.php?user=$uname'); ?>
Und das die Fehlermeldung:
Parse error: syntax error, unexpected '.' in /mnt/web5/52/05/51648505/htdocs/tuttlinger-waldhexen.de/login/members2.1.php on line 36
|

13-11-2009, 21:21
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Moon-Ryder
Code:
echo "<div>
<a href=# onclick=javascript:document.getElementById('profil').style.visibility='visible'>
<img src="../Bilder/profile/$uname.jpg" width=120 height=190 alt="$uname" border="0">
</a></div>";
|
Das ist deine Zeile 36 und fehlendes Maskieren von Anführungszeichen erzeugt den Fehler.
|

14-11-2009, 00:41
|
|
Moon-Ryder
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 13
|
|
Ich hab es geändert zu:
Code:
echo "<div><a href=# onclick=javascript:document.getElementById('profil').style.visibility='visible'>
<img src="Bilder/profile/$uname.jpg" width=120 height=190 alt="$uname" border="0"></a></div>";
Aber nun kommt diese Fehlermeldung:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /mnt/web5/52/05/51648505/htdocs/tuttlinger-waldhexen.de/login/members2.1.php on line 36
|

14-11-2009, 01:11
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
|

14-11-2009, 01:37
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
wenn du mit PHP Strings richtig umgehen kannst, kommt Level2: Das Quoten von Attributen, was - generell empfohlen ist
- Pflicht bei XHTML ist
- in allen anderen HTML Versionen Pflicht ist, wenn der Attributwert Zeichen enthält, die keine name characters sind.
In deinem Falle (einmal "#" und einmal JS-Code) sind daher Anführungszeichen in Attributwerten Pflicht. Das macht die Sache natürlich etwas schwieriger: PHP-Anführungszeichen für echo, HTML-Anführungszeichen für Attributwerte und JS-Anführungszeichen für ID und CSS-Wert, aber da kommst du nicht drumherum.
Hier mal als fertige Lösung für die Zeile 36, weil ich einsehe, dass das für einen Laien erstmal etwas komliziert ist.
PHP-Code:
echo '<div><a href="#" '
. 'onclick="document.getElementById(\'profil\').style.visibility=\'visible\'">'
. '<img src="../Bilder/profile/' . $uname . '.jpg" width="120" height="190" '
. 'alt="' . $uname . '" border="0"></a></div>';
Die restlichen Fehler behebst du dann bitte anhand dieses Beispiels (genau ansehen, bis du es verstehst) selbst.
Gruß,
Amica
|

14-11-2009, 11:30
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von Moon-Ryder
Aber nun kommt diese Fehlermeldung:
|
Bitte lerne mit den Grundlagen der Syntax von PHP umzugehen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

14-11-2009, 12:51
|
|
Moon-Ryder
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 13
|
|
Zitat:
Zitat von AmicaNoctis
Hallo,
wenn du mit PHP Strings richtig umgehen kannst, kommt Level2: Das Quoten von Attributen, was - generell empfohlen ist
- Pflicht bei XHTML ist
- in allen anderen HTML Versionen Pflicht ist, wenn der Attributwert Zeichen enthält, die keine name characters sind.
In deinem Falle (einmal "#" und einmal JS-Code) sind daher Anführungszeichen in Attributwerten Pflicht. Das macht die Sache natürlich etwas schwieriger: PHP-Anführungszeichen für echo, HTML-Anführungszeichen für Attributwerte und JS-Anführungszeichen für ID und CSS-Wert, aber da kommst du nicht drumherum.
Hier mal als fertige Lösung für die Zeile 36, weil ich einsehe, dass das für einen Laien erstmal etwas komliziert ist.
PHP-Code:
echo '<div><a href="#" ' . 'onclick="document.getElementById(\'profil\').style.visibility=\'visible\'">' . '<img src="../Bilder/profile/' . $uname . '.jpg" width="120" height="190" ' . 'alt="' . $uname . '" border="0"></a></div>';
Die restlichen Fehler behebst du dann bitte anhand dieses Beispiels (genau ansehen, bis du es verstehst) selbst.
Gruß,
Amica
|
danke für deine hilfe amica...
ich denke ich habe das beispiel verstanden aber nun verstehe ich nicht warum nun dieser prase error fehler kommt:
Parse error: syntax error, unexpected $end in /mnt/web5/52/05/51648505/htdocs/tuttlinger-waldhexen.de/login/members2.1.php on line 46
CODE: (Zeile 46 ist die letzte also das ?>)
PHP-Code:
<?php /** * Members2.1.php */ include("include/session.php"); $page = "members2.php"; ?> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Tuttlinger - Waldhexen</title> <link rel="stylesheet" href="-css/960/reset.css" type="text/css" /> <link rel="stylesheet" href="-css/960/960.css" type="text/css" /> <link rel="stylesheet" href="-css/960/text.css" type="text/css" /> <link rel="stylesheet" href="-css/style.css" type="text/css" /> </head> <?php if(!defined('TBL_USERS')) { die("Error processing page"); }
$q = "SELECT username FROM ".TBL_USERS ." ORDER BY timestamp DESC,username"; $result = $database->query($q); /* Error occurred, return given name by default */ $num_rows = mysql_numrows($result); if(!$result || ($num_rows < 0)){ echo "Error displaying info"; } else if($num_rows > 0){ /* Display active users, with link to their info */ for($i=0; $i<$num_rows; $i++){ $uname = mysql_result($result,$i,"username"); echo '<div><a href="#" ' . 'onclick="document.getElementById(\'profil\').style.visibility=\'visible\'">' . '<img src="../Bilder/profile/' . $uname . '.jpg" width="120" height="190" ' . 'alt="' . $uname . '" border="0"></a></div>';
echo '<div class="Layer" id="profil" style="visibility:hidden">' . '<div align="center" class="Layer">' . '<div align="left"><a href="#" ' . 'onclick="javascript:document.getElementById(\'profil\').style.visibility=\'hidden\'">' . '<img src="../Bilder/close.jpg" alt="Schließen"></a><br/>;
header("userinfo.php?user=' . $uname . "); ?>
|

14-11-2009, 12:54
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Wenn du bei einer for-Schleife mit { einen Anweisungsblock öffnest, wäre es eine gute Idee, den irgendwann auch wieder mit } zu schließen
PS: Code vernünftig einrücken, dann siehst du solche Patzer auch sofort.
|

14-11-2009, 12:57
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Moon-Ryder
header("userinfo.php?user=' . $uname . '");
|
Was soll das für ein Header sein?
|

14-11-2009, 13:09
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von Moon-Ryder
ich denke ich habe das beispiel verstanden aber nun verstehe ich nicht warum nun dieser prase error fehler kommt:
Parse error: syntax error, unexpected $end in /mnt/web5/52/05/51648505/htdocs/tuttlinger-waldhexen.de/login/members2.1.php on line 46
CODE: (Zeile 46 ist die letzte also das ?>)
|
PHP kann dir hier nur sagen, dass etwas nicht stimmt - aber nicht, was genau. PHP trifft früher auf das Ende des Scriptes, als es bei korrekter Syntax zu Ende sein dürfte.
Die Ursache ist oftmals eine fehlende schliessende geschweifte Klammer, ein nicht korrekt abgeschlossenes Textliteral, oder sowas in der Art.
Noch mal: Wer sich ein bisschen mit der Syntax von PHP beschäftigt hat, dem gelingt es auch, die Ursache solcher Fehler selber zu finden und sie zu beheben - und nicht nur da zu stehen und „Hä? Bahnhof?” zu sagen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

14-11-2009, 16:27
|
|
Moon-Ryder
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 13
|
|
okay vielen dank ich habs gelöst:
PHP-Code:
<?php /** * Members2.1.php */ include("include/session.php"); $page = "members2.php"; ?> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Tuttlinger - Waldhexen</title> <link rel="stylesheet" href="-css/960/reset.css" type="text/css" /> <link rel="stylesheet" href="-css/960/960.css" type="text/css" /> <link rel="stylesheet" href="-css/960/text.css" type="text/css" /> <link rel="stylesheet" href="-css/style.css" type="text/css" /> </head> <?php if(!defined('TBL_USERS')) { die("Error processing page"); }
$q = "SELECT username FROM ".TBL_USERS ." ORDER BY timestamp DESC,username"; $result = $database->query($q); /* Error occurred, return given name by default */ $num_rows = mysql_numrows($result); if(!$result || ($num_rows < 0)){ echo "Error displaying info"; } else if($num_rows > 0){ /* Display active users, with link to their info */ for($i=0; $i<$num_rows; $i++){ $uname = mysql_result($result,$i,"username"); echo '<div><a href="#" ' . 'onclick="document.getElementById(\'profil\').style.visibility=\'visible\'">' . '<img src="../Bilder/profile/' . $uname . '.jpg" width="120" height="190" ' . 'alt="' . $uname . '" border="0"></a></div>'; }
echo '<div class="Layer" id="profil" style="visibility:hidden">' . '<div align="center" class="Layer">' . '<div align="left"><a href="#" ' . 'onclick="javascript:document.getElementById(\'profil\').style.visibility=\'hidden\'">' . '<img src="../Bilder/close.jpg" alt="Schließen"></a><br/>' . '<iframe src="userinfo.php?user=' . $uname . '"></iframe>'; }
?>
|

14-11-2009, 16:48
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Und das funktioniert? Dann ist ja gut. Ich hätte gedacht, dass beim Ausblenden des Layers die Hälfte der Seite verschwindet, weil die div-Elemente nirgends geschlossen werden...
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
Ähnliche Themen
|
| Thema |
Autor |
Forum |
Antworten |
Letzter Beitrag |
|
WBB 2.3.6 Profil.php & SQL
|
Thrillseeker |
Archiv / Trash |
0 |
27-10-2007 11:16 |
|
Profil aendern
|
Nestor |
PHP Developer Forum |
2 |
14-08-2006 19:54 |
|
Profil
|
jUnk2k4 |
BRAINSTORMING PHP/SQL/HTML/JS/CSS |
8 |
31-05-2004 12:04 |
|
Profil
|
phpfanger |
PHP Developer Forum |
24 |
05-10-2003 13:23 |
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|