php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.10.2008, 18:03  
Neuer Benutzer
 
Registriert seit: 08.10.2008
Beiträge: 10
UrbanNinja befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Website-Variablenreferscript will nicht klappen

Sers!

Ich bin vor einiger Zeit in PHP eingestiegen,
da ich eine dymnamisch Website programmieren wollte.

Bisher hab ich immer sehr schöne Homepages mit CSS hinbekommen,
"PHP täte mir ganz gut", dachte ich.
Also ging's 'ran:
auf meinen privaten Stammtrackern lud ich also Gigabyteweise Trainings-CDs, u.a. von Video2Brain mit Helge Maus (Helge Maus) und und und.


ALLE Grundlagen, Wertübergaben per Tabelle,
per GET-Methode über den URL, per POST,
ALLES über Arrays uvm. kann ich bereits, also wie gesagt: alle Grundlagen.

Zur dynamischen Website dachte ich mir also etwas aus:


Mein Ziel war es, per URL (GET-Methode) die Variable $id an die nächste Seite zu übergeben.
Es sollte also auf der Hauptseite an jedem Link eine andere $id übergeben werden.

Per if-Abfrage wollte ich dann nach dem Klicken dieser Links den jeweiligen Inhalt per include_once ausgeben lassen. z.B. sollte also auf
PHP-Code:
test.php?id=
die Seite "AboutMe" dargestellt werden.
PHP-Code:
if( $id==)
{
     include_once(
"AboutMe.inc.php");

Dazu muss man sagen, dass ich äußert ungern ".inc"-Dateien include, da der Quellcode falls ein Dateityp auf Apache unbekannt ist mal eben so ausgegeben wird.
Also denkt sich eben mal jemand aus, er tippt den URL zur .inc-Datei ein und schon hat er den gesamten Quellcode.
Bei der Dateiendung .php wird das ganze natürlich executed.


Note: Wenn ihr das ganze in euren Editor ladet, speichert und per Browser öffnet, seht ihr meine Notes zu den Fehlern, die vorkommen.

Unter anderem wird der Wert der Variablen $id natürlich überschrieben.
Ich dachte aber, dass das kein Problem ist, wenn man immer neue PHP-Tags einfügt, statt alles in einem Script zu tun, da der Link ja jeweils nach oder vor der Überschreibung generiert wird.
Bsp.:
PHP-Code:
<?php
     $id 
1;
     echo 
"myLinkToAboutMe-Beispiel";
?>
<?php
     $id 
2;
     echo 
"myLink2";
?>
Quellcode:

Sess_IN.php (Eingabe des Links, Übergabe an inhaltsdarstellende Site)
Nopaste


Sess_OUT.php
Nopaste



Danach kam Versuch2: verschiedene Variablen übergeben, damit nichts überschrieben wird, dummerweise werden BEIDE dann übergeben und somit auch beide Inhalte dargestellt *-*

Sess_IN_neu.php
Nopaste

Sess_OUT_neu.php
Nopaste



Files bitte so benennen, wie darüber angegeben.
Danke für 'ne Lösung, wie gesagt:
Die Probleme stehen jeweils im File, einfach per Browser darstellen und mal reinlesen

DANKE!


liebe Grüße

Geändert von UrbanNinja (09.10.2008 um 01:06 Uhr).
UrbanNinja ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.10.2008, 18:24  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Hallo,

kannst du dein Problem auch kurz und knackig formulieren.

Aus den Quellcode-Snippets sieht es für mich auf den ersten Blick so aus, als ob du nicht ganz verstanden hättest was $_SESSION ist bzw. wie so ein gesamter Request bei PHP überhaupt abläuft.

Dein eigentliches Anliegen - einbinden von verschiedenen Dateien je nach angeklicktem Link - wird eigentlich in vielen Grundlagen-Tutorials erklärt.
Übergebe per URL die einzubindende Seite (index.php?site=schlachmichtot) und binde dann in deiner index.php das passende ein.
Zum Beispiel über eine switch-Anweisung:
PHP-Code:
$site = isset($_GET['site']) ? $_GET['site'] : 'default';
switch(
$site)
{
  case 
'start': include('deine_gewuenschte_php.php'); break;
  case 
'blub': include('blub');
.... 
__________________
Today you...Tomorrow me.

Geändert von agrajag (08.10.2008 um 19:40 Uhr).
agrajag ist offline  
Alt 08.10.2008, 19:25  
Neuer Benutzer
 
Registriert seit: 08.10.2008
Beiträge: 10
UrbanNinja befindet sich auf einem aufstrebenden Ast
Standard

Aww, genau darauf wollte ich immer hinaus: die index.php


Was genau ist das?
Hast du da 'n gutes Tutorial bzw. den URL dazu? :/
Vielleicht kannst du's mir ja eben erklären.

Switch-Case kenne ich natürlich, die Funktion isset(); allerdings nicht.

Wär super, wenn du's mir eben nochmal erklären kannst.
Danke schonmal!
UrbanNinja ist offline  
Alt 08.10.2008, 19:43  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Was isset ist und macht kannst du im PHP-Manual nachlesen: isset

Ein passendes Tutorial zu deinem Vorhaben findest du hier: Quakenet/#php Tutorial - de - 2-Spalten-Layout (die Kapitel davor und danach zu lesen schadet bestimmt auch nicht )
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 08.10.2008, 21:02  
Neuer Benutzer
 
Registriert seit: 08.10.2008
Beiträge: 10
UrbanNinja befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von agrajag Beitrag anzeigen
PHP-Code:
<?php
$site 
= isset($_GET['site']) ? $_GET['site'] : 'default';
switch(
$site)
{
  case 
'start': include('deine_gewuenschte_php.php'); break;
  case 
'blub': include('blub');
}
?>
Ich weiß jetzt nicht wirklich, wie ich so eine index.php hinkriegen sollte.

Vor allem die oberste Zeile des Quellcodes versteh ich nicht ganz.

Wenn die Variable also den Wert true für die Existenz der GET-Anfrage erhalten hat, wird dies auch durchgeführt?

Der Default-Wert hat aber nichts mit dem Default-Wert des Switch-Case-Konstrukts zu tun, oder?
UrbanNinja ist offline  
Alt 08.10.2008, 21:30  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

$site = isset($_GET['site']) ? $_GET['site'] : 'default';

hat die gleiche Bedeutung wie:
PHP-Code:
if (isset($_GET['site'])) {
  
$site =  $_GET['site'] ;
} else {
  
$site =   'default';

Das bedeutet:

Wenn es im $_GET-Array einen Wert zum Schlüssel 'site' gibt, dann speichere den in die Variable $site. Wenn es den Schlüssel nicht gibt, dann setze $site auf den Wert 'default'.

$site wird dann über Switsch/Case verarbeitet:

PHP-Code:
switch($site) {
  case 
'impressum'
      include(
'impressum.php'); 
      break;
  case 
'blub'
      include(
'blub.php');
      break;
  default:
      include(
'start.php'); 


Geändert von Wolla (08.10.2008 um 21:54 Uhr). Grund: Semikolon spendiert
Wolla ist offline  
Alt 08.10.2008, 21:50  
Neuer Benutzer
 
Registriert seit: 08.10.2008
Beiträge: 10
UrbanNinja befindet sich auf einem aufstrebenden Ast
Standard

Das Beispiel war SUPER, herzlichen Dank euch 2!

Den obigen Code hatte ich echt nicht wirklich verstanden, zumal ich das Fragezeichen überhaupt nicht Operator kenne, aber das scheint es ja zu sein


Jetzt hab ich's soweit verstanden, wenn ich noch 'ne wichtige Frage hab, poste ich einfach nochmal.
Den ungefähren Ablauf von Sessions kenn ich ja, das sollte mit der Superglobal $_GET hinhau'n.

liebe Grüße

Geändert von UrbanNinja (08.10.2008 um 22:01 Uhr).
UrbanNinja ist offline  
Alt 08.10.2008, 22:41  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Dafür wäre auch mal ein Wikiartikel angebracht. Wird hier so oft gestellt die Frage.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 08.10.2008, 22:52  
Neuer Benutzer
 
Registriert seit: 08.10.2008
Beiträge: 10
UrbanNinja befindet sich auf einem aufstrebenden Ast
Standard

Ich hatte selbst auch schon einige Themenboards mit wirklich vielen Usern, hatte ich mit 'ner vollen Lizenz von vBulletin geregelt, phpBB spricht mich von den Funktionen her nicht so sehr an.

Damals hatte ich immer ein "FAQ"-Board oder ein Board namens "Immer wiederkehrende Themen".
Könnt ihr ja mal drüber nachdenken, wenn sich Foren-Newbies an dem kleinen Redaktionsjob beteiligen können, wär ich sogar auch dabei. *g*


// Als ich Manko10s Beitrag gelesen hab wurde mir schon klar, dass ein Schleifendurchlauf eine Wiederholung ist, trotzdem hab ich den Link geklickt. ;D Danke =)

Geändert von UrbanNinja (08.10.2008 um 23:23 Uhr).
UrbanNinja ist offline  
Alt 08.10.2008, 23:19  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Zitat:
Per if-Schleife wollte ich dann nach dem Klicken dieser Links den jeweiligen Inhalt per include_once ausgeben lassen.
Und täglich grüßt die if-Schleife (Mythos IF-Schleife)
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
 


Themen-Optionen
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Formulareintrag zur Website verschicken Blitzo PHP Tipps 2008 3 25.08.2008 20:24
Captcha in Website einbauen Dartgott PHP Tipps 2008 9 23.04.2008 15:53
Idee: Website mit uncrackbarem Serial Broadcast PHP Tipps 2007 13 23.02.2007 22:59
[Erledigt] komplette Website als Grafik speichern PHP-Fortgeschrittene 68 08.03.2006 21:29
[Erledigt] Mit Yahoo Mess. mit Usern auf Website ohne account chatten PHP-Fortgeschrittene 10 18.09.2005 22:02
website macht auf localhost probleme PHP Tipps 2005 8 14.04.2005 10:25
preise einer website PHP Tipps 2005 21 14.03.2005 16:10
website lässt sich nicht öffnen PHP Tipps 2005 2 18.02.2005 19:38
[Erledigt] spezielle schrift in der website HTML, Usability und Barrierefreiheit 23 12.12.2004 12:02
[Erledigt] schriften für website HTML, Usability und Barrierefreiheit 2 15.10.2004 09:57
Daten aus einer externen Website lesen via PHP Locutus007 PHP Tipps 2004 4 29.09.2004 17:20
[Erledigt] Browser und MSG Box HTML, Usability und Barrierefreiheit 4 17.08.2004 18:40
Begrüssung auf website PHP Tipps 2004 2 25.07.2004 00:36
[Erledigt] Fehlermeldung auf der Website nach dem Veröffentlichen PHP Tipps 2004 6 10.07.2004 15:03


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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum