Jörn: JavaScript und PHP

Hallo Leute. Wollte eigentlich nur ein wenig JavaScript in einem PHP Script einbinden. Dabei soll über confirm die Variable durch drücken der "okay" oder "abbrechen" - Taste eigentlich nur den Wert true oder false bekommen.

echo '
<script language="javascript">okay = confirm
("Sind Sie sicher, daß Sie die Punkt löschen möchten?")
;</script>';

Wenn okay gleich true ist, dann weiter mit der Anweisung
if ($okay == true) {
}

Aber irgendwie wird meiner Variable $okay kein Wert zugeliefert.
Muß sicherlich ein Fehler im JavaScript sein. Oder geht hier überhaupt keine Variablenzuweisung?

Vielleicht kann mir jemand helfen. Dank im voraus.
Jörn

  1. Hallo Leute. Wollte eigentlich nur ein wenig JavaScript in einem PHP Script einbinden. Dabei soll über confirm die Variable durch drücken der "okay" oder "abbrechen" - Taste eigentlich nur den Wert true oder false bekommen.

    echo '
    <script language="javascript">okay = confirm
    ("Sind Sie sicher, daß Sie die Punkt löschen möchten?")
    ;</script>';

    Wenn okay gleich true ist, dann weiter mit der Anweisung
    if ($okay == true) {
    }

    Aber irgendwie wird meiner Variable $okay kein Wert zugeliefert.

    --> du musst die variable ok auch wieder in javascript auswerten
    schliesslich wird sie dort verwendet

    also
    <script language="javascript">okay = confirm
    ("Sind Sie sicher, daß Sie die Punkt löschen möchten?")
    ;
    if ($okay == fales) {
     history.back(); //andernfalls werden weitere anweisungen ausgeführt
    }
    </script>';

    Jörn

  2. Hallo Jörn.

    Das kann so auch gar nicht funktionieren:
    PHP wird serverseitig ausgewertet, JavaScript funktioniert nur clientseitig. (und bevor jemand meckert: ja, es gibt auch serverseitiges JavaScript oder JScript, ist es aber in diesem Falle nicht.)

    Was du aber machen kannst, ist nach dem confirm verschiende Dinge auszuführen:

    <script language="javascript">
    if(confirm
    ("Sind Sie sicher, daß Sie die Punkt löschen möchten?")) {
    document.location.href='delete_it.php';
    } else {
    document.location.href='dont_delete_it.php';
    }
    </script>

    Grüße
    Sascha

    1. Hi,

      document.location.href='delete_it.php';

      document hat kein location-Unterobjekt.

      Das location-Unterobjekt ist im window-Objekt zu finden.
      also: self.location.href = ...

      Andreas

  3. echo '
    <script language="javascript">okay = confirm
    ("Sind Sie sicher, daß Sie die Punkt löschen möchten?")
    ;</script>';

    Wenn okay gleich true ist, dann weiter mit der Anweisung
    if ($okay == true) {
    }

    deine js-var heisst "okay" nich "$okay" und du kannst nich ne js-var machen und die dann ohne absenden ans php mit php abfragen

  4. echo '
    <script language="javascript">okay = confirm
    ("Sind Sie sicher, daß Sie die Punkt löschen möchten?")
    ;</script>';

    if ($okay == true) {
    }

    Aber irgendwie wird meiner Variable $okay kein Wert zugeliefert.
    Muß sicherlich ein Fehler im JavaScript sein. Oder geht hier überhaupt keine Variablenzuweisung?

    PHP läuft auf dem Server, Javascript einige tausend Kabelkilometer weit weg im Browser. Und bevor Javascript anfängt, ist PHP schon längst beendet. Darüber hinaus sieht der Browser absolut garnichts von PHP, denn er bekommt lediglich Textdaten geliefert, die sich als HTML-Seite mit etwas Javascript entpuppen.

    Nun überlege Dir mal, ob eine Javascript-Variable vom Browser zum Server rückwärts in der Zeit transportiert werden kann.

    Gruß,
      soenk.e

    PS: Willst Du etwas von Javascript an PHP übergeben, mußt Du das PHP-Skript neu starten (sprich: neu laden).

  5. hi,

    du schreibst hier mit PHP einen script-Bereich einer anderen Sprache in das Document...

    echo '
    <script language="javascript">okay = confirm
    ("Sind Sie sicher, daß Sie die Punkt löschen möchten?")
    ;</script>';

    und hier versuchst du auf eine Variable aus diesem andere Bereich zuzugreifen...

    Wenn okay gleich true ist, dann weiter mit der Anweisung
    if ($okay == true) {
    }

    das geht so nicht.
    PHP und Javascript wissen nichts voneinander.

    Der Mittler ist entweder HTML oder der search-string, also das, was hinter dem Fragezeichen nach der Adresse kommt.

    Du kannst entweder:

    • den Wert Deiner Variablen in ein Formularfeld ins Dokument
        schreiben und dieses dann mit Javascript auslesen (PHP->javascript)

    oder:

    • die PHP-Seite neu aufrufen und im query-String deine
        Variable angeben: meineSeite.php?okay=true (JavaScritp->PHP)

    Gruß, Andreas