Erik: Javascript Alertbox mit PHP mixen

Hallo,

folgendes, ich möchte bei fehlerhafter Eingabe seitens des Users in ein Formularfeld eine Javascript Alertbox verwenden, nun weiß ich nicht recht wie ich JS und PHP mixe, hab das jetzt soweit:

<? php
if (($name == "")||(is_numeric($name))){
    $bHasError= TRUE;
    $sName_Error= "name is not valid or empty";
    // ***Hier müßte die JS-Anweisung (AlertBox) aufgerufen werden***
    }
?>

oder soll ich erst die Abfrage in JS machen und dann wenn kein Fehler vorhanden ist (!$bHasError); mit PHP vortfahren aber wie übergebe ich die Variablen dann nach PHP (bzw. JS) ??

Ich bevorzuge, wenn es einen Weg gibt die 1. Variation, und bedanke mich für jeden Tip

Gruß
Erik

  1. Hi,

    oder soll ich erst die Abfrage in JS machen und dann wenn kein Fehler vorhanden ist (!$bHasError); mit PHP vortfahren aber wie übergebe ich die Variablen dann nach PHP (bzw. JS) ??

    PHP läuft serverseitig, JavaScript clientseitig. Wenn PHP ausgeführt wird, liegt jedwedes JavaScript in unerreichbarer Ferne; wenn JavaScript ausgeführt wird, ist von PHP nicht mehr der Hauch einer Spur zu sehen. Die Welten sind absolut strikt getrennt. Handle entsprechend.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    <? php
    if (($name == "")||(is_numeric($name))){
        $bHasError= TRUE;
        $sName_Error= "name is not valid or empty";
        // ***Hier müßte die JS-Anweisung (AlertBox) aufgerufen werden***

    dann mache es einfach
    <script type="text/javascript">
    alert("<?=$sNameError?>");
    </script>

    }
    ?>

    inwiefern dies sinnvoll ist, bleibt offen.
    PHP weiss erst nach dem abschicken, dass die Felder nicht ordentlich sind, also schickt dein User das Formular erstmal ab, die Seite wird neu vom Server geholt und beim zurückgeben noch ehe der User etwas sieht werden die alert()-Befehle ausgelöst.
    Warum prüfst Du sowas nicht gleich mit Javascript (trotzdem musst Du noch serverseitig prüfen) bzw. markierst die Felder in einer anderen Farbe, falls Unsinn eingegeben wurde beim zurückkommen?

    ciao
    romy

  3. Hallo,

    folgendes, ich möchte bei fehlerhafter Eingabe seitens des Users in ein Formularfeld eine Javascript Alertbox verwenden, nun weiß ich nicht recht wie ich JS und PHP mixe, hab das jetzt soweit:

    Erst einmal vorweg: Was machst du, wenn der Nutzer JS deaktiviert hat?

    <? php
    if (($name == "")||(is_numeric($name))){
        $bHasError= TRUE;
        $sName_Error= "name is not valid or empty";
        // ***Hier müßte die JS-Anweisung (AlertBox) aufgerufen werden***

    ?><script type="text/javascript">
           <!--
           alert("<?php echo($sName_Error); ?>");
           //-->
           </script><?php

    }
    ?>

    oder soll ich erst die Abfrage in JS machen und dann wenn kein Fehler vorhanden ist (!$bHasError); mit PHP vortfahren aber wie übergebe ich die Variablen dann nach PHP (bzw. JS) ??

    Für diese Möglichkeit gibt es, denke ich, etwas in SELFHTML. Aber selbst wenn man die Prüfung mit JS macht, muss man immer daran denken, dass es Leute gibt, die JS deaktiviert haben. Dann würde die Werte _nicht_ geprüft.

    Ich bevorzuge, wenn es einen Weg gibt die 1. Variation, und bedanke mich für jeden Tip

    Und einen DUDEN.

    Gruß
    Erik

    Gruß zurück, Robert