Antworten auf deine Fragen:
Neues Thema erstellen

Formularfelder beim surfen nicht löschen

CIX88

Aktives Mitglied

AW: Formularfelder beim surfen nicht löschen

> if ($_POST['Menge']!="" && isset($_POST["Menge"])) {

Hmmmmmmmmmmmmmmm, eigentlich prüft man erst nach isset() und dann nach Inhalt :)
 

T

tvingo

Guest

AW: Formularfelder beim surfen nicht löschen

also ok.. ich habe VERSUCHT alles zu berücksichtigen:cool:

u...nun..*s habe jetzt eine Frage - ob ihr die viell.versteht - ich bemühe mich drum;-), was folgendes Script angeht.
Drei Dateien. Es geht darum, über submit, jeweils Mengeneingaben zu speichern u. per submit/Liste der Mengenspeicherung, aufzurufen.
WENN ich im value keinen Wert vorgebe (hier "1" ), funktioniert das auch. WENN ich aber "1" vorgebe, geht es nicht mehr.


index.html

<!Doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>

<form action="index.php" method="post">

<!-- MengenEingabefeld 0001 --->
<input type="text" name="Menge_0001" value="1">

<!-- Menge 0001 speichern -->
<input type="submit" value="speichern 1" name="speichern_0001">


<!-- MengenEingabefeld 0002 -->
<input type="text" name="Menge_0002" value="1">

<!-- Menge 0002 speichern -->
<input type="submit" value="speichern 2" name="speichern_0002">


<!-- MengenEingabefeld 0003 -->
<input type="text" name="Menge_0003" value="1">

<!-- Menge 0003 speichern -->
<input type="submit" value="speichern 3" name="speichern_0003">

</form>

<!-- Button Liste von gespeicherten Mengen anzeigen ohne Funktion -->

<!-- Button Liste anzeigen 0001 -->
<input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">

<!-- Button Liste anzeigen 0002 -->
<input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">

<!-- Button Liste anzeigen 0003 -->
<input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">

</body>
</html>



Form-action führt zu index.php

<?php
session_start();
$_SESSION["Menge_0001"]=$_POST["Menge_0001"];
$_SESSION["Menge_0002"]=$_POST["Menge_0002"];
$_SESSION["Menge_0003""]=$_POST["Menge_0003""];
?>
<!Doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>

<form action="index.php" method="post">

<!-- MengenEingabefeld
0001 -->

<input type="text" name="Menge_0001"
value="<?php
if(isset($_POST["Menge_0001"]) &&
is_string($_POST["Menge_0001"])) {
print(htmlspecialchars($_POST["Menge_0001"]));
}
?>">

<!-- Button Speichern Menge 0001 speichert die Mengen von 1 bis 3 u ruft die Seite erneut auf -->
<input type="submit" value="speichern 1" name="speichern_0001">


<!-- MengenEingabefeld 0002 -->

<input type="text" name="Menge_0002"
value="<?php
if(isset($_POST["Menge_0002"]) &&
is_string($_POST["Menge_0002"])) {
print(htmlspecialchars($_POST["Menge_0002"]));
}
?>">

<!-- Button Speichern Menge 0002 -->
<input type="submit" value="speichern 2" name="speichern_0002">


<!-- MengenEingabefeld 0003" -->

<input type="text" name="Menge_0003""
value="<?php
if(isset($_POST["Menge_0003""]) &&
is_string($_POST["Menge_0003""])) {
print(htmlspecialchars($_POST["Menge_0003""]));
}
?>">

<!-- Button Speichern Menge
0003" -->
<input type="submit" value="speichern 3" name="speichern_0003">

</form>


<!-- Liste gespeicherte Mengen anzeigen -->
<form action="datenliste.php" method="post">

<!-- Liste anzeigen 0001 -->
<input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">

<input type="hidden" name="Menge_0001" id="Menge_0001"
value="<?php
if(isset($_POST["Menge_0001"]) &&
is_string($_POST["Menge_0001"])) {
print(htmlspecialchars($_POST["Menge_0001"]));
}
?>">

<!-- Liste anzeigen 0002 -->
<input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">

<input type="hidden" name="Menge_0002" id="Menge_0002"
value="<?php
if(isset($_POST["Menge_0002"]) &&
is_string($_POST["Menge_0002"])) {
print(htmlspecialchars($_POST["Menge_0002"]));
}
?>">

<!-- Liste anzeigen 0003" -->
<input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">

<input type="hidden" name="Menge_0003"" id="Menge_0003""
value="<?php
if(isset($_POST["Menge_0003""]) &&
is_string($_POST["Menge_0003""])) {
print(htmlspecialchars($_POST["Menge_0003""]));
}
?>">
</form>

</body>
</html>



Die Datenliste in datenliste.php

<?php
session_start();
$_SESSION["Menge_0001"]=$_POST["Menge_0001"];
$Menge_0001=$_POST["Menge_0001"];
$Epreis_0001=118.97;
$Gesamt_0001=$Menge_0001 * $Epreis_0001;
$Gesamt_0001=number_format($Gesamt_0001,2,",",".");

$_SESSION["Menge_0002"]=$_POST["Menge_0002"];
$Menge_0002=$_POST["Menge_0002"];
$Epreis_0002=118.97;
$Gesamt_0002=$Menge_0002 * $Epreis_0002;
$Gesamt_0002=number_format($Gesamt_0002,2,",",".");

$_SESSION["Menge_0003""]=$_POST["Menge_0003""];
$Menge_0003=$_POST["Menge_0003""];
$Epreis_0003=118.97;
$Gesamt_0003=$Menge_0003 * $Epreis_0003;
$Gesamt_0003=number_format($Gesamt_0003,2,",",".");
?>
<!Doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>

<form action="entfernen.php" method="post">

<!-- Produkt 0001 -->
<?php
if (!empty($_POST['Menge_0001']))
print '
<table>
<tr><td><input type="text" name="Menge_0001" id="Menge_0001"
value="'.htmlentities($_POST['Menge_0001']).'">
</td>
<td>Produkt Art.Nr.0001
</td>
<td>'.number_format($Epreis_0001,2,",",".")." ".€.'
</td>
<td>'.$Gesamt_0001." ".€.'
</td>
<td><input type="submit" value="Entfernen" name="Entfern" id="Entfern">
</td>
</tr>
</table>';
?>

<!-- Produkt 0002 -->
<?php
if (!empty($_POST['Menge_0002']))
print '
<table>
<tr><td><input type="text" name="Menge_0002" id="Menge_0002"
value="'.htmlentities($_POST['Menge_0002']).'">
</td>
<td>Produkt Art.Nr.0002
</td>
<td>'.number_format($Epreis_0002,2,",",".")." ".€.'
</td>
<td>'.$Gesamt_0002." ".€.'
</td>
<td><input type="submit" value="Entfernen" name="Entfern" id="Entfern">
</td>
</tr>
</table>';
?>

<!-- Produkt 0003" -->
<?php
if (!empty($_POST['Menge_0003"']))
print '
<table>
<tr><td><input type="text" name="Menge_0003"" id="Menge_0003""
value="'.htmlentities($_POST['Menge_0003"']).'">
</td>
<td>Produkt Art.Nr.0003
</td>
<td>'.number_format($Epreis_0003",2,",",".")." ".€.'
</td>
<td>'.$Gesamt_0003"." ".€.'
</td>
<td><input type="submit" value="Entfernen" name="Entfern" id="Entfern">
</td>
</tr>
</table>';
?>

</form>

</body>
</html>


ups, das Script ist ETWAS lang geworden:rolleyes: Ich hoffe, man blickt noch durch:?: Ich blick jedenfalls nicht mehr so durch;-) Wäre schön, wenn ich ein paar Tipps bekommen könnte? Gruß!:)
 
F

Fantasyelf

Guest

AW: Formularfelder beim surfen nicht löschen

Hi,

wenn Du wirklich nur weitere Infos anzeigen willst, wäre es doch besser, die Links in einem eigenen Tab öffnen zu lassen. So kann man auch einfacher zum Formular zurückschalten und etwas anhand der Infos ändern.

HTML:
 target="_blank"

Falls Du das nicht so haben willst, überlies es einfach. Das wäre aber die einfachste Lösung.
 
T

tvingo

Guest

AW: Formularfelder beim surfen nicht löschen

@Fantasyelf
ja, ich sehe ein, dass ich das etwas ungeschickt gemacht habe u. werde jetzt mein Darstellung entsprechend anpassen! Danke für den Tipp;-)


Die Ausgangsdatei:
index.html
Das Formular wird weitergeleitet an:
index.php:
HTML:
   <form action="index.php" method="post">

<!-- MengenEingabefeld 0001 --->
   <input type="text" name="Menge_0001" value="1">

<!-- Menge 0001 speichern -->
   <input type="submit" value="speichern 1" name="speichern_0001">


<!-- MengenEingabefeld 0002 -->

   <input type="text" name="Menge_0002" value="1">

<!-- Menge 0002 speichern -->
   <input type="submit" value="speichern 2" name="speichern_0002">


<!-- MengenEingabefeld 0003 -->
   <input type="text" name="Menge_0003" value="1">

<!-- Menge 0003 speichern -->
   <input type="submit" value="speichern 3" name="speichern_0003">

  </form>


<!-- Button Liste von gespeicherten anzeigen ohne Funktion -->

<!-- Button Liste anzeigen 0001 -->
   <input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">

<!-- Button Liste anzeigen 0002 -->
   <input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">

<!-- Button Liste anzeigen 0003 -->
   <input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">




index.php liest die Formularfelder aus.
Ein weiteres Speichern (weil die Menge z.B. erneut verändert wurde)der Menge wird über 'Menge_000X' jeweils an diese Datei gesandt: index.php
Liste der gespeicherten Daten ruft man über 'Liste gespeicherter Mengen anzeigen' auf u. kommt zur Datei: Datenliste.php

Problem:
Datenliste.php gibt immer ALLE Mengen an u. nicht nur die, die über 'speichern x' gespeichert werden sollten.:rolleyes: Wie kann ich es erreichen, dass der submit-button 'speichern x' auch nur DIE Menge speichert, die ich speichern möchte. Also Menge 1, Menge 2 oder Menge 3 u. dann in der Liste 'Datenliste.php auch nur DIE Mengen aufgelistet werden, die ich zuvor meinte abgeschickt zu haben*s
Kurz: OHNE value="1" in der Ausgangsdatei index.html funktioniert das Ganze. Mit leider nicht:?:

PHP:
<?php
 session_start();
 $_SESSION["Menge_0001"]=$_POST["Menge_0001"];
 $_SESSION["Menge_0002"]=$_POST["Menge_0002"];
 $_SESSION["Menge_0003"]=$_POST["Menge_0003"];
?>
<!Doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head> 
 </head>
  <body>  

  <form action="testindex.php" method="post">

<!-- MengenEingabefeld 0001 -->

    <input type="text" name="Menge_0001"  
     value="<?php
             if(isset($_POST["Menge_0001"]) &&
             is_string($_POST["Menge_0001"])) {
             print(htmlspecialchars($_POST["Menge_0001"]));
             }
            ?>">

<!-- Button Speichern Menge 0001 -->
    <input type="submit" value="speichern 1" name="sichern_0001">


<!-- MengenEingabefeld 0002 -->

    <input type="text" name="Menge_0002"  
     value="<?php
             if(isset($_POST["Menge_0002"]) &&
             is_string($_POST["Menge_0002"])) {
             print(htmlspecialchars($_POST["Menge_0002"]));
             }
            ?>">
 
<!-- Button Speichern Menge 0002 -->
    <input type="submit" value="speichern 2" name="sichern_0002">


<!-- MengenEingabefeld 0003 -->

    <input type="text" name="Menge_0003" 
     value="<?php
             if(isset($_POST["Menge_0003"]) &&
             is_string($_POST["Menge_0003"])) {
             print(htmlspecialchars($_POST["Menge_0003"]));
             }
            ?>">

<!-- Button Speichern Menge 0003 -->
    <input type="submit" value="speichern 3" name="sichern_0003">

  </form>


<!-- Liste gespeicherte Mengen -->
  <form action="Datenliste.php" method="post">

<!-- Liste anzeigen 0001 -->
   <input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">

   <input type="hidden" name="Menge_0001" id="Menge_0001" 
     value="<?php
             if(isset($_POST["Menge_0001"]) &&
             is_string($_POST["Menge_0001"])) {
             print(htmlspecialchars($_POST["Menge_0001"]));
             }
            ?>">

<!-- Liste anzeigen 0002 -->
   <input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">

   <input type="hidden" name="Menge_0002" id="Menge_0002" 
     value="<?php
             if(isset($_POST["Menge_0002"]) &&
             is_string($_POST["Menge_0002"])) {
             print(htmlspecialchars($_POST["Menge_0002"]));
             }
            ?>">

<!-- Liste anzeigen 0003 -->
   <input type="submit" value="Liste gespeicherter Mengen anzeigen" name="Liste">
   
   <input type="hidden" name="Menge_0003" id="Menge_0003" 
     value="<?php
             if(isset($_POST["Menge_0003"]) &&
             is_string($_POST["Menge_0003"])) {
             print(htmlspecialchars($_POST["Menge_0003"]));
             }
            ?>">
  </form>  

  </body>
 </html>




Die Datenliste der gespeicherten Mengen unter
Datenliste.php
PHP:
<?php
 session_start();
 $_SESSION["Menge_0001"]=$_POST["Menge_0001"];
 $Menge_0001=$_POST["Menge_0001"];
 $Wert_0001=118.97;
 $Gesamt_0001=$Menge_0001 * $Wert_0001;
 $Gesamt_0001=number_format($Gesamt_0001,2,",",".");

 $_SESSION["Menge_0002"]=$_POST["Menge_0002"];
 $Menge_0002=$_POST["Menge_0002"];
 $Wert_0002=118.97;
 $Gesamt_0002=$Menge_0002 * $Wert_0002;
 $Gesamt_0002=number_format($Gesamt_0002,2,",",".");

 $_SESSION["Menge_0003"]=$_POST["Menge_0003"];
 $Menge_0003=$_POST["Menge_0003"];
 $Wert_0003=118.97;
 $Gesamt_0003=$Menge_0003 * $Wert_0003;
 $Gesamt_0003=number_format($Gesamt_0003,2,",",".");
?>
<!Doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> 
</head>
 <body>

   <form action="daten.php" method="post">

<!-- Menge 0001 -->
    <?php
     if (!empty($_POST['Menge_0001'])) 
      print ' 
   <table> 
    <tr><td><input type="text" name="Menge_0001" id="Menge_0001" 
             value="'.htmlentities($_POST['Menge_0001']).'">
        </td>
        <td>Menge Nr.0001
        </td>
        <td>'.number_format($Wert_0001,2,",",".")." ".€.'  
        </td>
        <td>'.$Gesamt_0001." ".€.' 
        </td>  
        <td><input type="submit" value="Entfernen" name="Entfern" id="Entfern">
        </td>
     </tr>
    </table>';  
     ?>

<!-- Menge 0002 -->
    <?php
     if (!empty($_POST['Menge_0002'])) 
      print ' 
   <table> 
    <tr><td><input type="text" name="Menge_0002" id="Menge_0002" 
             value="'.htmlentities($_POST['Menge_0002']).'">
        </td>
        <td>Menge Nr.0002
        </td>
        <td>'.number_format($Wert_0002,2,",",".")." ".€.'  
        </td>
        <td>'.$Gesamt_0002." ".€.' 
        </td>  
        <td><input type="submit" value="Entfernen" name="Entfern" id="Entfern">
        </td>
     </tr>
    </table>';  
     ?>

<!-- Menge 0003 -->
    <?php
     if (!empty($_POST['Menge_0003'])) 
      print ' 
   <table> 
    <tr><td><input type="text" name="Menge_0003" id="Menge_0003" 
             value="'.htmlentities($_POST['Menge_0003']).'">
        </td>
        <td>Menge Nr.0003
        </td>
        <td>'.number_format($Wert_0003,2,",",".")." ".€.'  
        </td>
        <td>'.$Gesamt_0003." ".€.' 
        </td>  
        <td><input type="submit" value="Entfernen" name="Entfern" id="Entfern">
        </td>
     </tr>
    </table>';  
     ?>

   </form>

 </body>
</html>
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben