php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 13-11-2009, 01:17
Moon-Ryder
 Registrierter Benutzer
Links : Onlinestatus : Moon-Ryder ist offline
Registriert seit: Nov 2009
Beiträge: 13
Moon-Ryder befindet sich auf einem aufstrebenden Ast
Question 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
Mit Zitat antworten
  #2 (permalink)  
Alt 13-11-2009, 01:54
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

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
Mit Zitat antworten
  #3 (permalink)  
Alt 13-11-2009, 17:20
2Bad4You
 Registrierter Benutzer
Links : Onlinestatus : 2Bad4You ist offline
Registriert seit: Jun 2007
Beiträge: 101
2Bad4You ist zur Zeit noch ein unbeschriebenes Blatt
2Bad4You eine Nachricht über ICQ schicken
Standard

Hey,

Versuchs mal mit:
PHP-Code:
echo "<a href=\"userinfo.php?user=".$uname."\">$uname</a>"
Mit Zitat antworten
  #4 (permalink)  
Alt 13-11-2009, 21:41
Moon-Ryder
 Registrierter Benutzer
Links : Onlinestatus : Moon-Ryder ist offline
Registriert seit: Nov 2009
Beiträge: 13
Moon-Ryder befindet sich auf einem aufstrebenden Ast
Arrow

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
Mit Zitat antworten
  #5 (permalink)  
Alt 13-11-2009, 22:21
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Moon-Ryder Beitrag anzeigen
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.
Mit Zitat antworten
  #6 (permalink)  
Alt 14-11-2009, 01:41
Moon-Ryder
 Registrierter Benutzer
Links : Onlinestatus : Moon-Ryder ist offline
Registriert seit: Nov 2009
Beiträge: 13
Moon-Ryder befindet sich auf einem aufstrebenden Ast
Standard

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
Mit Zitat antworten
  #7 (permalink)  
Alt 14-11-2009, 02:11
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

http://www.php.net/manual/en/language.types.string.php

Lesen!
Mit Zitat antworten
  #8 (permalink)  
Alt 14-11-2009, 02:37
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

wenn du mit PHP Strings richtig umgehen kannst, kommt Level2: Das Quoten von Attributen, was
  1. generell empfohlen ist
  2. Pflicht bei XHTML ist
  3. 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
Mit Zitat antworten
  #9 (permalink)  
Alt 14-11-2009, 12:30
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Moon-Ryder Beitrag anzeigen
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.
Mit Zitat antworten
  #10 (permalink)  
Alt 14-11-2009, 13:51
Moon-Ryder
 Registrierter Benutzer
Links : Onlinestatus : Moon-Ryder ist offline
Registriert seit: Nov 2009
Beiträge: 13
Moon-Ryder befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von AmicaNoctis Beitrag anzeigen
Hallo,

wenn du mit PHP Strings richtig umgehen kannst, kommt Level2: Das Quoten von Attributen, was
  1. generell empfohlen ist
  2. Pflicht bei XHTML ist
  3. 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 ");
?>
Mit Zitat antworten
  #11 (permalink)  
Alt 14-11-2009, 13:54
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

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.
Mit Zitat antworten
  #12 (permalink)  
Alt 14-11-2009, 13:57
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Moon-Ryder Beitrag anzeigen
header("userinfo.php?user=' . $uname . '");
Was soll das für ein Header sein?
Mit Zitat antworten
  #13 (permalink)  
Alt 14-11-2009, 14:09
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Moon-Ryder Beitrag anzeigen
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.
Mit Zitat antworten
  #14 (permalink)  
Alt 14-11-2009, 17:27
Moon-Ryder
 Registrierter Benutzer
Links : Onlinestatus : Moon-Ryder ist offline
Registriert seit: Nov 2009
Beiträge: 13
Moon-Ryder befindet sich auf einem aufstrebenden Ast
Standard

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>';
  }

?>
Mit Zitat antworten
  #15 (permalink)  
Alt 14-11-2009, 17:48
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

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...
Mit Zitat antworten
Antwort

Lesezeichen


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 12:16
Profil aendern Nestor PHP Developer Forum 2 14-08-2006 20:54
Profil jUnk2k4 BRAINSTORMING PHP/SQL/HTML/JS/CSS 8 31-05-2004 13:04
Profil phpfanger PHP Developer Forum 24 05-10-2003 14:23

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Formmailer v1.6.1 Bootstrap 4

Formmailer v1.6.1 Bootstrap wurde extra für Bootstrap entwickelt. Mit Bootstrap kann man schnell und einfach kleine oder große Projekte entwickeln, die auf Geräten in allen erdenklichen Formen funktionieren.

18.12.2018 arne-home | Kategorie: PHP/ Formular
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:56 Uhr.