Entwickler-Ecke

Off Topic - PHP include("config.php") problem


JungerIslaender - Fr 30.10.09 18:12
Titel: PHP include("config.php") problem
In meiner Config stehen die Login Daten für meine MYSQL-DB. In meiner home.php habe ich per

include("config.php") die config.php hinzugefügt. soweit so gut.

in der Config befinden sich aber auch 2 weitere Variablen:


Quelltext
1:
$logininfoa='...';  $logininfob='...';                    


in der Home.php werden die allerdings nicht zur Kenntnis genommen:


Quelltext
1:
2:
echo($logininfoa.$kw0.$logininfob); //==> ergibt nur 44, weil $kw0 = aktuelle Kalenderwoche
if(file_exists($logininfoa.$kw0.$logininfob)){...}//==> Hier passiert gar nix, sollte aber


wenn ich $logininfoa.$kw0.$logininfob mit den konkreten werten aus der config.php ersetzte funktioniert es.


Andreas L. - Fr 30.10.09 18:14

Du bindest die config.php aber schon vor dem Code ein, oder? Werden die Variablen vllt. an anderer Stelle in home.php verändert? Bitte etwas mehr Code.


JungerIslaender - Fr 30.10.09 18:20

user profile iconAndreas L. hat folgendes geschrieben Zum zitierten Posting springen:
Du bindest die config.php aber schon vor dem Code ein


Jap, mit <?php include("config.php");?> wird sie am Anfang der home.php eingebunden.

user profile iconAndreas L. hat folgendes geschrieben Zum zitierten Posting springen:
Werden die Variablen vllt. an anderer Stelle in home.php verändert?


Nein, sie kommen an keiner Anderen als den genannten Stellen vor und können demnach nicht verändert werden.


Andreas L. - Fr 30.10.09 18:21

Wird die home.php von einer anderen Datei eingebunden (z. B. index.php)? Wenn ja, bindet diese Datei ebenfalls config.php ein? Wie gesagt, man bräuchte mehr Code, das was du bisher gezeigt hast sieht in Ordnung aus.

EDIT: Änder mal include in require. Villeicht wird die Datei nicht gefunden und PHP ist so konfiguriert das keine Fehlermeldung ausgegeben wird. Wobei das eher unwahrscheinlich ist...


JungerIslaender - Fr 30.10.09 18:33

user profile iconAndreas L. hat folgendes geschrieben Zum zitierten Posting springen:
Wird die home.php von einer anderen Datei eingebunden (z. B. index.php)? Wenn ja, bindet diese Datei ebenfalls config.php ein?


Nein.Aber meine login.php bindet die config.php ein.

user profile iconAndreas L. hat folgendes geschrieben Zum zitierten Posting springen:
EDIT: Änder mal include in require. Villeicht wird die Datei nicht gefunden und PHP ist so konfiguriert das keine Fehlermeldung ausgegeben wird. Wobei das eher unwahrscheinlich ist...


Getestet, bringt keine Veränderungen.

Mehr Code Poste ich ungern, weil da sehr viele generell unwichtige und sensible Daten drinstehen.


wunsiedler - Fr 30.10.09 18:40

Und was sagt isset() ?


JungerIslaender - Fr 30.10.09 18:49

user profile iconwunsiedler hat folgendes geschrieben Zum zitierten Posting springen:
Und was sagt isset() ?


weder isset($logininfoa)
noch if (isset($logininfoa)){echo(hallo);} liefern etwas.


Delete - Fr 30.10.09 18:51

Überprüf noch mal genau die Schreibweise.


JungerIslaender - Fr 30.10.09 19:01

Hab ich. Dasselbe ergebnis.

Schreibe ich vor isset($logininfoa); oder echo(isset($logininfoa));

$logininfoa="irgendwas"; liefern beide: 1

So liefern beide nichts. Nicht einmal false


wunsiedler - Fr 30.10.09 20:17

sollst ja auch net echo schreiben sondern


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
if(isset($logininfoa))
 {
  echo "vorhanden";
 }
else
 {
  echo"nicht vorhanden";
 }


JungerIslaender - Fr 30.10.09 20:44

Liefert: Nicht Vorhanden


wunsiedler - Fr 30.10.09 21:02

na dann probier mal

include('config.php') mit einfachen anführungszeichen


JungerIslaender - Fr 30.10.09 21:21

ändert nichts. Das Ding ist ja ees werden variablen aus der config benutzt, nämlich die fürs login in meinemysql db.

Hier mal der Inhalt:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
<?php

########## MySQL Einstellungen ##########

# Host

$mysql['host'] = "[...]";



# User

$mysql['user'] = "[...]";



# Passwort

$mysql['passwort'] = "[...]";



# Datenbank

$mysql['db'] = "[...]";




########## SchulSpezifische Einstellungen ##########

# LoginInfo-Pfad

$logininfoa='../download/[...]/halberdateiname';
$logininfob='anderehalbehälfte';

?>

Habs ein bisschen abgeändert.


Delete - Fr 30.10.09 23:04

Wenn die datei nicht im gleichen Verzeichnis leigt, musst du natürlich den Pfad noch mit angeben.


wunsiedler - Sa 31.10.09 10:08

Ich denke, der Fehler liegt woanders. Wenn die $mysql-Variable sichtbar ist, müssen die anderen es auch sein. Habe deine Datei bei mir mal includiert und es funktioniert ohne Probleme.

Vielleicht doch mal mehr Code aus der home.php?


JungerIslaender - Sa 31.10.09 16:34

Ich wüsste nicht was ich sonst zeigen soll. Der andere kram hat nichts damit zu tun theoretisch...^^

Gibt es eine möglichkeit alle benutzen variablen ausugeben, ähnlich wie print_r($_POST), inetwa so: print_r($_ALL)


Handycommander - So 01.11.09 00:31

Probier doch mal:

XML-Daten
1:
echo($logininfoa.''.$kw0.''.$logininfob);                    


Gruß,
Tobi


DonManfred - Mo 09.11.09 16:38

user profile iconHandycommander hat folgendes geschrieben Zum zitierten Posting springen:
Probier doch mal:

XML-Daten
1:
echo($logininfoa.''.$kw0.''.$logininfob);                    



Wenn isset($logininfoa) false liefert, dann wird auch dieses Konstrukt nichts bringen!

Mal davon abgesehen das es mit


XML-Daten
1:
echo $logininfoa.$kw0.$logininfob;                    


durchaus funktionieren MUSS, WENN die Variablen definiert sind, was sie aber anscheinend nicht sind; auch wenn der Autor was anderes behauptet...

Ohne wirklich mehr Quelltext uzu posten (aus dem auch was ERSICHTLICH ist) wird da wohl keiner helfen können.

Ich geh ja auch nicht in ´ne Autowerkstatt, sage das mein Auto kaputt ist, bringe aber nur den Seitenspiegel mit und erwarte aber dennoch Hilfe von der Autowerkstatt...

BTW:


XML-Daten
1:
echo($logininfoa.$kw0.$logininfob);                    


WARUM sind die Variablen in Klammern eingeschlossen? Mathemathische berechnungen packt man in Klammern, nicht aber echo-ausgaben...


XML-Daten
1:
echo $logininfoa.$kw0.$logininfob;                    


wäre also korrekt.


JungerIslaender - Di 17.11.09 00:49

So habe nach langem suchen endlich das Problem gefunden. Weiß aber nicht wie ich es beheben kann:

Durch zufall habe ich mir die Config runtergeladen und angeguckt. Und komischerweise wird jedesmal wenn ich das hier hochlade:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
<?php

########## MySQL Einstellungen ##########

# Host

$mysql['host'] = "";



# User

$mysql['user'] = "";



# Passwort

$mysql['passwort'] = "";



# Datenbank

$mysql['db'] = "";




########## SchulSpezifische Einstellungen ##########

# LoginInfo-Pfad

$logininfoa='huhu';
$logininfob='auchhuhu';

?>


Dass hier:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
<?php
########## MySQL Einstellungen ##########
# Host
$mysql['host'] = "";

# User
$mysql['user'] = "";

# Passwort
$mysql['passwort'] = "";

# Datenbank
$mysql['db'] = "";
########## SchulSpezifische Einstellungen ########### LoginInfo-Pfad$logininfoa='huhu';$logininfob='auchhuhu';?>


Womit das entscheidende zum Kommentar wird.


JungerIslaender - Di 17.11.09 01:10

Problem gelöst. X:D

Die Formatierung war aus irgendeinem Grund verändert. KA Warum.

THX to all insbesondere da ihr es mit mir aushaltet^^

MFG JungerIslaender


Handycommander - Di 17.11.09 15:45

:D
dann ist das natürlich ganz klar ;)

Gruß,
Tobi