Nach der Überprüfung der Benutzerdaten aus der Datenbank möchte ich einige Werte in der Datenbank mithilfe von PHP-Code aktualisieren.

Ich habe versucht

var answer = confirm("Do you want to Checkout?");
if(answer==true)
{
<?php MY UPDATE COMMAND ?>
}

Der Befehl update wird jedoch ausgeführt, auch wenn answer == false ist

Bitte helfen Sie mir bei der Lösung meines Problems.

Vielen Dank

0
Bilal 10 Okt. 2012 im 12:05

3 Antworten

Beste Antwort

Hier sind Lösungen für Sie:

1. - AJAX verwenden. Wie zum Beispiel mit Hilfe von jQuery:

if (confirm('Do you want to Checkout?')) {
  $.ajax({
    url: 'logout.php'
  }).done(function(){
    // do something after php checkout, for example: go to home page
    window.location.href = '/';
  });
}

2. - ist wie folgt zu verwenden:

<a href="checkout.php"
   onclick="return confirm('Do you want to Checkout?')">
Checkout</a>
1
Igor Popov 10 Okt. 2012 im 08:24

Javascript ist ein clientseitiges Programm (in diesem Fall), das in einem Client-Browser ausgeführt wird. PHP ist eine serverseitige Skriptsprache. Grundsätzlich generiert PHP eine HTML-Datei und sendet sie an den Client. Alle PHP-Befehle werden ausgeführt, bevor etwas in Javascript passiert, da PHP einfach eine HTML-Datei generiert. Das Javascript wird in den Client-Browser geladen.

Der Befehl php wird also IMMER ausgeführt, weil er aufgerufen wird. PHP hat keine Ahnung, dass es von Javascript-Code umgeben ist und unternimmt nichts, um ihn zu lesen. Es enthält nur den Javascript-Code in der HTML-Datei, die es mitsendet.

0
ajon 10 Okt. 2012 im 10:04

Das kann nicht funktionieren, da PHP auf der Serverseite ausgeführt wird, bevor Javascript überhaupt an den Browser gesendet wird. Was also passieren wird, ist, dass Ihr MY UPDATE COMMAND zuerst ausgeführt wird, bevor das Javascript - das clientseitig im Browser ausgeführt wird.

Wenn Sie PHP ausführen möchten, wenn die Bestätigung wahr ist, müssen Sie ein Formular senden oder an diesem Punkt einen AJAX-Aufruf durchführen. Ich schlage vor, nachzulesen, wie PHP und Javascript ausgeführt werden.

0
MrCode 10 Okt. 2012 im 08:12