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 20-02-2005, 17:47
ford
 Newbie
Links : Onlinestatus : ford ist offline
Registriert seit: Jan 2005
Beiträge: 9
ford ist zur Zeit noch ein unbeschriebenes Blatt
Standard variablenfunktion

Ich möchte auf einer Seite auf eine Datenbank zugreifen und auf eine weitere von mehreren Datenbanken.

Dazu habe ich folgendes versucht: ich setze zunächst eine konkrete Datenbank (WortA) ein und der Versuch ist erfolgreich:
PHP-Code:
include '../functions/AAA.inc.php';
include 
"../functions/BBB.inc.php";
$fach"WortA";
$func =$fach;
$conn_id $func (); 
Im Ordner functions befinden sich die Datenbankanbindungen WortA .. WortB ... WortC .. :
PHP-Code:
function WortA ()
{
    
$db_name " ";
    
$host_name " ";
    
$user_name " ";
    
$password " ";

$conn_id = @mysql_connect ($host_name$user_name$password); ... 
Das wars denn schon, denn folgende Änderung führt zu Fehlermeldung: undefinierte Funktion.
Geändert wurde ausschließlich die Bezeichnung der Datenbank, also:
PHP-Code:
$fach=$_GET["fach"];
$func =$fach;
$conn_id $func (); 
Der Wert der Variablen $fach kann an anderer Stelle der Seite problemlos ausgegeben werden, also: WortA .. WortB ...

Über Hinweise würde ich mich freuen !

ps: bei einem Versuch mit switch ergab sich ein ähnliches Problem.
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 20-02-2005, 19:46
cag-live
 Registrierter Benutzer
Links : Onlinestatus : cag-live ist offline
Registriert seit: Feb 2005
Ort: Ilmenau
Beiträge: 143
cag-live ist zur Zeit noch ein unbeschriebenes Blatt
cag-live eine Nachricht über ICQ schicken
Standard

Schreib mal die genaue Fehlermeldung!
Mit Zitat antworten
  #3 (permalink)  
Alt 20-02-2005, 20:11
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Testausgaben?

Wie heißt die Funktion, wo hast du sie definiert? Ist die Fehlermeldung denn nicht ziemlich eindeutig?
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #4 (permalink)  
Alt 21-02-2005, 17:05
ford
 Newbie
Links : Onlinestatus : ford ist offline
Registriert seit: Jan 2005
Beiträge: 9
ford ist zur Zeit noch ein unbeschriebenes Blatt
Standard Angaben

Hier die exakte Fehlermeldung:

Call to undefined function: ()
bezogen auf die Zeile derselben Seite:
PHP-Code:
$conn_id $func (); 
Zur Vorgehensweise s.o.: die Variablenfunktion verweist auf eine Funktion mit der Bezeichnung $fach.
Der Benutzer soll zwischen verschiedenen Bezeichnungen wählen können, wonach die Variablenfunktion die jeweilige Datenbankanbindung gleichen Namens im Ordner functions aufruft.

Wenn ich - wie oben aufgezeigt - für $fach den Wert "WortA" bzw. Englisch einsetze, läuft alles problemlos.

Wenn ich dagegen in demselben Script
PHP-Code:
$fach=$_GET["fach"]; 
einsetze, erhalte ich die Fehlermeldung.


Andererseits: an anderen Stellen der Seite kann ich den jeweiligen Wert von $_GET["fach"] ausgeben.
Ich kann also z.B. die Bezeichnung der Seite Englisch, Mathe ... ausgeben.

Wenn noch unklar bitte nachfragen!
Mit Zitat antworten
  #5 (permalink)  
Alt 21-02-2005, 17:17
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

versuch zuerst:
PHP-Code:
$func(); //nur so 
und gibmal ?fach=die weiter
Mit Zitat antworten
  #6 (permalink)  
Alt 21-02-2005, 18:25
ford
 Newbie
Links : Onlinestatus : ford ist offline
Registriert seit: Jan 2005
Beiträge: 9
ford ist zur Zeit noch ein unbeschriebenes Blatt
Standard Erledigt

Zunächst:
vielen Dank
für die Mithilfe - auch ich habe zwar an die 'grundsätzlichen Fragen' gedacht - aber wohl an die falschen.

Mein Skript enthielt: get_self_path
und danach war der Wert von $fach nicht mehr verfügbar - das habe ich korrigieren können.

Ansonsten: die Variablenfunktion ist für den oben genannten Zweck gut geeignet (wenn einmal alles funktioniert).
Mit Zitat antworten
  #7 (permalink)  
Alt 21-02-2005, 18:27
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

versuche trotzdem solch ein konstrukt zu vermeiden, es kann ein großes sicherheitsproblem geben.
Mit Zitat antworten
  #8 (permalink)  
Alt 22-02-2005, 18:59
ford
 Newbie
Links : Onlinestatus : ford ist offline
Registriert seit: Jan 2005
Beiträge: 9
ford ist zur Zeit noch ein unbeschriebenes Blatt
Standard problematische Lösung

Bitte präzisiere den Hinweis :
worin liegen die Risiken von
get_self_path ?
Welche bessere Wege dienen demselben Zweck?
Anmerkung:
die (wieder) aufgerufene Seite wird in einer Session verwendet;
die autorisierten User und ihre Rechte auf Zugriff zur den Datenbanken werden vor dem Insert-Befehl nochmals geprüft.
Bleiben die Sicherheitsbedenken bestehen?
Mit Zitat antworten
  #9 (permalink)  
Alt 22-02-2005, 21:22
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

teilweise schon. eine http anfrage geht vom client an den server, d.h. der client kann sie beeinflussen. dabei kann jede funktion ausgeführt werden, die unerwartete ergebisse bringen kann bzw. als teil eines destruktiven mechanismus dienen kann. gib doch ein stichwort weiter bzw. übertrage es in einer session, das anschließend ausgewertet wird und nur im falle einer übereinstimmung gewisse prozesse auslöst.
Mit Zitat antworten
  #10 (permalink)  
Alt 22-02-2005, 22:07
ford
 Newbie
Links : Onlinestatus : ford ist offline
Registriert seit: Jan 2005
Beiträge: 9
ford ist zur Zeit noch ein unbeschriebenes Blatt
Standard Sicherheit

Natürlich möchte ich Risiken vermeiden; hier mein Vorgehen:

Die Seite mit dem betreffendem Script kann nur geöffnet werden, wenn der user registriert ist, einer Benutzergruppe angehört, sich eingeloggt hat (Session / Benutzergruppe s. Datenbank) und die Benutzergruppe gewählt hat, die zu seiner Identität passt.
Wahl der (alternativen) Datenbankanbindung (s.o. Variablenfunktion), zu der eine Berechtigung vorliegt.
Danach: Überprüfung der Berechtigung zum Upload (von Dateien) in die jeweilige Datenbank: Identität des Benutzers, Benutzergruppe, Berechtigung zum Upload bestimmter Formate etc. , Berechtigung /Sperre zum Upload (datenbankgestützt).
Dann: Ausfüllen des Formulars,
get_self_path ,
insert

Bitte um Rückmeldung, wenn eine Schwachstelle auffällt.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

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


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:50 Uhr.