Zum Inhalt springen

Button fürs speichern und neu Site laden erstellen


madmax00

Empfohlene Beiträge

Hallo Leute,

ich habe eine "große", mindestens für mich, Problem, die ich schon seit paar Tagen versuche zu lösen und zwar:

auf meine Seite habe ich ein Formular erstellt, wo man seinen Daten einträgt. Wenn auf Button "Speichern" geklickt wird, werden die Daten nach Gültigkeit geprüft. Wenn alle Kriterien stiemen, werden die in ein MySQL - Datenbank gespeichert. Jetzt ist aber die Frage. Ich möchte, wenn auf Button "Speichern" geklickt wird, sollen die Daten in Datenbank gespeichert werden und eine andere Seite aufgerufen sein soll, wo ein Bestätigung steht, dass die Daten gespeichert sind.

Ich habe schon mit onclick versucht ,

aber wenn type="submit" steht, wird neu Site nicht geöffnet.


<form action="table.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input type="button" onclick="javascript:window.location.href='MyRusTel/test.php'" value="Speichern" />
</form>

[/PHP]

und wenn ich ohne [b]onclick[/b] , aber bei [b]form action[/b] Seite habe die ich aufrufen möchte, werden die Eingaben nicht nach Gültigkeit geprüft, sonst wird neu Seite direkt aufgemacht.

wie kann ich meine Problem lösen?

MfG max

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist kleine Ausschnit aus meine code. Ich macho doch auch mit submit und Verweis auf andere Site.


<body >

<form action="Registrierung.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
Bitte fühlen Sie alle mit * gekennzeichnete Felder ein
<tr>
<td><br>Name*<br>
<span id="print_rot">
<?php
// Wenn der Button speichern gedrueckt wurde
if (isset($_POST['btnSpeichern']))
{
if ($_POST['Name'] == ""){
print ('Bitte geben Sie einen Namen ein');

}
}
?>
</span></td>
<td> <input type="text" name="Name" size="30"
value="<? echo $_POST['Name']; ?>"></td>
</tr>
<tr>
<td>Beschreibung </td>
<td><textarea name="Beschreibung" cols="32" rows="8" ><? echo $_POST['Beschreibung']; ?></textarea></td>

</tr>
<tr>
<td>Strasse*<br>
<span id="print_rot">
<?php
// Wenn der Button speichern gedrueckt wurde
if (isset($_POST['btnSpeichern']))
{
if ($_POST['Strasse'] == ""){
print ('Bitte geben Sie eine Strasse ein');

}
}
?></span></td>
<td><input type="text" name="Strasse" size="30"
value="<? echo $_POST['Strasse']; ?>"></td>
</tr>
<tr>
<td>PLZ*<br>
<span id="print_rot">
<?php
// Wenn der Button speichern gedrueckt wurde
if (isset($_POST['btnSpeichern']))
{
if ($_POST['PLZ'] == ""){
print ('Bitte geben Sie gültige Postleitzahl ein');

}

if($_POST['PLZ'] != "" && !eregi("^[0-9]{5,5}", $_POST['PLZ'])){
echo ("ungültige PLZ"); }
}
?></span></td>
<td><input type="text" name="PLZ" size="30"
value="<? echo $_POST['PLZ']; ?>"></td>
</tr>
<tr>
<td>Ort*<br>
<span id="print_rot">
<?php
// Wenn der Button speichern gedrueckt wurde
if (isset($_POST['btnSpeichern']))
{
if ($_POST['Ort'] == ""){
print ('Bitte geben Sie einen Ort ein');

}
}
?></span></td>
<td><input type="text" name="Ort" size="30"
value="<? echo $_POST['Ort']; ?>"></td>
</tr>

<tr>
<td colspan="2"><br><br><input type="submit"
value="speichern" size="30" name="btnSpeichern"

onClick="javascript:window.location.href='MyRusTel/test.php'">
    <input type="reset"
value="Löschen" name="btnLoeschen" ></td>
</tr>
<?php
// Wenn der Button speichern gedrueckt wurde
if (isset($_POST['btnSpeichern']))
{

if ($_POST['Name'] == ""){
exit;
}
elseif ($_POST['Strasse'] == ""){
exit;
}
elseif ($_POST['PLZ'] == ""){
exit;
}
elseif(!eregi("^[0-9]{5,5}", $_POST['PLZ'])){
exit;
}
elseif ($_POST['Ort'] == ""){
exit;
}

$insert_sql= "INSERT INTO kundendaten SET";


if(!empty($_POST['Name']))
{
$insert_sql.=" Name='".mysql_real_escape_string($_POST['Name'])."'" ;
//$insert_sql.="' Name='".htmlentities($_POST['Name'], ENT_NOQUOTES);
}
if(!empty($_POST['Beschreibung']))
{
$insert_sql.=", Beschreibung='".mysql_real_escape_string($_REQUEST['Beschreibung'])."'";
//$insert_sql.="', Beschreibung='".htmlentities($_REQUEST['Beschreibung'], ENT_NOQUOTES);
}
if(!empty($_POST['Strasse']))
{
$insert_sql.=", Strasse='".mysql_real_escape_string($_REQUEST['Strasse'])."'";
//$insert_sql.="', Strasse='".htmlentities($_REQUEST['Strasse'], ENT_NOQUOTES);
}
if(!empty($_POST['PLZ']))
{
$insert_sql.=", PLZ='".mysql_real_escape_string($_REQUEST['PLZ'])."'";
//$insert_sql.="', PLZ='".htmlentities($_REQUEST['PLZ'], ENT_NOQUOTES);
}
if(!empty($_POST['Ort']))
{
$insert_sql.=", Ort='".mysql_real_escape_string($_REQUEST['Ort'])."'";
//$insert_sql.="', Ort='".htmlentities($_REQUEST['Ort'], ENT_NOQUOTES);
}
?>
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist kleine Ausschnit aus meine code. Ich mache doch auch mit submit und Verweis auf andere Site.


<body >

<form action="Registrierung.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
Bitte fühlen Sie alle mit * gekennzeichnete Felder ein
<tr>
<td><br>Name*<br>
<span id="print_rot">
<?php
// Wenn der Button speichern gedrueckt wurde
if (isset($_POST['btnSpeichern']))
{
if ($_POST['Name'] == ""){
print ('Bitte geben Sie einen Namen ein');

}
}
?>
</span></td>
<td> <input type="text" name="Name" size="30"
value="<? echo $_POST['Name']; ?>"></td>
</tr>
<tr>
<td>Beschreibung </td>
<td><textarea name="Beschreibung" cols="32" rows="8" ><? echo $_POST['Beschreibung']; ?></textarea></td>

</tr>
<tr>
<td>Strasse*<br>
<span id="print_rot">
<?php
// Wenn der Button speichern gedrueckt wurde
if (isset($_POST['btnSpeichern']))
{
if ($_POST['Strasse'] == ""){
print ('Bitte geben Sie eine Strasse ein');

}
}
?></span></td>
<td><input type="text" name="Strasse" size="30"
value="<? echo $_POST['Strasse']; ?>"></td>
</tr>
<tr>
<td>PLZ*<br>
<span id="print_rot">
<?php
// Wenn der Button speichern gedrueckt wurde
if (isset($_POST['btnSpeichern']))
{
if ($_POST['PLZ'] == ""){
print ('Bitte geben Sie gültige Postleitzahl ein');

}

if($_POST['PLZ'] != "" && !eregi("^[0-9]{5,5}", $_POST['PLZ'])){
echo ("ungültige PLZ"); }
}
?></span></td>
<td><input type="text" name="PLZ" size="30"
value="<? echo $_POST['PLZ']; ?>"></td>
</tr>
<tr>
<td>Ort*<br>
<span id="print_rot">
<?php
// Wenn der Button speichern gedrueckt wurde
if (isset($_POST['btnSpeichern']))
{
if ($_POST['Ort'] == ""){
print ('Bitte geben Sie einen Ort ein');

}
}
?></span></td>
<td><input type="text" name="Ort" size="30"
value="<? echo $_POST['Ort']; ?>"></td>
</tr>

<tr>
<td colspan="2"><br><br><input type="submit"
value="speichern" size="30" name="btnSpeichern"

onClick="javascript:window.location.href='MyRusTel/test.php'">
    <input type="reset"
value="Löschen" name="btnLoeschen" ></td>
</tr>
<?php
// Wenn der Button speichern gedrueckt wurde
if (isset($_POST['btnSpeichern']))
{

if ($_POST['Name'] == ""){
exit;
}
elseif ($_POST['Strasse'] == ""){
exit;
}
elseif ($_POST['PLZ'] == ""){
exit;
}
elseif(!eregi("^[0-9]{5,5}", $_POST['PLZ'])){
exit;
}
elseif ($_POST['Ort'] == ""){
exit;
}

$insert_sql= "INSERT INTO kundendaten SET";


if(!empty($_POST['Name']))
{
$insert_sql.=" Name='".mysql_real_escape_string($_POST['Name'])."'" ;
//$insert_sql.="' Name='".htmlentities($_POST['Name'], ENT_NOQUOTES);
}
if(!empty($_POST['Beschreibung']))
{
$insert_sql.=", Beschreibung='".mysql_real_escape_string($_REQUEST['Beschreibung'])."'";
//$insert_sql.="', Beschreibung='".htmlentities($_REQUEST['Beschreibung'], ENT_NOQUOTES);
}
if(!empty($_POST['Strasse']))
{
$insert_sql.=", Strasse='".mysql_real_escape_string($_REQUEST['Strasse'])."'";
//$insert_sql.="', Strasse='".htmlentities($_REQUEST['Strasse'], ENT_NOQUOTES);
}
if(!empty($_POST['PLZ']))
{
$insert_sql.=", PLZ='".mysql_real_escape_string($_REQUEST['PLZ'])."'";
//$insert_sql.="', PLZ='".htmlentities($_REQUEST['PLZ'], ENT_NOQUOTES);
}
if(!empty($_POST['Ort']))
{
$insert_sql.=", Ort='".mysql_real_escape_string($_REQUEST['Ort'])."'";
//$insert_sql.="', Ort='".htmlentities($_REQUEST['Ort'], ENT_NOQUOTES);
}
?>
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

wenn ich jetzt am ende denn quell-code

header("location:daten_okay.php"); 

eintrage, kommt ein fehler.

Warning: Cannot modify header information - headers already sent by (output started at D:\program files\xampp\htdocs\MyRusTel\Registrierung_rus.php:26) in D:\program files\xampp\htdocs\MyRusTel\Registrierung_rus.php on line 412

MfG max

Link zu diesem Kommentar
Auf anderen Seiten teilen

Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.

verstehe nicht so ganz. noch ein versuch


header("location:http://localhost/danke.php");
header("location:http://localhost/MyRusTel/Registrierung.php", false);
[/PHP]

aber kommt wieder gleiche fehler

MfG max

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du machst deine Überprüfung einfach mit Javascript im onsubmit. Die Funktion dort liefert False zurück wenn die Daten nciht gültig sind und der Browser führt dann kein Submit aus.

In deinem PHP-Skript speichert du die Daten und machst als erste Ausgabe

header("location: zielseite.php");

und nur 1 mal. Damit wird der Browser ja angewiesen die zielseite.php zu laden. Wie soll er denn mt 2 location Anweisungen direkt nacheinander umgehen?

EDIT:

Das ist kleine Ausschnit aus meine code. Ich mache doch auch mit submit und Verweis auf andere Site.

Da machst du ja schon etliche Ausgaben bevor überhaupt PHP Code abgearbeitet wird.

Nochmal: Header-Anweisungen müssen die ersten Ausgaben der Seite sein!

HTML (und auch nur eine Leerzeile) vor dem PHP-Code wird ausgegeben. Und nach einer Ausgabe kann man keinen Header mehr verändern, weil der da schon längst weg ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...