PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP?blabla


MaikJannasch
19.03.2002, 05:15:59
Hallo zusammen ...

ich würde gerne ne WebSite in PHP erstellen .... (is klar, sonst würde ich ja nicht hier reinposten
*fg*)

Ich habe bei einigen WebSite´s gesehen ... daß der Link einer Seite (z.b. Menü) folgendermaßen ausschaut:

http://www.irgendene-domain.de/index.php?Text

Wie geht sowas ?

Kennt jemand eine Seite (deutsch), wo genau dies beschrieben wird ?




Ich habe zwar dies hier im Froum gefunden, aber ich denke, dies ist nicht was ich suche, aber das gleiche beinhaltet, was ich meine !

http://forum.isp2day.de/showthread.php?threadid=999

Ich würde ja gerne erstmal die obigen Variante nutzen, um zu schauen, welches besser zu proggen ist.


Danke Euch zusammen !

septicus
19.03.2002, 11:57:18
In Selfhtml wird das gut erklärt, wie das geht (in dem Teil, indem es um Formulare und deren Versand_methoden geht).

Ich versuchs mal auf die Schnelle mit der zweiten Variante, vielleicht hilft das ja:

Bei Formularen hast du die Möglichkeit, die darin eingegebenen Daten über zwei verschiedene Wege zu verschicken:
1) über "POST" (Daten werden "versteckt" zum Server geschickt)
2) über "GET" (Daten werden "offen" zum Server geschickt)

Das zweite bedeutet konkret: Die Daten werden als Schlüssel-Wert Paare an die URL angehängt. Damit stehen sie in dem aufgerufenen Skript zur verfügung, da PHP-Skripte in der Lage sind, die ihnen beim Aufruf übermittelten Schlüssel-Wert Paare auszuwerten.

Konkret bedeuet dies:
Du hast in jedem PHPSkript bereits variablen vordefniert, deren Name so lautet wie der jeweilige Schlüssel eines jeden Schlüssel-Wert-Paares. Der Wert der jeweiligen Variablen ist der Wert des Paares.

Bsp:
http://forum.isp2day.de/showthread.php?threadid=999

Hierbei ist in showthread.php bereits eine Variable definiert:
Der Name dieser Variable ist $threadid,
der Wert ist "999".

Mehrere Schlüssel-Wert-Paare werden voneinander durch & getrennt, das erste, das an das aufgerufene Skript angehängt wird, wird mit einem ? angehängt.

Bsp:
showthread.php?threadid=999&text=test

Big2k
26.03.2002, 20:51:02
Bei www.big2k.net/beta/potug-clan.de

mach ich das wie folgt:
index.php öffnet die datei main.php
index.php?filearea=demos öffnet den demo bereich
index.php?other=disclaimer öffnet den disclaimer der seite


switch ($site) {
case "":
$file="main.php"; $fp=fopen($file,"r"); fpassthru($fp);
break;
}

switch ($filearea) {
case "demos":
$file="filearea/demos.php"; $fp=fopen($file,"r"); fpassthru($fp);
break;

case "updates":
$file="filearea/updates.php"; $fp=fopen($file,"r"); fpassthru($fp);
break;
}

switch ($other) {
case "disclaimer":
$file="other/disclaimer.php"; $fp=fopen($file,"r"); fpassthru($fp);
break;
}


verbesserungstipp:
wenn datei nicht vorhanden ist, eine error seite anzeigen, ansonsten zeigt er den ausgeführten php code als fehler an

MaikJannasch
29.03.2002, 13:05:52
Hallo Ihr beiden ...

danke euch beiden ... leider bin ich nicht dazu gekommen diese Beiträge eher zu lesen .....

habe diese Varianten noch nicht probiert ... wenn es geklappt hat .. melde ich mich nochmal .. oder wenn es ned funzt *fg*


Ich habe mir deine angegebene Seite mal angeschaut ... siehst erstens klasse *grinsel*

Was du mir beschrieben hast scheint ja zu klappen ... aber wie mache ich dat mit den Tabellen usw. ?

Oder würdest du so nett sein ... mir so eine Site zu machen wie deine ... (nicht komplett) nur als Beispiel .... mit drei Links ... wäre echt nett von dir ! (diese als zip an meine Mail)

So ...... ich hoffe ich kann diese Post diesmal eher lesen *fG*

Bis denne .......

Big2k
31.03.2002, 16:34:53
Jo ist kein Problem mache ich.

Oder ich poste es gleich hier ;-)


<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table width="100%" border="1" cellspacing="2" cellpadding="2">
<tr>
<td colspan="2">
<div align="center">Nennt man Head ;-)</div>
</td>
</tr>
<tr>
<td width="20%">
<p><a href="index2.php?site=home">Link 1</a></p>
<p><a href="index2.php?potug=team">Link 2</a></p>
<p><a href="index2.php?war=show">Link 3</a></p>
</td>
<td width="80%">

<?
switch ($site) {
case "home":
echo "Es wurde index2.php?site=home aufgerufen";
break;
}
switch ($potug) {
case "team":
echo "Es wurde index2.php?potug=team aufgerufen";
break;
}
switch ($war) {
case "show":
echo "Es wurde index2.php?war=show aufgerufen";
break;
}
?>

</td>
</tr>
</table>
</body>
</html>

MaikJannasch
31.03.2002, 16:56:55
hi Big2K

klappt immernoch ned .....

entweder binsch blöd ...... oder ......


auch wenn ich dat in php oder html abspeicher ..... nichts funzt ...

Big2k
31.03.2002, 17:07:01
hast du es denn als bsp. test.php gespeichert und auf deinen webserver geladen und die test.php aufgerufen?

bei mir gehts

http://www.big2k.net/beta/index2.php

Matt
31.03.2002, 17:24:33
An Big2k
sag mal, was machst du da bitte mit den ganzen variablen? meiner Meinung ist das sinnlos, schau dir mal das an:
<a href="$PHP_SELF?cat=site&page=home">link1</a>
<a href="$PHP_SELF?cat=potug&page=team>link2</a>

<?
if(!$cat && !$page) include("$PHP_SELF");
elseif(!@include("$cat/$page.php")
{
require("errorpage.php");
}
?>

der code ist jetzt zwar einfach aus dem hirn getippt aber ich finde es sinnvoller als deine lange wurst, du übergibst halt immer zwei variablen, was ein bisschen umständlich ist, aber du könntest genauso nur eine zweistellige Zahl in einer Variable übergeben, bei der die erste Stelle der Kategorie und die zweite der Unterseite entspricht.

Big2k
31.03.2002, 17:44:52
Nehme gerne Deine Idee an aber so hab ich das erlernt und es ist halt im Kopf.

Werde mir Deine Idee mal durch den Kopf gehen lassen.

MaikJannasch
01.04.2002, 00:39:50
hi Big2K,


nuja .....

oder kannst du mir die eine Test.php zuschicken ?

Big2k
01.04.2002, 09:00:45
Kein Ding mail mir deine eMail an selfphp@big2k.net

stoned
07.04.2002, 17:22:04
Hi,


@Matt: deine lösung mit dem include() is zwar weinig code, der bei neuen seiten nicht angepasst werden muss, allerdings kann ich bei solchen seiten hingehen und eine z.b. auf meinem webserver liegende datei angeben. in der steht dann mein code, der auf deinem webserver ausgeführt wird. so komme ich an alle möglichen daten, bzw. kann deine komplette webseite mittels exec()-commands löschen ...


mfg

stoned

|Coding
13.04.2002, 15:42:24
also ich hab da mal ne frage.

wie ich so einen link "http://www.ich-bin-ein-b.org./seite.php?s=1" erstellen weiß ich, das ist auch nicht weiter schwer... ABER wie ich einen link wie diesen "http://www.ich-bin-ein-b.org./seite.php?s=&action=info&id=189" erstelle wieß ich nicht. könnte das vielleicht nochmal jemand kurz an hand eines kleinen beispiels erklären ?

danke schon mal.

Nev
13.04.2002, 17:22:27
@ |Coding

Entwederdu machst ein Formular, dann übergibt er automatisch so einen Link, da er über die URL die werte übergibt.

ansonsten kannst du einen Link ganz normal zusammen stellen.

echo "http://www.ich-bin-ein-b.org/seite.php?s=".$s."&action=".$action."&id=".$id;


Ich hoffe ich habe dir geholfen

|Coding
13.04.2002, 17:44:40
super Nav das hat mir sehr geholfen :) <-- das war wohl doch etwas voreillig, sorry :-/
_________________________________________________


öhm naja ich progge noch nicht lange in php und hab einfach mal ein bissel mit dem tip den du mir gegeben hast "rumgespielt" aber ich komme auf keinen grünen ast... könntest du das vielleicht noch ein bissel deutlicher ausführen, eventuell sogar an einer beispielseite, die zwei oder drei solcher links enthält?

das wäre echt super nett, danke schon mal für müh und not =D ...

|Coding
16.04.2002, 16:08:38
gibt es nicht die möglichkeit das ganze in einer erweiterten switch funtion zurealisieren ? oder was wäre die einfachste lösung ?

Nev
16.04.2002, 16:23:21
Hi |Coding

Wie meinst du
finde jetzt leider keinen Zusammenhang

|Coding
16.04.2002, 22:42:12
Hi Nev,

ich meine das so:

um diesen Link:

www.xyz.de/index.php?cat=001

zuerstellen, habe ich immer diese switsh funktion genutzt:

$var[001]="<img src=01.jpg>";

switch ($cat)
{
case "001":
echo $var[001];
break;
}

(dann wird auf der seite ein bild gezeit, irgendwie klar *g*)

aber um einen solchen link:

www.xyz.de/index.php?cat=&action=info&id=001

zu realisieren kann man dafür nicht eine erweiterte switch funktion nehmen ?

Nev
17.04.2002, 00:03:37
Hi |Coding

kommt drauf an was genau du machen willst, bzw wie du dein Script aufgebaut hast.

entweder du machst mehrere Switch hintereinander, oder

du selectierst in den Case

generell unterscheidest du immer nach der action
da das ja auch das wichtigste ist.

Kann es mir aber mal anschaun, um es etwas zu vereinfachen

|Coding
17.04.2002, 06:55:53
ich weiß im grunde garnicht wie man so eine lange wurst sage ich mal hin kriege. ich weiß nicht wie ich die ganzen variablen verarbeiten soll, das ist es wo es bei mir hakt... verstehst du wie ich das meine? wie ich das: cat=&action=info&id=001 hin kriege weiß ich nicht. wie kann ich das ganze verarbeiten ?

Nev
17.04.2002, 10:43:07
@ |Coding

generell:
Alle Variablen die du über die URL bekommst, kannst du im PHP-Script verwenden.
Du brauchst nur ein $ vor die Variable setzten, und schon kannst du damit arbeiten.

Einen Link zu machen der mehrere Werte gleichzeitig übergibt, ist auch keine hexerei.

echo "<a href='link.php4?var1=".$wert1."&var2=".$wert2."&var3=".$wert3."'>Link-text</a>";


Regeln:
vor der ersten Variable muß ein ? sein.
nach jeder anderen &.

wenn du nun auf den Link klicken würdest.
hättest du jetzt in deinem Script folgende Variablen:
$var1, $var2, $var3

wie du nun die Variablen selectierst, überprüfst, ...
ist ganz von deinen Anforderungen abhängig.

Hoffe ich konnte weiterhelfen

|Coding
17.04.2002, 17:23:33
jo danke diesmal hab ich es begriffen, danke :)

Matt
19.04.2002, 14:29:41
an Stoned (ich hoffe, du schaust noch mal hier herein)
stimmt allerdings, aber mein system ist ohnehin noch etwas erweitert, da liegen die dateien nämlich in einem unterordner, das heisst, wenn ich index.php?page=haupt aufrufe wird in index.php folgendes inkludiert: require("pages/".$page.".php");
was das ganze wieder sicher macht. Wenn die datei nicht gefunden wird, füge ich eine standardfehlerdatei ein.
Siehst du darin noch probleme?

|Coding
20.04.2002, 20:58:31
noch mal was zu den url's... was könnte man den mit diesen ganzen variablen, die in so einer url stecken, anfangen?
http://www.xyz.de/seite.php?s=&action=info&id=189 <-- irgendwo müssen die ganzen informationen der url doch hin, nur wohin?

gray
21.04.2002, 19:52:19
-

Kettu
05.09.2003, 12:18:09
Hallo,
ich habe ebenfalls ein Problem bei der Erstellung einer Website mit Hilfe von php.

Das Grundgerüst steht, und jetzt stehe ICH vor meinen mangelhaften php-Kenntnissen. :(
Ich habe einen Kopf mit Links, der zu den Kategorien führen soll. Jetzt möchte ich gerne, dass je nach angeklickter Kategorie auf der linken Seite (unterhalb des immer vorhandenen Kopfes) das dazugehörige Untermenü geöffnet werden soll, sowie auf der rechten Seite daneben die Begrüßungs-HTML der Kategorie und je nach Link-Wahl im Untermenü die dazugehörige HTML.
Ich weiß, dass das mit dem php-Befehl <? include('xyz.php'); ?> möglich ist, wenn man den innerhalb der Frametabelle einfügt. Ich weiß jetzt halt nicht, wie ich die xyz.php gestalten muss, damit genau das passiert.
Ich hoffe, ich überschreite mit meiner Frage nicht die Programmiergrenzen, aber ich bin gnadenloser Anfänger mit ein klitzeklein bisschen phpBB-Kenntnissen. *seufz*

Davon mal abgesehen, würde ich das ganz gerne so lösen, dass ich ohne Datenbank arbeiten kann. Ist das überhaupt möglich?

toweter
05.09.2003, 12:27:38
jetzt hast du einen 1 1/2 jahre alten Thread "wiedererweckt"...;)

zu deiner frage:
zeig mal dein bisheriges script...

diver-network
05.09.2003, 13:21:19
Hi Kettu,

ohne Dein Skript gesehen zu haben ein paar allgemeine Infos zu include() und wie diese Dateien aussehen sollen:

Bsp1:
<frame src=<?include ...?>> ==> include ist normale HTML/PHP- Datei mit <html>...bis </html> (auch bei *.php- Endung!!)

Bsp2:

<html>
...
include (...)

...
</html>

==> In der Include- Datei darf kein <html> - Tag mehr vorkommen (bzw. kein <title> / <body> - Tag, je nach Position des Aufrufs. Ansonsten kann in der eingebundenen Datei "alles" drinstehen, sprich HTML und/oder (reines) PHP sowie allem, was man darin machen darf.

==> Bindest Du eine *.php- Datei ein ist es wichtig, daß darin der PHP- Teil auch in <? ?> eingeschlossen ist (wird von mir vor allem bei PHP- Kommentaren am Anfang gerne vergessen, wobei dann der Kommentar im Browser als Text erscheint).

HTH, ansonsten melde Dich wieder und, bei konkreten Problemen, füge einen Code- Teil bei,

Andy

P.S.: Benenne Deine include- Dateien nach Möglichkeit immer *.inc.php (.php ist wichtig). So verhinderst Du, daß jemand z.B. Passwörter für Datenbankanmeldungen erfährt, wenn er den Pfad zur normalen *.inc Datei kennt. Bei *.inc.php wird die Datei vom Webserver geparst und man kann daher keine Passwörter etc. erkennen.

Kettu
05.09.2003, 15:39:49
Original geschrieben von toweter
jetzt hast du einen 1 1/2 jahre alten Thread "wiedererweckt"...;)

zu deiner frage:
zeig mal dein bisheriges script...
Ja, ich wollte ja eigentlich einen eigenen Thread aufmachen, aber irgendwie klappte das permanent nicht. Ich war immer wieder wie ausgeloggt. Musste mir jetzt erstmal ein neues PW zulegen, damit ich überhaupt wieder schreiben konnte *seufz*

Also für den Hauptteil (HTML-Teil rechts) hab ich folgende php namens center_index.php:

<?PHP
$cetapath = $config['domain']."/".$config['uploaddir']."/".$config['uploaddir_ceta']."/";
$carnipath = $config['domain']."/".$config['uploaddir']."/".$config['uploaddir_carni']."/";
$psypath = $config['domain']."/".$config['uploaddir']."/".$config['uploaddir_psycho']."/";
$fotopath = $config['domain']."/".$config['uploaddir']."/".$config['uploaddir_fotos']."/";
$contactpath = $config['domain']."/".$config['uploaddir']."/".$config['uploaddir_contact']."/";

if((!isset($_GET['link'])) || ($_GET['link'] == '')) include('center_main.php');
else include($_GET['link']);
?>

Die center_main.php sieht bei mir bisher so aus (hab den Code von Freunden, die eine ähnliche, aber viel komplexere Seite haben mit DB-Zugriff, was ich aber nicht haben will; deshalb ist nur noch das Grundgerüst da):

<?PHP

echo "<link rel="stylesheet" type="text/css" href="{$config['file_maincss']}">";

?>
Ich weiß gar nicht, ob ich das überhaupt noch brauche (diese zwiete Seite), nur wie ändere ich dann die erste php?