echt variable fragen ^^
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abc
adresse
ahnung
antwort
aufruf
beispiel
break
datei
deutschland
fragen
inhalt
kleine frage
parameter
richtig schreiben
seifenkiste
stadt
startseite
stehen
variable
wert deutschland
-
Hi,
ich habe eine frage zu PHP, genauer gesagt zu den $variablen.
ich m?chte eine variable als variable definieren.
das in der adressleiste, aka:
http://www.abc.de/index.php?$variable1=variable2
(schema)
Grund:
ich will 2dateien: in der einen ist der ganze layout, und im contentbereich der php code
<?php echo($variable1); ?>
in der anderen datei steht der inhalt als variablencontent. wenn ich dann zb auf about me klicke im browser, wird die url http://www.abc.de/index.php?$variable1=$aboutme
somit w?rde dann der inhalt von der vordefinierten variable $aboutme im inhalt ausgegeben werden.
hoffe ich habe das einigerma?en pr?zise erkl?rt.
entschuldige fuer evt. falsche schreibweisen betreffend die codes.
MfG //M2k
PS: ich will eigendlich nur wissen, wie man $variable1 als $variable2 definieren kann anhand der adresse (url)! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Relativ einfach:
url.php?Name=wert&Name2=Wert
Z.B.
wetter.php?land=Deutschland&stadt=k?ln
Dann hast du den Wert "deutschland" in der Variable $land und den Wer "k?ln" in der Variable $stadt.
Hoffe ich hab das richtig gesehen mit der Frage..
mfg mace -
und die variablen kannst du dann mit der funktion $_GET['wert'] auslesen.
Aber du musst nat?rlich beachten, dass diese variablen von jedem user ver?ndert werden k?nnen
alternativ kannst du bariablen auch ?ber $_POST oder $_SESSION ?bergeben -
2 fragen:
1)
bei deiner antwort, mace, ist da der wert $deutschland in der variable $land
oder der text deutschland in der variable $land?
m?chte n?mlich beide als variablen
2)
bei deiner antwort, m14, muss ich da $_GET['$variable123'] schreiben um $variable123 anzuzeigen
oder kann ich das auch mit <?php echo($variable123); ?> tun?
hab n?mlich nicht sehr viel ahnung von php ^^
MfG //M2k -
Hallo webmaster2k!
Der von mace gemachte Vorschlag funktioniert nur bei "RegisterGlobals=On" in der php.ini. Bei Lima-City-Webspace ist das deaktiviert ("Off". Daher kannst du nur das "superglobale" Array $_GET benutzen, wie m14 es dir erkl?rt hat.
Ich schlage dir vor ein bisschen zu spielen, und dabei herauszufinden wie man am besten mit $_GET umgeht. Schreib ein Script in der Art:
<?php
print_r($_GET)
?>
Dieses Script testest du, indem du es mit angeh?ngten Parametern aufrufst:
http://meinedomain/mein_script.php?parameter1=bla¶meter2=blo¶meter3=bli
Das Script zeigt dir dann an, wie es die Parameter und ihre jeweiligen Werte in $_GET bereitstellt.
Einzelne Werte kannst du so abfragen:
print( $_GET['parameter1'] );
Wobei "parameter1" und so weiter nat?rlich nur Beispielnamen sind. Du kannst durchaus auch andere verwenden. Aber die Zeichen "?", "&" und "=" d?rfen logischerweise nicht darin vorkommen.
MfG
alopex -
ich glaube meine frage wurde nicht so ganz verstanden.
wie kann ich
http://www.url.de/index.php?$variable1=$variable2
richtig schreiben?
dabei ist zu beachten, das ich die eine $variable als eine andere $variable definieren will, und nicht das ich den entg?ltigen wert hinschreiben will!
und dann, ob ich
<?php echo($variable1); ?>
im contentbereich hinschreiben kann, um $variable1 anzuzeigen!!!
ich hab kein buch gelesen, ich kann fast kein php! es hilft mir wirklich nichts, wenn ich solche antworten wie "probier maln bisschen rum" bekomme!
wenn ich die variable nicht mit dem echo anzeigen kann, wie dann? (m?glichst einfach!)
____________________________________--
ich geb mal ein beispiel damit ihr euch das besser vorstellen k?nnt:
_____________________________________
<html>
<head>
</head>
<body>
<?php
$herzlichwillkommen ="Welcome to my Homepage!";
$uebermich ="Mein Nick ist Webmaster2k";
echo($inhaltderseite)
?>
</body>
</html>
______________________________________-
wenn ich jetzt die url
http://webmaster2k.xardas.lima-city.de/index.php?inhaltderseite=herzlichwillkommen
aufrufen w?rde, w?rde dann im browserfenster
Welcome to my Homepage!
stehen? -
Nochmal, gro?er Webmeister2000!
ich glaube meine frage wurde nicht so ganz verstanden.
Das k?nnte daran liegen, dass du dich leider ein wenig unverst?ndlich ausdr?ckst.
wie kann ich
http://www.url.de/index.php?$variable1=$variable2
richtig schreiben?
Da w?re so ein Beispiel. Was soll die Frage bedeuten?
dabei ist zu beachten, das ich die eine $variable als eine andere $variable definieren will, und nicht das ich den entg?ltigen wert hinschreiben will!
Und hier nochmal.
und dann, ob ich
<?php echo($variable1); ?>
im contentbereich hinschreiben kann, um $variable1 anzuzeigen!!!
Das ist m?glich. Aber nur f?r im PHP-Programm selbstdefinierte Variablen. Die per "Link" ?bergebenen Variablen kannst du nur ?ber $_GET['variable1'] erreichen.
ich hab kein buch gelesen, ich kann fast kein php! es hilft mir wirklich nichts, wenn ich solche antworten wie "probier maln bisschen rum" bekomme!
Vielleicht solltest du mal ein Buch zu PHP lesen. Das "Rumprobieren" dient dem Verst?ndnis des $_GET-Arrays. So lernst du es am besten.
...
ich geb mal ein beispiel damit ihr euch das besser vorstellen k?nnt:
_____________________________________
<html>
<head>
</head>
<body>
<?php
$herzlichwillkommen ="Welcome to my Homepage!";
$uebermich ="Mein Nick ist Webmaster2k";
echo($inhaltderseite)
?>
</body>
</html>
wenn ich jetzt die url
http://webmaster2k.xardas.lima-city.de/index.php?inhaltderseite=herzlichwillkommen
aufrufen w?rde, w?rde dann im browserfenster
Welcome to my Homepage!
stehen?
Nein. Du w?rdest wahrscheinlich eine Fehlermeldung sehen. Und das $_GET-Array w?rde folgenden Inhalt haben:
$_GET['inhaltderseite'] = 'herzlichwillkommen';
Ich schreib das mal jetzt so hin, wie du es m?glicherweise haben m?chtest:
Die PHP-Datei:
<?php
if( isset($_GET['welcome']) ) print($_GET['welcome']."<br />\n");
if( isset($_GET['aboutme']) ) print($_GET['aboutme']."<br />\n");
?>
aufgerufen als:
http://webmaster2k.xardas.lima-city.de/index.php?welcome=Welcome%20to%20my%20homepage!&aboutme=Mein%20Nick%ist%webmaster2k.
MfG
alopex
P.S.: Au?er den lumpigen 5 Gulden bekomme ich f?r dieses Mini-Tutorial nichts bezahlt.
-
Was du wilst ist doch das der Inhalt einer Seite ?ber variablen gespeichert wird oder?
Dann werde ich dir mal erkl?ren wie meine funzt:
Die adresse geht zb so:
-http://butzlumbejunky.de?site=G?stebuch
Folgenderma?en wird das verwertet:
switch($site)
{
case "News": include("content/news.php"); break;
case "Projekte": include("content/projekte.php"); break;
case "Downloads": include("content/downs.php"); break;
case "G?stebuch": include("content/gastb.php"); break;
case "Seifenkiste": include("content/seifenkiste.php"); break;
case "Impressum": include("content/impress.php"); break;
default: include("content/news.php"); break;
}
Jenachdem welchen Wert die Variable hat so wird ?ber ein include der Inhalt enier seite angezeigt.
Die Adresse kann aber auch noch weitere Infos enthalten:
-http://butzlumbejunky.de?Projekte&id=2
Das bedeutet die seite Projekte wird angezeigt und ?ber ein if kommt dann die abfrage welches projekt gerade angezeigt wird(hier das 2).
In meinem G?stebuch zB ist dann noch die auslese der datenbank enthalten:
echo "<a href='index.php?site=G?stebuch&limit=" . $start . "&vor=1'>Weiter</a>
oder auch: http://butzlumbejunky.de?site=G?stebuch&limit=10&vor=1 -
okay.
@alopex
ich komm gar nicht mehr klar.
@butzlumbejunky
k?nnte ich den include in den case-zeilen auch mit einem echo($einevariableausdemdokument); ersetzen? -
Ja nat?rlich ist ja ein Switch.
Aber w?rde ich dir nicht empfelen, weil wenn du deine Seiten alle in Variablen speicherst wird es f?r dich 1. sehr un?bersichtlich 2. schwer zu verwalten und f?r die besucher brauch die seite extrem lang zum laden weil die durch text ziehmlich gro? wird.
allerh?chsten kannst du es so machen:
if($site==News)
{
?>
<table>
<tr>
...
...
...
...
</tr>
</table>
<?php
}
dann ist es wenigstens f?r dich ?bersichtlich. -
webmaster2k schrieb:
noch eine kleine frage:
dort wo
switch($site)
steht, wird da der inhalt hingeschrieben?
nein...
switch($site)
{
case 'News': include('content/news.php'); break;
case 'Projekte': include('content/projekte.php'); break;
case 'Downloads': include('content/downs.php'); break;
case 'G?stebuch': include('content/gastb.php'); break;
case 'Seifenkiste': include('content/seifenkiste.php'); break;
case 'Impressum': include('content/impress.php'); break;
default: include('content/news.php'); break;
}
Der Switch ?berpr?ft die $site diese hat den Wert "case" ist imer eine m?glichkeit wenn zB. die $site den wert "News" hat dann wird der inhalt der datei news.php(usw.) angezeigt und damit der switch nicht weiter ausgef?hrtwird muss ein "break;" dahinter. Wenn keine der m?glichkeiten eintrifft wird das ausgefhrt was im "default" steht.
Und die variable site definierst du ?ber einen Link => <a href="index.php?site=News">Blah!!!</a> -
okay schon wieder ne frage:
wenn ich eine variable inner ge?ffneten variable schreiben will, wie geht das?
beispiel:
<?php
$variable1 = "<a href=\"$homepage\" target=\"_blank\">$homepage</a>";
?>
UND
wenn ich hier eine variable reinbringen will, wie muss ich das schreiben?
beispiel:
$data=array("$inhalt1","text123");
echo $data[$_GET['seite']]; -
okay schon wieder ne frage:
wenn ich eine variable inner ge?ffneten variable schreiben will, wie geht das?
beispiel:
<?php
$variable1 = "<a href=\"$homepage\" target=\"_blank\">$homepage</a>";
?>
$variable1 = "<a href='" . $homepage . "' target='_blank'>$homepage</a>";
wenn ich hier eine variable reinbringen will, wie muss ich das schreiben?
beispiel:
$data=array("$inhalt1","text123");
echo $data[$_GET['seite']];
Da bin ich mir net sicher ob ich gerafft hab was du meinst:
$data=array($inhalt1,"text123");
echo $data[$site];
allerdings nur wenn in site der wert von $inhalt1 oder text123 gespeichert ist -
also, bei dem ersten bin ich mir schon fast sicher dass es nicht funktioniert. DENN: du hast "s benutzt, ohne da was spezielles vorzuschreiben, somit wird die variable vorzeitig geschlossen, oder?
beim zweiten, das k?nnte klappen. -
beim 2, das klappt nicht. meiner meinung nach muss man da ein echo angeben, aber keine ahnung wie man das schreiben k?nnte
-
Also beim ersten sind jadie punkte da also sollte das funzen zum zweiten ich weis noch nicht genau was du willst.
-
<html>
<head>
</head>
<body>
<?php
$herzlichwillkommen ="Welcome to my Homepage!";
$uebermich ="Mein Nick ist Webmaster2k";
echo($inhaltderseite)
?>
</body>
</html>
http://webmaster2k.xardas.lima-city.de/index.php?inhaltderseite=herzlichwillkommen
Das geht schon so!
Du musst blo? statt echo($inhaltderseite) echo($$inhaltderseite) schreiben.
Das nennt man dan dynamische Variable. -
Also ich w?rd es so machen:
index.php:
----------------------------
<html>
<head>
</head>
<body>
<?php
if (isset($_GET['seite'])) { // Wenn Seite definiert ist
include $seite; // Inkludiere die Seite
} else { // Wenn nicht
include "startseite.php"; // Inkludiere Startseite.php
}
?>
</body>
</html>
---------------------------
So, deine URL muss dann so aussehen: index.php?seite=seite.php
Seite.php muss nat?rlich durch den Dateinamen der Seite, die inkludiert (Eingef?gt) werden soll ersetzt werden. Nat?rlich musst du die Dateien die eingef?gt werden sollen auch erstellen. In dem "Skript" muss startseite.php durch deine Homepage-Startseite ersetzt werden.
Ich hoffe es war verst?ndlich. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage