2 Stimmen

PHP-Formular zum Hinzufügen von Variablen für "Warenkorb"

Ich habe diesen Code in meinem HTML-Formular:

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

<input type="hidden" value="1" name="sample_" id="sample_">
Sample Bottle  <br /><input type="submit" value="Add to Cart" name="sample"><br />

</form>

<h1>Cart Total: $<?php echo $cart; ?></h1>

Und dann habe ich in der referenzierten Datei cart.php:

        $cart = 0;
    $samples = ($_POST['sample_']) * 50;
    $cart = $cart + $samples;

    echo $cart;'

Leider tut dieser Code nicht das, was ich will, und ich brauche Hilfe. Im Idealfall möchte ich einfach, dass der Code "50" zum Warenkorb hinzufügt, der bei 0 beginnt, wenn die Schaltfläche "In den Warenkorb" gedrückt wird.

Beispiel: http://www.craighooghiem.com/linpap/order

Kann mir jemand sagen, wie ich dies auf eine viel einfachere Weise tun kann? Anscheinend kann ich verwenden <?=$_SERVER['PHP_SELF'];?> Ich möchte diese Funktion irgendwie ausführen, ohne die Datei zu verlassen, aber jedes Mal, wenn ich das versuche, lande ich wieder auf der Startseite der Website.

Ich verwende eine Wordpress-Vorlagendatei für das PHP, falls das einen Unterschied macht.

EDIT: Ich habe schnell gelernt, dass ich nicht alle, dass vertraut mit PHP überhaupt, ich weiß kaum die Seile an dieser Stelle.

1voto

Sarfraz Punkte 366217

Um auf der gleichen Seite zu bleiben, lassen Sie die action Attribut des Formulars leer z.B.:

<form method="post" action="">

Jetzt wird beim Absenden nicht mehr auf die Startseite der Website weitergeleitet.

Ändern Sie schließlich Ihren Code wie folgt:

$samples = intval($_POST['sample_']) * 50;
$cart = intval($cart) + $samples;
echo $cart;

1voto

Anthony Forloney Punkte 87227
<?php
$cart = 0;
 // good practice to see if the submit button has been pressed.
 if (isset($_POST['submit'])) {
 // no need to explicitly cast to an int, PHP is loosely typed.
  $samples = ($_POST['sample_']) * 50;
  $cart = $cart + $samples;
 }
?>
<form action="echo.php" method="post">
<input type="hidden" value="1" name="sample_" id="sample_">
Sample Bottle  <br />
<input type="submit" value="Add to Cart" name="submit"><br />
</form>
<h1>Cart Total: $<?php echo $cart; ?></h1>

Dieser Code gibt bei mir "50" aus.

Ich hatte die action Attribut mit meiner PHP-Datei übereinstimmen. Außerdem habe ich das name Attribut meines Submit-Buttons auf einreichen aus Gründen der Klarheit.

0voto

chamiltongt Punkte 154

Könnte es sein, dass Sie Ihr Eingabe-Tag für das versteckte Feld nicht geschlossen haben? Also hinzufügen

</input> 

Danach. Wenn das nicht hilft, vergewissern Sie sich, dass Sie die post-Variable durch Echoing erhalten. Wenn das richtig aussieht und es immer noch nicht funktioniert, versuchen Sie, php zu zwingen, mit intval in eine int-Variable zu konvertieren (was es sowieso tun sollte). Viel Glück!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X