Shop-Hilfe.com
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 13.03.2005, 19:40   #1
TP-Junior
 
Benutzerbild von Cyberchriss
 
Registriert seit: Dec 2003
Ort: Germany
Cyberchriss macht alles soweit korrekt

switch/case link problem


Hallöchen!

Ich bin gerade dran ein bisser php zu lernen und hoffe auf ein paar nützliche Tips von den Profis hier lernen zu können.

Imo versuche ich eine html-Seite so umzustrukturieren, das ich sie dynamisch laden kann. Hierzu habe ich gelesen, das man per hyperlink elemente in eine site includen kann.
Hier mein erster versuch, der leider nicht hinhauen wollte
Um den Fehler zu finden habe ich die include-Zeile durch eine echo-Ausgabe ersetzt und dabei festgestellt, das die switch-case anweisung nicht wie beabsichtigt ausgeführt wird.

meine index2.php:
PHP-Code:
<html>
<head>
<title>Testseite Include</title>
</head>
<body>
<?php
echo "Test zum includen von content innerhalb einer Site<br><br>";
echo 
"<a href=index2.php?site=1>include Site1</a><br>";
echo 
"<a href=index2.php?site=2>include Site2</a><br>";

switch (
$site)
{
    case 
1: echo "Hier soll Site 1 includet werden"; break;
    case 
2: echo "Hier soll Site 2 includet werden"; break;
    
#case 1: include ("site1.php"); break;
    #case 2: include ("site2.php"); break;
}
?>
</body>
</html>
Ich denke mal, dass das Prinzip richtig ist und es irgendwo am Syntax hapert?
Cyberchriss ist offline   Mit Zitat antworten


Alt 13.03.2005, 19:59   #2
TP-Veteran
 
Benutzerbild von the-architect
 
Registriert seit: Jun 2004
Ort: Stuttgart
the-architect bringt sich richtig einthe-architect bringt sich richtig ein
switch($_GET['site'])
__________________
mein blog | imedo.de | clubrating.de | deviantart


the-architect ist offline   Mit Zitat antworten
Alt 13.03.2005, 20:11   #3
TP-Junior
 
Benutzerbild von Cyberchriss
 
Registriert seit: Dec 2003
Ort: Germany
Cyberchriss macht alles soweit korrekt
Hmmm kannst Du diese Anweisung mal erklären? Wenn ich switch ($site) mit switch($_GET['site']) ersetze gibbets nen Parse error: parse error, unexpected T_SWITCH, expecting ':' ....

Was ist denn an meinem Script falsch?
Hab mich da eigentlich genau an http://de.php.net/manual/de/control-...res.switch.php gehalten.
Cyberchriss ist offline   Mit Zitat antworten
Alt 13.03.2005, 20:16   #4
TP-Veteran
 
Benutzerbild von the-architect
 
Registriert seit: Jun 2004
Ort: Stuttgart
the-architect bringt sich richtig einthe-architect bringt sich richtig ein
also ich teste ja selten was bei mir auf dem localhost was ich hier poste, aber das hier geht auf jeden fall:
PHP-Code:
  <html>
  <head>
  <title>Testseite Include</title>
  </head>
  <body>
  <?php
  
echo "Test zum includen von content innerhalb einer Site<br><br>";
  echo 
"<a href=index2.php?site=1>include Site1</a><br>";
  echo 
"<a href=index2.php?site=2>include Site2</a><br>";
  
  switch (
$_GET['site'])
  {
      case 
1: echo "Hier soll Site 1 includet werden"; break;
      case 
2: echo "Hier soll Site 2 includet werden"; break;
      
#case 1: include ("site1.php"); break;
      #case 2: include ("site2.php"); break;
  
}
  
?>
  </body>
  </html>
Du hast nicht zufällig ein : nach case vergessen? oder ein ; ??
__________________
mein blog | imedo.de | clubrating.de | deviantart


the-architect ist offline   Mit Zitat antworten
Alt 13.03.2005, 20:19   #5
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
ansonsten vorher GET auslesen
$site=(isset($_GET['site'])) ? $_GET['site'] : 1; // 1 als default
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist gerade online   Mit Zitat antworten
Alt 13.03.2005, 20:20   #6
TP-Veteran
 
Benutzerbild von the-architect
 
Registriert seit: Jun 2004
Ort: Stuttgart
the-architect bringt sich richtig einthe-architect bringt sich richtig ein
ich weiß was jetzt für eine frage kommt steffen, du auch?
__________________
mein blog | imedo.de | clubrating.de | deviantart


the-architect ist offline   Mit Zitat antworten
Alt 13.03.2005, 20:21   #7
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist gerade online   Mit Zitat antworten
Alt 13.03.2005, 20:22   #8
TP-Junior
 
Benutzerbild von Cyberchriss
 
Registriert seit: Dec 2003
Ort: Germany
Cyberchriss macht alles soweit korrekt
Okay - hatte vergessen meine switch-Anweisung auszukommentieren - tststs
Mit Deiner Anweisung klappt es nun, nur würde ich trotzdem gerne wissen, warum es mit meinem ersten Script nicht funktioniert hat und was der Syntax und die Variable $_GET['site'] genau bedeuten
Cyberchriss ist offline   Mit Zitat antworten
Alt 13.03.2005, 20:22   #9
TP-Veteran
 
Benutzerbild von the-architect
 
Registriert seit: Jun 2004
Ort: Stuttgart
the-architect bringt sich richtig einthe-architect bringt sich richtig ein
na mal sehen
__________________
mein blog | imedo.de | clubrating.de | deviantart


the-architect ist offline   Mit Zitat antworten
Alt 13.03.2005, 20:24   #10
TP-Veteran
 
Benutzerbild von the-architect
 
Registriert seit: Jun 2004
Ort: Stuttgart
the-architect bringt sich richtig einthe-architect bringt sich richtig ein
$_GET ist ein Superglobales Array in dem alle Übergabeparameter gespeichert sind die per GET (also sichtbar in der URL) mitgegeben werden. Mehr zu Superglobals findest Du in der Manual
__________________
mein blog | imedo.de | clubrating.de | deviantart


the-architect ist offline   Mit Zitat antworten
Alt 13.03.2005, 20:27   #11
TP-Junior
 
Benutzerbild von Cyberchriss
 
Registriert seit: Dec 2003
Ort: Germany
Cyberchriss macht alles soweit korrekt
oki - das ist mal ne Aussage. *g*

Bleibt nur noch zu klären, warum mein erstes Script nicht funktionieren konnte. *fg*
Cyberchriss ist offline   Mit Zitat antworten
Alt 13.03.2005, 20:32   #12
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Dein erstes Script funktioniert nur bei der PHP-Einstellung
register_globals=on
Da man aber immer sicherstellen will, das es überall klappt, wandelt man die benötigten Variabeln um ($_GET -> normalen Vars, $_POST -> normale Vars)

Manche arbeiten auch direkt mit den $_GET oder $_POST-Variabeln, man sollte aber vorher prüfen, ob da überhaupt was drin steht.

@architect - das hattest Du doch auch erwartet, oder ?
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist gerade online   Mit Zitat antworten
Alt 13.03.2005, 20:35   #13
TP-Veteran
 
Benutzerbild von the-architect
 
Registriert seit: Jun 2004
Ort: Stuttgart
the-architect bringt sich richtig einthe-architect bringt sich richtig ein
DeinScript konnte nicht funktionieren weil die Variable "$site" unbekannt war. Sie war leer.

@steffen: Ich dachte eher an die Kurzschreibweise.
__________________
mein blog | imedo.de | clubrating.de | deviantart


the-architect ist offline   Mit Zitat antworten
Alt 13.03.2005, 20:36   #14
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKE
Zitat:
Zitat von Cyberchriss
Bleibt nur noch zu klären, warum mein erstes Script nicht funktionieren konnte. *fg*
Ganz einfach: Du fragst bei Deinem switch eine Variable ab, die es gar nicht gibt.
Folglich ist der Wert NULL und keiner deiner case-Zweige greift.
Hättest Du eine default-Zeile eingefügt, dann hättest Du das gesehen.

Dir Variable $file gibt es nach deinem ersten Klick nur in der Get-Umgebung (da sie per GET übergeben wurde) und deshalb musst Du auch die Varianle $_GET['site'] abfragen und nicht $site.

Edit: zu langsam. Aber bei all den Erklärungen sollte es nun verständlich sein. :-)
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 13.03.2005, 20:44   #15
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
die Kurzschreibweise hat er verstanden, oder überlesen

trotzdem:
statt
if(Bedingung) {
$a=1;
} else {
$a=2;
}

kann man schreiben

$a=(Bedingung) ? 1 : 2;

also wenn die Bedingung zutrifft, dann den Wert hinter ?
sonst den Wert hinter :
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist gerade online   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
switch/case link problem switch/case link problem
« Befehl, der Leerzeichen (%20) untedrückt | [PHP] Fehler in for schleife bei Ausgabe von HTML? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67