Ergebnis 1 bis 5 von 5
  1. #1
    Assija ist offline Jungspund
    registriert
    24-10-2006
    Beiträge
    24

    HTML-Formular Wert mittels Javascript an PHP übergeben

    Ich habe ein Formular wo ich einen Wert übergeben will, onclick löst eine Javascriptfunktion aus, die den Wert aus einem Textarea einlesen soll.
    (soweit funktioniert es auch)

    Das Problem ist action. In einem Buch steht das ich diese setzen muss, und es mit $PHP_SELF machen kann. Das dumme ist nur das diese Variable keinen Wert enthält und ich deswegen ständig gesagt bekomme das ich keine Rechte für diesen Vorgang habe.


    <form enctype="text/plain" methode="post" name="sendform">
    <textarea id="ID_Befehl" name="f_befehl" disabled>SELECT FROM kursdaten;</textarea>

    <button type="button" value="f_cancel" onclick="javascript:setz_sql_befehl_zuruck()" class="feld"> Zur&uuml;cksetzen </button>
    <button type="button" value="" onclick="send_data_to_sql()" class="feld" name="sql_befehl"> Senden </button>
    </form>



    so weit das html (es steht in der Datei tab.php)

    Das Javascript steht in der Datei befehlsausgabe.js

    function get_befehl()
    {
    str_sel = 'SELECT ';
    str_from = ' FROM kursliste; ';
    str_sql_befehl = str_sel + str_befehl + str_from;
    return str_sql_befehl;
    }

    function send_data_to_sql()
    {
    sql_befehl = get_befehl();
    document.sendform.methode = "post";
    document.sendform.sql_befehl.value = sql_befehl;
    document.sendform.action = "<? $PHP_SELF ?>";
    document.sendform.submit();
    }


    der php code der den Wert aufrufen soll lautet

    if ($sql_befehl)
    {
    $str_test = $str_test . "<br><br>Deine bewertung <b> $sql_befehl </b> wurde registriert !<br><br>";
    }



    und steht in tab.php


    Die URL auf dem dies ausgegeben wird lautet (index.php?cmd=tab&nr_i=0)

    index.php selber liefert mir einen Wert für $PHP_SELF, wenn ich die oben genannte URL als action setze dann springt er mir nach index.php,
    also zu meiner Hauptseite...
    er soll mir aber den String aus der Textarea ausgeben. Ich suche seit Stunden und komm einfach nicht weiter.

    Gibt es einen anderen Weg das Formular auszulesen als die URL oder $PHP_SELF bei action zu benutzen ???


    Assija

  2. #2
    daWonderer ist offline Routinier
    registriert
    21-04-2007
    Beiträge
    409

    AW: HTML-Formular Wert mittels Javascript an PHP übergeben

    Die Variable $PHP_SELF ist nur verfügbar solange das Script auf dem Server ausgeführt wird. Wenn das Ergebnis an den User gesendet wurde kann nicht mehr auf PHP-Variablen zugegriffen werden.
    PHP ist serverseitig und Javascript ist clientseitig. Informiere dich bitte mal darüber. Das bedeutet, dass du auf Werte von PHP-Skripten nicht innerhalb von Javascript ohne weiteres zugreifen kannst.
    Eine Möglichkeit wäre z.b. deinen Javascript-Code serverseitig zu erstellen innerhalb der tab.php.
    Darin kannst du auf $PHP_SELF zugreifen.

    z.b. so:
    Code:
    echo "function send_data_to_sql()\r\n";
    echo "{ sql_befehl = get_befehl();\r\n";
    echo "document.sendform.methode = \"post\";\r\n";
    echo "document.sendform.sql_befehl.value = sql_befehl;\r\n";
    echo "document.sendform.action = \"".$PHP_SELF."\";\r\n";
    echo "document.sendform.submit(); }\r\n";
    greetz...

  3. #3
    Assija ist offline Jungspund
    registriert
    24-10-2006
    Beiträge
    24

    AW: HTML-Formular Wert mittels Javascript an PHP übergeben

    Es ist ja an sich schon das problem das
    tab.php
    aufgerufen über die url (index.php?cmd=tab&nr_i=0)
    den wert $PHP_SELF nicht kennt, bzw die ausgabe der variablen liefert einen leeren String.

    Ich habe das jetzt mal mit nem anderen Seite probiert... da geht es mit javascript auch nicht das Problem ist das mehrere php seiten das gleiche script brauchen *seufz*

    und auch wenn ich das javascript in tab.php kopiere gibt er mir den wert der in $PHP_SELF enthalten sein sollte nicht aus...


    gibt es eine möglichkeit aus einem formular DIREKT eine php funktion aufzurufen... dann bräuchte ich wenn ich glück habe nur den inhalt der textarea auszulesen (die von javascript gefüllt wird... )

    Assija

  4. #4
    Avatar von Comet
    Comet ist offline Administrator
    registriert
    17-09-2001
    Ort
    Austria | Westendorf
    Beiträge
    2.182

    AW: HTML-Formular Wert mittels Javascript an PHP übergeben

    Hi!

    Dein oben beschriebens Skript sollte funktionieren, du solltest jedoch auf PHP_SELF über das suberglobal-Array $_SERVER zugreifen, ausserdem müßtest du auch noch eine Ausgabe der Variable vornehmen sonst steht da auch nichts an dieser Stelle, dann würde das so aussehen:

    document.sendform.action = "<?php print $_SERVER['PHP_SELF']; ?>";
    ..:::Andi:::..

  5. #5
    Avatar von ZeitGeist
    ZeitGeist ist offline Lounge-Member
    registriert
    26-04-2003
    Ort
    Outa Space
    Beiträge
    4.125

    AW: HTML-Formular Wert mittels Javascript an PHP übergeben

    ich hoffe du gibst das was in sql_befehl drin steht nicht ungeprüft an deine Datenbank weiter.
    Ansonsten kannst du doch den wert von action direkt im Formular setzten, dafür braucht man doch kein JS

Ähnliche Themen

  1. Verständnisproblem mit PHP Script und JavaScript
    Von krusty007 im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 24-10-2006, 10:11
  2. Mit JavaScript auf PHP Variable zugreifen
    Von Willow im Forum JavaScript
    Antworten: 26
    Letzter Beitrag: 18-01-2006, 18:21
  3. Javascript soll im Formular zwei Variablen addieren...
    Von Stardreamer im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 12-09-2005, 12:37
  4. Werte aus Formular bei Aufruf in anderes Formular (Datei) übergeben
    Von jacky im Forum Serverseitige Programmierung
    Antworten: 4
    Letzter Beitrag: 17-10-2002, 14:08
  5. pflichfelder im formular bei php + Bestätigungsmail
    Von gitiai im Forum Serverseitige Programmierung
    Antworten: 4
    Letzter Beitrag: 16-07-2002, 17:05

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •