# HTML bei button click Formular an php senden aber andere seite öffnnen



## Dimax (5. Feb 2019)

Guten Tag,
ich habe ein Programm geschrieben für Zeiterfassung .
Mein Problem ist ,wenn der Benutzer in einem Formular Zeitangaben auswählt und zur Datenbank schickt, muss er aber eine andere Seite zur Ansicht bekommen.
Wie kann man es lösen?
Mein Code wo es geschehen soll:

```
<form action="insertDate.php" method="post" >
<fieldset width="80%">
<legend><font color="black">Pause</font></legend>
<table border="5" bgcolor="#e3ffde" align="center" width="85%"">
<tr><td>Am :</td><td>
<input type="date" name="d" > &#128197;
    <br /></tr></td>
    <tr><td>L&auml;nge :</td><td>
<select name="pause" size="1">
<optgroup label="gew&ouml;hliche Pausezeiten">
<option selected="selected" value="00:35:00">35 Min</option>
<option value="00:40:00">40 Min</option>
<option value="00:45:00">45 Min</option>
<option value="00:50:00">50 Min</option>
<option value="00:55:00">55 Min</option>
<option value="01:05:00">1 Stunde 5 Min</option>
</optgroup>
<optgroup label="Ein wenig &uuml;bertrieben">
<option value="01:10:00">1 Stunde 10 Min</option>
<option value="01:15:00">1 Stunde 15 Min</option>
<option value="01:20:00">1 Stunde 20 Min</option>
<option value="01:25:00">1 Stunde 25 Min</option>
<option value="01:30:00">1 Stunde 30 Min</option>
<option value="01:35:00">1 Stunde 35 Min</option>
<option value="01:40:00">1 Stunde 40 Min</option>
</optgroup>
</select>&#9202;
</td></tr>
<tr><td colspan="3">
<input type="hidden" name="s" value="3">
<input type="hidden" name="p" value=$p>
<input type="hidden" name="k" value="00:00:00">
<input type="hidden" name="g" value="00:00:00">
<input type="submit" value="Eintragen" onclick=, >//Hier soll ich Daten an php schicken,aber eine andere Seite öffnen.
</td></tr>
</table></fieldset></form>
....
```


----------



## mihe7 (5. Feb 2019)

Guckst Du hier:
https://stackoverflow.com/questions/4142809/simple-post-redirect-get-code-example


----------



## Thallius (5. Feb 2019)

Dazu muss dein Code oben aber natürlich auch in einer PHP Datei stehen. Nur so als Anmerkung...


----------



## Dimax (5. Feb 2019)

Danke mihe7 ,dass ist nicht das was ich brauche,ich brauche kein POST redirect. Ich brauche so was wie :
`<input type="submit" value="Eintragen" onclick="location.href='ubersicht.php?p=$p';" />`
Das funktioniert leider nicht bei mir. Weiß nicht warum.


Thallius hat gesagt.:


> Dazu muss dein Code oben aber natürlich auch in einer PHP Datei stehen


Danke Thallius für dein Hinweis,die Datei von oben heißt pause.php.


----------



## mihe7 (5. Feb 2019)

Dimax hat gesagt.:


> Danke mihe7 ,dass ist nicht das was ich brauche,ich brauche kein POST redirect. Ich brauche so was wie :


Sollen die Daten nicht an den Server geschickt werden?


----------



## Dimax (5. Feb 2019)

mihe7 hat gesagt.:


> Sollen die Daten nicht an den Server geschickt werden?


Ja sicher sollte das geschehen,aber auch die Seite mit Übersicht sollte geöffnet werden.


----------



## mihe7 (5. Feb 2019)

Dein Formular wird beim Click auf den Submit-Button per POST-Request an den Server geschickt. Der Server antwortet darauf hin, dass der Browser die Seite uebersicht.php?p=$p öffnen soll. Der Browser zeigt dann die Seite uebersicht.php?p=$p an. Wo liegt jetzt das Problem?


----------



## Dimax (5. Feb 2019)

Das Problem ist ,dass beim click versucht er mir die insertDate zu zeigen und nicht die ubersicht.php


----------



## krgewb (5. Feb 2019)

Weil du schreibst:

```
<action="insertDate.php" method="post">
```

In PHP kannst du übrigens so auf eine andere Webseite leiten:

```
header('Location: ubersicht.php?p=001');
  exit;
```


----------



## horstiii1 (5. Feb 2019)

Das wäre für das was geschehen soll bestimmt auch hilfreich: https://www.lifewire.com/open-link-new-window-javascript-3468859


----------



## Thallius (5. Feb 2019)

horstiii1 hat gesagt.:


> Das wäre für das was geschehen soll bestimmt auch hilfreich: https://www.lifewire.com/open-link-new-window-javascript-3468859



Nein wäre es nicht.

Ich denke was er erreichen möchte ist, dass nach dem Abschicken des Formulars diese Daten auf dem Server verarbeitet werden und in einer neuen Seit angezeigt werden. Dazu macht es am meisten Sinn die action umzusetzen auf ein neues PHP script, dort mit POST die Daten abzuholen und dann in den neuen HTML Code einzubauen.

Gruß

Claus


----------



## mihe7 (5. Feb 2019)

Dimax hat gesagt.:


> Das Problem ist ,dass beim click versucht er mir die insertDate zu zeigen und nicht die ubersicht.php


Manchmal habe ich das Gefühl, ich schreibe gegen eine Wand...


----------



## Dimax (5. Feb 2019)

Danke Leute für die Hilfe,bin auf so was gekommen:
`<input type="button" value = "Eintragen" onclick="submit();window.location.href='ubersicht.php?p=$p';" />`
Ein Paar Problem gibt es noch,melde mich zurück ,wenn ich es behebe.


----------



## Thallius (5. Feb 2019)

Die Wand ist dicker als Du dachtest Mihe


----------



## horstiii1 (5. Feb 2019)

Thallius hat gesagt.:


> Dazu macht es am meisten Sinn die action umzusetzen auf ein neues PHP script, dort mit POST die Daten abzuholen und dann in den neuen HTML Code einzubauen


Daten abholen ist eine seltsame Ausdruck weise, aber ich verstehe was du sagen möchtest.


----------



## Dimax (5. Feb 2019)

Jetzt habe ich gelöst mit eure Hilfe.Danke.
Benutzt den Vorschlag von krgewb.
Das Formular ohne onclick verschickt und in insertDate ausgewertet woher es kommt und dann weitergeleitet.

```
if ($s== 3){
        $pause = $_POST['pause'];
        $sql="update arbeits_zeiten set pause='$pause' where pnr=$p and datum='$d';";
        dbquery($dbtype, $link, $sql);
        header("Location: ubersicht.php?p='$p'");
      }
```


----------



## mihe7 (5. Feb 2019)

ROFL.


----------



## Dimax (5. Feb 2019)

mihe7 hat gesagt.:


> ROFL.


Ja dein Vorschlag war auch in der Richtung.Danke.


----------



## Dimax (5. Feb 2019)

Das Problem war ,wo ich Versucht habe,so ginge nicht


krgewb hat gesagt.:


> header('Location: ubersicht.php?p=001');


nur so funktioniert
`header("Location: ubersicht.php?p='$p'");`


----------



## mihe7 (5. Feb 2019)

Dimax hat gesagt.:


> Ja dein Vorschlag war auch in der Richtung.


Das ist nicht _mein_ Vorschlag, das ist Allerwelts-Standard (s. https://de.wikipedia.org/wiki/Post/Redirect/Get). Lachte musste ich, weil die Lösung bereits im Stackoverflow-Link von vor fünf Stunden stand und Du Dich bis zuletzt standhaft gewehrt hast


----------



## Dimax (5. Feb 2019)

mihe7 hat gesagt.:


> vor fünf Stunden stand und Du Dich bis zuletzt standhaft gewehrt hast


Reise auf der Autobahn ,entdeckt man keine neue Länder @meins Manchmal muss man sich quellen ,um es gut zu merken)


----------



## Xyz1 (5. Feb 2019)

Ja @mihe7 hat recht, auf ein Post folgt eine Redirect.


----------



## Xyz1 (5. Feb 2019)

Dimax hat gesagt.:


> Reise auf der Autobahn ,entdeckt man keine neue Länder @meins Manchmal muss man sich quellen ,um es gut zu merken)


Gibt das einen Sinn Dimax?


----------



## Dimax (5. Feb 2019)

horstiii2 hat gesagt.:


> Gibt das einen Sinn Dimax?


Wenn es für dich keinen gibt,dann soll es auch so bleiben.Habe genug von Autobahnreisen,so was von langweilig).


----------

