Frage an alle.

kcyberbob

Erfahrenes Mitglied
Hallo,

ich habe folgende Frage, da ich ein PHP neuling bin.
Also ich hab mir vorher das Tutorial angesehen, wie
index.php?section=neu
funktioniert.
Das hab ich auch verstanden.

Doch ich sehe immer wieder folgende Zeilen:

index.php?action=post&accountnr=1718

Wie funktioniert denn das mit dem & Zeichen und was bedeutet es denn?

Gruß kcyberbob

PS: Ich würde mich freuen, wenn ihr mir weiter helfen könnt.
 
also du kanns ja werte übergeben an ein php script

die zeile ist so zu verstehen

index.php ist das script dann kommt ein ?
als trennzeichen um mitzuteilen jetzt kommen daten
erst der name dann gleichheitszeichen dann der inhalt

wenn du aber mehr daten übertragen möchtest brauchst du das & als trennzeichen zwischen den einzelnen daten
 
RE:

Also gleich mal vielen Dank für die schnelle Antwort.
Aber wie sieht das ganze denn im Quelltext aus?
Nur ein Beispiel:

index.php?action=login&accountnr=1718

Gruß kcyberbob
 
da gibt es auch zwei möglichkeiten:

echo "<form>";
echo "<input type=text name=action>";
echo "<input type=text name=acount>";
echo "<input type=submit name=ok>";
echo "</form>";

du bekommst ein eingabe feld da die die daten abfragt und wen du es absendest genau die zeile zu sehen bekommst

oder wenn du die daten schon hast aber nur übergegen möchtes an ein andres php script z.b.

mit

echo "<a href='index.php?action=$action&account=$accaount' >weiter</a>";

und noch mehr möglichkeiten *g*
 
Re: RE:

Original geschrieben von kcyberbob
Aber wie sieht das ganze denn im Quelltext aus?
Nur ein Beispiel:

index.php?action=login&accountnr=1718

Du könntest jetzt mit dem Skript index.php auf die Variablen $action und $accountr zugreifen. Z.B.:
Code:
if ($action == "login") {
  echo $accountnr;
} else {
  echo 'Fehler!';
}
oder so.

Würde das in Deiner index.php stehen, würde bei einem Aufruf, wie Du ihn als Beispiel aufführst, die Zahl 1718 ausgegeben werden. Andererseits würde ein Aufruf
index.php?action=blabla&accountnr=1718
Dir "Fehler!" ausgeben, da $action nicht gleich "login" ist.
 
hmm,

aber vorsicht. Die Variablen sind nur bei php Versionen vor 4.2 einfach so ansprechbar. Danach wurde die php.ini Einstellung register_globals = off als default gestellt. Um nun auf die Variablen zugreifen zu können musst du die Umgebungsvariablen benutzen, also $_GET[action], $_POST[action] oder $HTTP_GET_VARS[action] bzw. $HTTP_POST_VARS[action] je nachdem welche Übertragungsform egwählt wurde !
 
Re: hmm,

Original geschrieben von JoelH
also $_GET[action], $_POST[action] oder $HTTP_GET_VARS[action] bzw. $HTTP_POST_VARS[action] je nachdem welche Übertragungsform egwählt wurde !

Wie ist das nochmal, bei Übergabe durch die URL sind die doch GET (oder POST?) und bei Bearbeitung durch ein Formular entsprechend dem, was in method angegeben wurde, oder?
 
mit dem dateiname.php?variable=wert kannst du von einem script zum anderen werte übergeben. wenn du mehrere werte übergeben willst
machst du einfach dateiname.php?variable1=wert1&variable2=wert2.

eine anwendung dafür ist zum beispiel, wenn du in einem script den quellcode für mehrere seiten gespeichert hast, kannst du mti dem ?variable=wert auf eine einzelne seite aus dem script zugreifen:
PHP:
<?php
//Seite1
if($action== "site1")                                                                                    
{
   ?>
   <head>
   <title> Seite 1 </title>
   </head>
   <body>
   Body der Seite 1
   </body>
   <?php
}


//Seite2
if($action == "site2")  
{                                                                                                    
   ?>
   <head>
   <title> Seite 1 </title>
   </head>
   <body>
   Body der Seite 1
   </body>
   <?php
}


//Seite3
if
($action=="site3")                                                                                  
{
   ?>
   <head>
   <title> Seite 1 </title>
   </head>
   <body>
   Body der Seite 1
   </body>
   <?php
}
?>

Ich hoffe da sind jetzt keine Fehler drin, aber ich war ziemlich in Eile als ich das geschrieben habe.

Kurze Erklärung:
Angenommen die Datei heißt index.php
da alle angaben von einer bedingung abhängen (if($action = ...)) kannst du, wenn du der variable $action in der url einen wert zuweist auf einen teil des scripts zugreifen, auf den die bedingung zutrifft:

für
index.php?action=site1 kommst du dann zur seite 1.
für index.php?action=site2 auf seite 2
für index.php?action=site3 auf seite 3

wenn du jetzt die auswahl von zwei bedingungen abhängig machen willst kannst du das einfach wenn du an die url index.php?action=.. einfach ein & und dann die zweite variable=wert dranhängst.

also zum beispiel:
PHP:
<?php
//Seite1
if($action== "site1")                                                                                    
{
   ?>
   <head>
   <title> Seite 1 </title>
   </head>
   <body>
   <?php
   if($a == "gut")
   {
      echo"Die Site sieht gut aus.";
   }

   if($a == "schlecht")
   {
      echo"Die Site gefällt mir nicht.";
   }
   ?>
   </body>
   <?php
}

Hier kommst du jetzt mit der URL index.php?action=site1&a=gut
zu folgender ausgabe:
Die Site sieht gut aus.

Mit der URL index.php?action=site1&a=schlecht kommst du zu:
Die Site gefällt mir nicht.


Ich hoffe ich konnte dir helfen :-)
 
@joelh ... schon klar was aber die sache gerade für anfänger komplizierter macht

und mal ganz erlich ich verstehe es auch nicht warum das geändert wurde :-)
 
Zurück