# Variable vom Get Request in HTML abfangen



## Dimax (28. Jan 2019)

Guten Tag, 
Ich probiere seit ein Paar Tagen eine kleine WebApp für Zeiterfassung zu schreiben,und dabei habe ich  ein kleines Problem . 
index.html Die Homepage wo die Benutzer sich einloggen:

```
Bitte geben Sie Ihren Benutzernamen und Ihr Passwort an: </h2>
<form  id="login" action="loginDaten.php" method="POST">
<table border="0">
   <tr><td>   </td>
   <td>&#9786; </td> <td><b>Username</b></td>
     <td><input type="text" name="username" autocomplete="username"><br /></td>
   </tr>
   <tr><td>   </td><td>   </td><td>   </td><td>   </td></tr><tr><td>   </td><td>   </td><td>   </td><td>   </td></tr><tr><td>   </td>
  <td>&#9911;</td>  <td><b>Passwort</b></td>
     <td><input type="password" name="passwort" autocomplete="new-password"/><br /></td>
   </tr><tr><td>   </td><td>   </td><td>   </td><td>   </td></tr><tr><td>   </td><td>   </td><td>   </td><td>   </td></tr>
<tr>
    <td></td>
   <td>   </td> <td></td> <td><input type="button" value = "Einloggen" onclick="submit()"/><br /></td>
   </tr>
  </table>
  </form>
```
Weiter ist das php Programm das die Daten verarbeitet loginDaten.php und, wenn alles passt, leitet weiter zu der Seite wo die Zeitangaben erfasst werden:

```
if ($_SERVER['REQUEST_METHOD'] == 'POST') 
     {   
      $userid = $_POST['username'];
      $passwort = rtrim($_POST['passwort']);
      $filter = "userid='$userid'";
      $pwtab = rtrim(tblookup("userdb", "ptab", "pw", $filter));

      if ($passwort == $pwtab && $userid !='')
      {
       $sessionid = 1;
       header("Location: http://$urlhost/intern/startInsert.html?sid=$sessionid&&p=$userid");
      }
      else
      {
       logsatz($myname, "Login-ERROR $userid Falsches PW");
       header("Location: http://$urlhost/intern/loginfehler.html");
      }
     }
     else
     {
       header("Location: http://$urlhost/intern/loginpw.html");
     }
```
Wie es in dem Code zu sehen ist wird die Seite mit Zeiterfassung `startInsert.html?sid=$sessionid&&p=$userid` aufgerufen.
Und meine Frage ist ,wie ich auf der HTML -Seite  $p abfangen kann?
Der Versuch:
startInsert.html

```
<h4>Sie k&ouml;nnen jetzt Ihre Arbeitszeiten in die Datenbank eintragen.<br /><br /> W&auml;hlen Sie daf&uuml;r eines von unterliegenden Optionen<br /></h4>
<hr>
    <link rel="stylesheet" type="text/css" href="css/ratchet.min.css">
    <ul class="table-view">
  <li class="table-view-cell"><br />
    <a class="navigate-right" href="kommen.html?p=<?php $_GET['p']; ?>" data-transition="slide-in">
     <h3> Kommen</h3>
    </a><br />
  </li>
  <li class="table-view-cell"><br />
    <a class="navigate-right" href="gehen.html?p=<?php $_GET['p']; ?>"
  data-transition="slide-in">
    <h3> Gehen</h3>
    </a><br />
  </li>
  <li class="table-view-cell"><br />
    <a class="navigate-right" href="korrigieren.html?p=<?php $_GET['p']; ?>" data-transition="slide-in">
    <h3> Korrigieren</h3>
    </a><br />
  </li>                                         
</ul>
```
Der Link `href="korrigieren.html?p=<?php $_GET['p']; ?>"`funktioniert zwar , aber nicht so wie es soll. Wie kann ich die $p an die nächste html Seite  richtig übergeben und dort abfangen.
Danke für jede Hilfe.


----------



## JCODA (28. Jan 2019)

https://stackoverflow.com/questions/5849791/how-do-i-retrieve-a-php-variable-in-my-html-code

"echo" ist das Schlüsselwort.

Zudem: ich vermute, wenn du php-tags benutzt muss es eine .PHP Datei sein? Hier bin ich mir allerdings nicht 100%ig sicher.

Edit: laut https://www.ntchosting.com/encyclopedia/scripting-and-programming/php/php-in/
stimmt der letzte Teil: 


> *PHP in HTML - file extensions*
> When a given file contains PHP code, it must have a PHP extension. In most cases this is .php, but you can also configure the .htaccessfile to read the PHP code in the HTML file without renaming it or changing its extension.


----------



## Dimax (28. Jan 2019)

Danke für die Hilfe, wenn es reines php ist ,mache ich auch php 


Dimax hat gesagt.:


> die Daten verarbeitet loginDaten.php


Aber wenn ich nur ein Link auf der Seite einbaun möchte ,mit passenden Parametern, mache ich kein php File.
Hab mit echo ausprobiert, das Problem ist auf dem Foto .Und es werden keine Parameter weitergegeben.Also der Link bleib P= und nichts.


----------



## Dimax (28. Jan 2019)

Der Link nach dem Beispiel hab so gemacht`href="korrigieren.html?p="<?php echo $_GET["p"]; ?>"`


----------



## Dimax (28. Jan 2019)

oder besser JS benutzen ?


----------



## Robat (28. Jan 2019)

JS hat damit nichts am Hut.
Wenn du deine htaccess-Datei nicht so konfiguriert hast, dass sie aus HTML Dateien auch PHP Code gelesen werden kann, *musst* du als Endung .php haben.


----------



## Dimax (28. Jan 2019)

Danke Jungs für die Tipps,probiere etwas zu basteln. JCODA coole Seite mit Geschenken)).


----------



## Dimax (28. Jan 2019)

Ich formuliere meine Frage um..Wie kann ich die Parameter `[URL]http://$urlhost/intern/startInsert.html?sid=$sessionid&&p=$userid[/URL]"` auf meiner html Seite startInsert.html anzeigen oder besser ,eine andere Seite mit diesen Parametern verlinken? Also php geht nicht weil kein Zugriff auf htaccess.


----------



## Robat (28. Jan 2019)

Wurde doch schon beschrieben. So wie in dem link von @JCODA und indem du die Endung von HTML in php änderst. Du kannst ja trotzdem deinen HTML Code darin lassen...


----------



## Dimax (28. Jan 2019)

Es war aber so einfach))..Ist auch komisch php Datei fängt an mit <!DOCTYPE html>


----------

