Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Reiner

Haudegen

Dabei seit: 01.03.2003

Beiträge: 676

 

1 Zum Seitenanfang

Samstag, 7. Januar 2012, 12:39

include mit Variable

Hallo

ich möchte eine Datei mit Variablen includen..

PHP-Quelltext

1
include("/var/www/web339/html/wimbledon.php");


Dabei statt wimbeldon durch die Variable $ProdNAME rein.

$ProdNAME liefert mir den Stadtnamen Wimbeldon und weitere aus der Datenbank.

Das würde ich nur in kleinen Buchstaben benötigen.

include("/var/www/web339/html/$string = strlower($ProdNAME ).php");

Das ist natürlich völlig falsch.

Wie müsste das richtig aussehen?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Reiner« (7. Januar 2012, 12:39)

 

thwju

Tripel-As

Dabei seit: 22.10.2011

Beiträge: 205

 

2 Zum Seitenanfang

Samstag, 7. Januar 2012, 12:44

vllt so ?
sicher bin ich mir nicht

PHP-Quelltext

1
2
3
4
<?php
$prodstring strlower($ProdNAME );
include("/var/www/web339/html/$prodstring.php");
?>

Kann das sein ???
Made-E
NiklasKar Inhalt kommt noch :D
Ranking pushen -
 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

3 Zum Seitenanfang

Samstag, 7. Januar 2012, 13:56

PHP-Quelltext

1
2
3
<?php
include("/var/www/web339/html/".strlower($ProdNAME).".php");
?>


string abschließen, variable konkatenieren und noch einen string konkatenieren (anhängen).
achja, du solltest aufpassen, dass ProdNAME überprüft ist, falls es vom user kommt.

jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

Reiner

Haudegen

Dabei seit: 01.03.2003

Beiträge: 676

 

4 Zum Seitenanfang

Samstag, 7. Januar 2012, 14:49

Hallo thwju und jperl,

danke für Deine Hilfe

Ich habs so eingebaut und klappt super.


Ach ja, ich habs ganz vergessen. Wenn die Datei nicht vorhanden ist soll auch kein Fehler erscheinen.

Und kann man wenn die eine Variante nicht existiert eine andere wie $ProdIMG1 aufrufen? Also irgendwie mit if und else?

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Reiner« (7. Januar 2012, 14:49)

 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

5 Zum Seitenanfang

Samstag, 7. Januar 2012, 14:54

du solltest dir echt mal grundkenntnisse in php aneignen. da hier sind die basics.

PHP-Quelltext

1
2
3
4
5
$fn "/var/www/web339/html/".strlower($ProdNAME).".php";
if(is_file($fn)) //datei existiert
  include($fn);
else //datei existiert nicht
  //was anderes einbinden


jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

thwju

Tripel-As

Dabei seit: 22.10.2011

Beiträge: 205

 

6 Zum Seitenanfang

Samstag, 7. Januar 2012, 15:15

hast du nicht noch die klammern beim if vergessen ?

PHP-Quelltext

1
2
3
4
5
6
$fn "/var/www/web339/html/".strlower($ProdNAME).".php";
if(is_file($fn)){ //datei existiert
  include($fn);}
else {//datei existiert nicht
  //was anderes einbinden
}
Made-E
NiklasKar Inhalt kommt noch :D
Ranking pushen -
 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

7 Zum Seitenanfang

Samstag, 7. Januar 2012, 15:20

der code ist nur zur veranschaulichung da. allerdings ist er syntaktisch korrekt.
solange man nur ein statement hat, muss man keine klammern setzen.
ab zweien muss man diese setzen (wobei es sinn macht, diese immer zu setzen).

jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

Reiner

Haudegen

Dabei seit: 01.03.2003

Beiträge: 676

 

8 Zum Seitenanfang

Samstag, 7. Januar 2012, 16:27

Hi

ich habs jetzt so gemacht...

PHP-Quelltext

1
2
3
4
5
$fn "/var/www/web339/html/".strtolower($ProdIMG1).".php";
if(is_file($fn)){ 
  include($fn);}
else {
  include("/var/www/web339/html/".strtolower($ProdNAME).".php");}


bzw. so

PHP-Quelltext

1
2
3
4
5
6
7
$fn "/var/www/web339/html/".strtolower($ProdIMG1).".php";
$fe "/var/www/web339/html/".strtolower($ProdNAME).".php";
if(is_file($fn)){ 
  include($fn);}
else {
  include($fe);
  }


Das mit $ProdIMG1 klappt.
Ist $ProdIMG1 nicht vorhanden müsste ich $ProdNAME sehen.
Existiert in beiden Varianten keine Datei, dann darf gar nicht erscheinen.
Ich bekomme aber den Fehler

Zitat

Warning: include(/var/www/web339/html/wimbledon tennis championships.php) [function.include]: failed to open stream: No such file or directory in /var/www/web339/html/productView.php on line 203

Warning: include() [function.include]: Failed opening '/var/www/web339/html/wimbledon tennis championships.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/web339/html/productView.php on line 203
Zur Erklärung in diesen Fall.

$ProdIMG1 = wimbledon tennis championships.php - diese Datei ist nicht vorhanden, also müsste
$ProdNAME = london.php greifen. - diese Datei ist vorhanden.
Wäre diese london.php nicht vorhanden dann gar nichts ausgeben.

Mit dieser Variante

PHP-Quelltext

1
2
3
4
5
6
7
8
9
$fn "/var/www/web339/html/".strtolower($ProdIMG1).".php";
$fe "/var/www/web339/html/".strtolower($ProdNAME).".php";
if(is_file($fn)){ 
  include($fn);} 
else {
  include($fe);}
else {
  echo'';
  }


bekomme ich diesen Fehler:

Zitat

Parse error: syntax error, unexpected T_ELSE in /var/www/web339/html/productView.php on line 208

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Reiner« (7. Januar 2012, 16:27)

 

Ego

Routinier

Dabei seit: 22.07.2009

Beiträge: 322

 

9 Zum Seitenanfang

Samstag, 7. Januar 2012, 17:15

die IF-Verzweigung läst nur 2 Richtungen zu. Im Sinne von:
WENN(IF) Bedingung=Wahr DANN MacheIrgendwas SONST(ELSE) MacheWasAnderes

Aber man kann ja im else-Zweig wieder eine neue Verzweigung aufmachen UND irgendwo muss ja geprüft werden ob die Datei $fe existiert, in deinem Beispiel prüfst du nur ob $fn existiert :)

Fehlerbereinigt

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (is_file($fn))
{
    include($fn);
}
else
{
    if (is_file($fe))
    {
        include($fe);
    }
    else
    {
        echo'';
    }
}

Aber wie jperl schon angeführt hat kann eine einzelne Anweisung auch ohne extra geschweifte Klammern verwenden

also könnte das am Ende so aussehen

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$fn "/var/www/web339/html/" strtolower($ProdIMG1) . ".php";
$fe "/var/www/web339/html/" strtolower($ProdNAME) . ".php";
if (is_file($fn))
{
    include($fn);
}
else if (is_file($fe))
{
    include($fe);
}
else
{
    echo'';
}

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Ego« (7. Januar 2012, 17:15)

 

litoca

Tripel-As

Dabei seit: 15.01.2009

Beiträge: 221

 

10 Zum Seitenanfang

Samstag, 7. Januar 2012, 17:17

PHP-Quelltext

1
2
3
4
5
$fn "/var/www/web339/html/".strtolower($ProdIMG1).".php";
$fe "/var/www/web339/html/".strtolower($ProdNAME).".php"; 
if(is_file($fn)){    include($fn);} 
 else {   include($fe);} 
else {   echo'';   }


Du kannst keine zwei else-anweisungen geben.
Deswegen kommt dein Syntax fehler.

so würde es wahrscheinlich gehen:

PHP-Quelltext

1
2
3
4
5
6
7
8
$fn "/var/www/web339/html/".strtolower($ProdIMG1).".php";
 $fe "/var/www/web339/html/".strtolower($ProdNAME).".php"; 
if(is_file($fn))
{ include($fn); }
elseif(is_file($fe))
{ include($fe); }
else
{ echo ''; }

Wobei das nur in dem Fall eine Gute Variante ist, wenn auszuschließen ist das $fe und $fn gleichzeitig existieren.

litoca
think positive!

litoca
 

Reiner

Haudegen

Dabei seit: 01.03.2003

Beiträge: 676

 

11 Zum Seitenanfang

Samstag, 7. Januar 2012, 18:44

Danke für Eure Hilfe,


Klappt alles super!

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Reiner« (7. Januar 2012, 18:44)

 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 999

 

12 Zum Seitenanfang

Samstag, 7. Januar 2012, 21:54

Danke für Eure Hilfe,


Klappt alles super!


:D du bist sei 03 registriert hier, was haste die ganze Zeit gemacht?...
Mein kleines Projekt
-Cruel Online-
 

Ähnliche Themen