Steckbrief
-
- Beiträge: 71
- Registriert: 21. Aug 2007, 12:20
- Wohnort: http://www.theatergruppe-senfkorn.de
- Kontaktdaten:
Steckbrief
Hallo,
Ich möchte für meine Seite jetzt auch gerne eine "Steckbrief" Seite einrichten
wie in diesem Thema: http://www.admidio.de/forum/viewtopic.p ... steckbrief
aber ich bekomme immer diese Fehlermeldung wenn ich die seite öffne:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homepages/1/d208923085/htdocs/Theatergruppe Senfkorn/adm/adm_program/system/db/mysql.php on line 16
verwendete Version: 2.2.6
Was mache ich falsch?
Mit freundlichen Grüßen
Lars
Ich möchte für meine Seite jetzt auch gerne eine "Steckbrief" Seite einrichten
wie in diesem Thema: http://www.admidio.de/forum/viewtopic.p ... steckbrief
aber ich bekomme immer diese Fehlermeldung wenn ich die seite öffne:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homepages/1/d208923085/htdocs/Theatergruppe Senfkorn/adm/adm_program/system/db/mysql.php on line 16
verwendete Version: 2.2.6
Was mache ich falsch?
Mit freundlichen Grüßen
Lars
Hallo Lars,
verstehe ich dich richtig:
1. Du hast eine Datei erstellt (z.B. steckbrief.php) und dort den Quellcode aus dem von dir genannten Forumseintrag hinein kopiert?
2. Sobald du die Seite dann aufrufst, kommt die von dir angegebene Fehlermeldung?
Falls das alles stimmt:
Hast du noch in anderen Dateien etwas gändert? Denn die Fehlermeldung bezieht sich auf die Datei mysql.php. Die angegeben Zeile ist bei mir der Beginn der Funktion, die eine Verbindung zur Datenbank aufbaut.
Funktioniert der Rest von Admidio? Also kannst du z.B. die Benutzerverwaltung aufrufen?
Mich wundert, warum eine derart zentrale Funktion (Verbindungsaufbau zur Mysql-Datenbank) auf einmal einen Fehler erzeugen soll, wenn im Rest von Admidio sonst kein Fehler auftritt.
Poste mal bitte den Quellcode deiner Stechbrief-Seite, vielleicht bringt uns das weiter.
Ansonsten fällt mir im Moment leider nichts ein.
Grüße!
verstehe ich dich richtig:
1. Du hast eine Datei erstellt (z.B. steckbrief.php) und dort den Quellcode aus dem von dir genannten Forumseintrag hinein kopiert?
2. Sobald du die Seite dann aufrufst, kommt die von dir angegebene Fehlermeldung?
Falls das alles stimmt:
Hast du noch in anderen Dateien etwas gändert? Denn die Fehlermeldung bezieht sich auf die Datei mysql.php. Die angegeben Zeile ist bei mir der Beginn der Funktion, die eine Verbindung zur Datenbank aufbaut.
Funktioniert der Rest von Admidio? Also kannst du z.B. die Benutzerverwaltung aufrufen?
Mich wundert, warum eine derart zentrale Funktion (Verbindungsaufbau zur Mysql-Datenbank) auf einmal einen Fehler erzeugen soll, wenn im Rest von Admidio sonst kein Fehler auftritt.
Poste mal bitte den Quellcode deiner Stechbrief-Seite, vielleicht bringt uns das weiter.
Ansonsten fällt mir im Moment leider nichts ein.
Grüße!
Zuletzt geändert von admmik am 3. Jul 2011, 15:35, insgesamt 1-mal geändert.
-
- Beiträge: 71
- Registriert: 21. Aug 2007, 12:20
- Wohnort: http://www.theatergruppe-senfkorn.de
- Kontaktdaten:
Hallo,
Die anderen Admidio Seiten funktionieren alle (frisch eingerichtet)
andere Datein habe ich nicht verändert (nur Farbe angepasst)
mir ist noch aufgefallen das bei meiner anderen Seite (Admidio 2.1.5) in Zeile 16 function connect... steht
und bei 2.2.6 public function connect hat das was damit zutun?
Mfg
Lars
Die anderen Admidio Seiten funktionieren alle (frisch eingerichtet)
andere Datein habe ich nicht verändert (nur Farbe angepasst)
Code: Alles auswählen
<?php
include_once("../adm/adm_program/system/common.php");
$user_id=1;
$user = new User($g_db, $user_id);
$user->GetUser($user_id);
echo"
<div class=\"formHead\" style=\"width: 400px\">".
$user->getValue("Vorname"). " ". $user->getValue("Nachname"). "</div>
<div class=\"formBody\" style=\"width: 400px; height: 180px; text-align: left;\">
<div style=\"width: 250px; float: left;\">
Geburtsdatum: "; echo mysqldatetime('d.m.y', $user->getValue("Geburtstag"));echo"<br><br>
<a class=\"normalLight\" href=\"mailto:".$user->getValue("E-Mail")."\">E-Mail an ".$user->getValue("Vorname")." schreiben</a>
<img src=\"". $g_root_path. "/adm_program/modules/profile/profile_photo_show.php?usr_id=".$user_id."&id=". time(). "\" alt=\"Profilfoto\" />
</div>
<br><br>";
?>
und bei 2.2.6 public function connect hat das was damit zutun?
Mfg
Lars
Hallo nochmal!
public function connect hat das was damit zutun?
Nein, "public" bedeutet nur, dass diese Funktion von überall gesehen werden kann. D.h. auch andere Klassen dürfen auf die Funktion zugreifen.
Früher konnte man bei php (weiß nicht ob das heute noch geht) das "public" einfach weg lassen, damit war die Funktion dann aber trotzdem automatisch als "public" deklariert.
Falls es dich mehr interessiert: http://php.net/manual/de/language.oop5.visibility.php
Ansonsten habe ich deinen Quellcode jetzt mal bei mir (ebenfalls Version 2.2.6) ausprobiert:
Bei mir funktioniert der Code nicht.
1. Die Funktion "GetUser" gibt es nicht mehr in Admidio
2. Ebenfalls gibt es die Funktion mysqldatetime() in dieser Art nicht mehr (ohne es versucht zu haben, würde ich das stattdessen mit der php-Funktion "date()" ausprobieren)
Aber selbst wenn ich diese Funktionen vermeide, bekomme ich keine Daten aus der Datenbank.
Bin gerade dabei herauszufinden, warum das so ist...
public function connect hat das was damit zutun?
Nein, "public" bedeutet nur, dass diese Funktion von überall gesehen werden kann. D.h. auch andere Klassen dürfen auf die Funktion zugreifen.
Früher konnte man bei php (weiß nicht ob das heute noch geht) das "public" einfach weg lassen, damit war die Funktion dann aber trotzdem automatisch als "public" deklariert.
Falls es dich mehr interessiert: http://php.net/manual/de/language.oop5.visibility.php
Ansonsten habe ich deinen Quellcode jetzt mal bei mir (ebenfalls Version 2.2.6) ausprobiert:
Bei mir funktioniert der Code nicht.
1. Die Funktion "GetUser" gibt es nicht mehr in Admidio
2. Ebenfalls gibt es die Funktion mysqldatetime() in dieser Art nicht mehr (ohne es versucht zu haben, würde ich das stattdessen mit der php-Funktion "date()" ausprobieren)
Aber selbst wenn ich diese Funktionen vermeide, bekomme ich keine Daten aus der Datenbank.
Bin gerade dabei herauszufinden, warum das so ist...
Zuletzt geändert von admmik am 3. Jul 2011, 16:17, insgesamt 1-mal geändert.
Ah, ok, jetzt hab ichs (glaube ich):
Probier mal bitte folgenden Code:
Dieser Code funktioniert bei mir.
Die Funktion "getValue" erwartet nicht mehr die deutschen Namen der Datenbankfelder, sondern die englische Bezeichnung (vgl. DB-Tabelle "adm_user_fields" Spalte "usf_name_intern").
Es fehlt dann nur noch das Profilbild. Das müsste eigentlich wie in dem von dir angegebenen Forums-Thema funktionieren (Ich kann das im Moment nicht ausprobieren). Falls nicht, meld dich einfach nochmal.
Sollte das jetzt funktionieren, verstehe ich aber immernoch nicht, warum du die Fehlermeldung mit der mysql.php bekommen hast. Aber naja, hoffentlich tritt die nicht wieder auf.
Grüße!
Probier mal bitte folgenden Code:
Code: Alles auswählen
<?php
include_once("adm_program/system/common.php");
$user_id=1;
$user = new User($g_db, $user_id);
echo"
<div class=\"formHead\" style=\"width: 400px\">".
$user->getValue('FIRST_NAME'). " ". $user->getValue('LAST_NAME'). "</div>
<div class=\"formBody\" style=\"width: 400px; height: 180px; text-align: left;\">
<div style=\"width: 250px; float: left;\">
Geburtsdatum: "; echo $user->getValue('BIRTHDAY');echo"<br><br>
<a class=\"normalLight\" href=\"mailto:".$user->getValue('EMAIL')."\">
E-Mail an ".$user->getValue('FIRST_NAME')." schreiben
</a>
</div>
<br><br>";
?>
Die Funktion "getValue" erwartet nicht mehr die deutschen Namen der Datenbankfelder, sondern die englische Bezeichnung (vgl. DB-Tabelle "adm_user_fields" Spalte "usf_name_intern").
Es fehlt dann nur noch das Profilbild. Das müsste eigentlich wie in dem von dir angegebenen Forums-Thema funktionieren (Ich kann das im Moment nicht ausprobieren). Falls nicht, meld dich einfach nochmal.
Sollte das jetzt funktionieren, verstehe ich aber immernoch nicht, warum du die Fehlermeldung mit der mysql.php bekommen hast. Aber naja, hoffentlich tritt die nicht wieder auf.
Grüße!
-
- Beiträge: 71
- Registriert: 21. Aug 2007, 12:20
- Wohnort: http://www.theatergruppe-senfkorn.de
- Kontaktdaten:
-
- Beiträge: 71
- Registriert: 21. Aug 2007, 12:20
- Wohnort: http://www.theatergruppe-senfkorn.de
- Kontaktdaten:
Hallo,
Hab jetzt doch noch mal ein Problem mit dem Profilbild
Inhalt Profil.php
Inhalt der profile_photo_show.php
Beim aufrufen der profil.php (mit der Zeile fürs Bild) kommt folgende Fehlermeldung:
mfg
Lars
Hab jetzt doch noch mal ein Problem mit dem Profilbild
Inhalt Profil.php
Code: Alles auswählen
<?php
include_once("adm_program/system/common.php");
$user_id=1;
$user = new User($g_db, $user_id);
echo"
<div class=\"formHead\" style=\"width: 400px\">".
// Vorname und Nachname
$user->getValue('FIRST_NAME'). " ". $user->getValue('LAST_NAME'). "</div>
<div class=\"Daten\" style=\"width: 400px\">
Aufgabe: "; echo $user->getValue('AUFGABEN');echo"<br><br>
Dabei seit: "; echo $user->getValue('DABEI_SEIT');echo"<br><br>
Rollen: "; echo $user->getValue('ROLLEN');echo"<br><br>
<img src="profile_photo_show.php?a_user_id='.$user_id.'" align="right">
</div>
<br><br>";
?>
Code: Alles auswählen
<?php
require("adm_program/system/common.php");
header("Content-Type: image/jpeg");
$a_user_id=$_GET["a_user_id"];
$allowed = array(1);
if(in_array($a_user_id, $allowed))
{
$sql=" SELECT usr_photo
FROM ".TBL_USERS."
WHERE usr_id=$a_user_id";
$result_photo = mysql_query($sql, $g_adm_con);
echo @MYSQL_RESULT($result_photo,0,"usr_photo");
}
?>
Code: Alles auswählen
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /homepages/1/d208923085/htdocs/Theatergruppe Senfkorn/adm/profil.php on line 18
Lars
Ohne es jetzt ausprobiet zu haben:
In der profil.php hast du den Kommentar "// Vorname und Nachname" mitten in eine Anweisung über mehrere Zeilen geschrieben. Das kann (glaube ich) nicht gut sein.
Zusätzlich hast du bei der Ausgabe des Profilfotos die " bzw \" nicht ganz richtig gesetzt. Deshlab verwende ich persönlich bei solchen Sachen lieber ' und " anstelle von " und \", aber das ist geschmacksache.
Probier mal die profil.php wie folgt (wieder mit " und \" zur Anlehung an deinen Code):
Jetzt ist es (denke ich) etwas deutlicher zu sehen, wo ein Kommando beginnt und/oder endet.
Grüße!
PS: Das mit getValue("AUFGABEN"), getValue("DABEI_SEIT") und getValue("ROLLEN") funktioniert nun so? Denn konsistenter Weise würde ich (mal wieder ohne es probiert zu haben) die englischen Begriffe erwarten.
In der profil.php hast du den Kommentar "// Vorname und Nachname" mitten in eine Anweisung über mehrere Zeilen geschrieben. Das kann (glaube ich) nicht gut sein.
Zusätzlich hast du bei der Ausgabe des Profilfotos die " bzw \" nicht ganz richtig gesetzt. Deshlab verwende ich persönlich bei solchen Sachen lieber ' und " anstelle von " und \", aber das ist geschmacksache.
Probier mal die profil.php wie folgt (wieder mit " und \" zur Anlehung an deinen Code):
Code: Alles auswählen
<?php
include_once("adm_program/system/common.php");
$user_id=1;
$user = new User($g_db, $user_id);
echo"<div class=\"formHead\" style=\"width: 400px\">";
// Vorname und Nachname
echo $user->getValue("FIRST_NAME");
echo $user->getValue("LAST_NAME");
echo "</div>";
echo "<div class=\"Daten\" style=\"width: 400px\">Aufgabe: ";
echo $user->getValue("AUFGABEN");
echo "<br><br>Dabei seit: ";
echo $user->getValue("DABEI_SEIT");
echo "<br><br>Rollen: ";
echo $user->getValue("ROLLEN");
echo "<br><br>";
echo "<img src=\"profile_photo_show.php?a_user_id=".$user_id."\" align=\"right\">";
echo "</div><br><br>";
?>
Grüße!
PS: Das mit getValue("AUFGABEN"), getValue("DABEI_SEIT") und getValue("ROLLEN") funktioniert nun so? Denn konsistenter Weise würde ich (mal wieder ohne es probiert zu haben) die englischen Begriffe erwarten.
-
- Beiträge: 71
- Registriert: 21. Aug 2007, 12:20
- Wohnort: http://www.theatergruppe-senfkorn.de
- Kontaktdaten: