PHP kann keine Formularwerte auswerten .

Dieses Thema im Forum "Hardware" wurde erstellt von MarcusH, 16. Juni 2002.

  1. MarcusH

    MarcusH New Member

    N'Abend zusammen,

    ich möchte Werte aus einem Formular senden die dann von PHP verarbeitet werden. das problem: die werte werden nicht an PHP übergeben oder das script kann damit nichts anfangen. die scripte sind aber o.k. kein fehler, denn auf einem anderen rechner laufen sie. ich denke ich muß in der php configuration irgendwelche # entfernen. nur wo? ich weiß nicht wo die config dateien für sowas sind. wo kann man solche sachen "freischalten"?

    vielen Dank & viele Grüße,
    Marcus
     
  2. goldfinger

    goldfinger New Member

    Da gibt es viele Möglichkeiten.
    Liegt es vielleicht an der php Version??
    Schau dir mal die php version an mit der das script läuft.

    Ansonsten suche nach der php.ini.
     
  3. mhertli

    mhertli New Member

    wie übergiebst du die werte vom formular?
    hast du register_globals ev auf on? (in der phpinfo() nachsehen)

    mfg
    marco
     
  4. pompom

    pompom New Member

    2. PHP aktivieren

    Terminal öffnen und die Apache-Konfigurationsdatei modifizieren:

    sudo pico /etc/httpd/httpd.conf

    es wird die Eingabe des Passwortes gefordert, dann öffnet sich ein Unix-Editor
    jetzt die # (Rauten=Zeichen für Auskommentierung) vor folgenden Zeilen entfernen:

    LoadModule dav_module
    LoadModule perl_module
    LoadModule php4_module

    AddModule mod_dav.c
    AddModule mod_perl.c
    AddModule mod_php4.c

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    jetzt den Eintrag:

    <IfModule mod_dir.c>
    DirectoryIndex index.html
    </IfModule>

    um index.php ergänzen (! Leerzeichen hinter index.html):

    DirectoryIndex index.html index.php (hier können weitere Startdateien eingetra- gen werden, z.B. "index.htm")

    Mit ctrl-X schließen und Speichernachfrage mit "y" bestätigen und mit "Enter" beenden.

    Jetzt Server über "Sharing" stoppen und wieder starten.

    PS: Ich muß aus welchen Gründen auch immer, nach Änderungen in der httpd.conf zusätzlich den Computer neu starten, sost geht kein PHP-Skript.
     
  5. MarcusH

    MarcusH New Member

    register_globals steht tatsächlich auf off aber eine php.ini gibt es überhaupt nicht. sherlock findet auch nichts. wo kann ich sowas denn umstellen ?

    version auf dem pc wo das script läuft ist 4.0.6
    version auf dem mac wo das script nicht läuft ist 4.2.1
     
  6. MarcusH

    MarcusH New Member

    N'Abend zusammen,

    ich möchte Werte aus einem Formular senden die dann von PHP verarbeitet werden. das problem: die werte werden nicht an PHP übergeben oder das script kann damit nichts anfangen. die scripte sind aber o.k. kein fehler, denn auf einem anderen rechner laufen sie. ich denke ich muß in der php configuration irgendwelche # entfernen. nur wo? ich weiß nicht wo die config dateien für sowas sind. wo kann man solche sachen "freischalten"?

    vielen Dank & viele Grüße,
    Marcus
     
  7. goldfinger

    goldfinger New Member

    Da gibt es viele Möglichkeiten.
    Liegt es vielleicht an der php Version??
    Schau dir mal die php version an mit der das script läuft.

    Ansonsten suche nach der php.ini.
     
  8. mhertli

    mhertli New Member

    wie übergiebst du die werte vom formular?
    hast du register_globals ev auf on? (in der phpinfo() nachsehen)

    mfg
    marco
     
  9. pompom

    pompom New Member

    2. PHP aktivieren

    Terminal öffnen und die Apache-Konfigurationsdatei modifizieren:

    sudo pico /etc/httpd/httpd.conf

    es wird die Eingabe des Passwortes gefordert, dann öffnet sich ein Unix-Editor
    jetzt die # (Rauten=Zeichen für Auskommentierung) vor folgenden Zeilen entfernen:

    LoadModule dav_module
    LoadModule perl_module
    LoadModule php4_module

    AddModule mod_dav.c
    AddModule mod_perl.c
    AddModule mod_php4.c

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    jetzt den Eintrag:

    <IfModule mod_dir.c>
    DirectoryIndex index.html
    </IfModule>

    um index.php ergänzen (! Leerzeichen hinter index.html):

    DirectoryIndex index.html index.php (hier können weitere Startdateien eingetra- gen werden, z.B. "index.htm")

    Mit ctrl-X schließen und Speichernachfrage mit "y" bestätigen und mit "Enter" beenden.

    Jetzt Server über "Sharing" stoppen und wieder starten.

    PS: Ich muß aus welchen Gründen auch immer, nach Änderungen in der httpd.conf zusätzlich den Computer neu starten, sost geht kein PHP-Skript.
     
  10. MarcusH

    MarcusH New Member

    register_globals steht tatsächlich auf off aber eine php.ini gibt es überhaupt nicht. sherlock findet auch nichts. wo kann ich sowas denn umstellen ?

    version auf dem pc wo das script läuft ist 4.0.6
    version auf dem mac wo das script nicht läuft ist 4.2.1
     
  11. mhertli

    mhertli New Member

    wenn du register global auf off hast ist das auch gut so (sicherheitsmässig)
    Dann greife bitte auf
    $_GET["meinevariable"] oder $HTTP_GET_VARS["meinevariable"] zu. Je
    nachdem, welche PHP-Version du einsetzt.

    noch fragen?

    mfg
    marco

    ps:
    hast du die php version von entropy.ch?
    sind die register_globals auf dem pc auch auf off oder auf on?
     
  12. MarcusH

    MarcusH New Member

    am pc steht die register_globals auf "on" und die PHP version ist von
    entropy.ch. was meinst mit welche version ich einsetze ? POST oder GET ?
    PHP ist version 4.2.1 also das aktuellste im moment glaube ich ...
     
  13. mhertli

    mhertli New Member

  14. pompom

    pompom New Member

    also, wenn Ihr immer noch die php.ini sucht, da gibts hier weiter unten einen Beitrag "php.ini?wo is die denn verflixt..."
     
  15. pan ohne floete

    pan ohne floete New Member

    Hi Marco,

    ich hätte da noch die ein oder andere Frage. Kennst Du Dich 'n bischen mit Formularen PHP4 evtl. noch weitergehend MySQL aus?

    Gruß
    PAN
     
  16. mhertli

    mhertli New Member

    ja. warum was für ein problem hast du?

    mfg
    marco
     
  17. pan ohne floete

    pan ohne floete New Member

    $_POST[mail]')";
    if ( ! mysql_query( $anfrage, $link))
    {
    $dberror = mysql_error();
    return false;
    }
    return true;
    }

    function ausgabe_formular()
    {
    global $PHP_SELF;
    print "<form action="$PHP_SELF" method="POST">
    ";
    print "<input type="text" name="domain"> ";
    print "Die von Ihnen gewünschte Domaine<p>
    ";
    print "<input TYPE="text" name="mail"> ";
    print "Ihre mail-Adresse<p>
    ";
    print "<select name="geschlecht">
    ";
    print " <option value="F"> weiblich
    ";
    print " <option value="M"> männlich
    ";
    print "</select>
    ";
    print "<input type="submit" value="submit!">
    </form>
    ";
    }
    ?>
    </body>
    </html>

    Danke für Deine Tipps im voraus.
     
  18. mhertli

    mhertli New Member

    füge folgender code ein

    if (isset($HTTP_GET_VARS[domain]) && isset($HTTP_GET_VARS[geschlecht]) && isset($HTTP_GET_VARS[mails]))
    {
    if($HTTP_GET_VARS[domain] && $HTTP_GET_VARS[mails] =! "")
    {
    in_db_einfuegen($domain, $geschlecht, $mail, $dberror);
    print "Vielen Dank für die Daten";
    }
    else
    {
    echo "Bitte alle Daten eingeben";
    }
    }
    else {
    ausgabe_formular();
    }

    damit wird überprüft ob deine variabeln einen wert haben oder nicht.
    mfg
    marco
     
  19. pan ohne floete

    pan ohne floete New Member

    n Buch, macht alles nach Schema F gem. der Anweisung und dann geht die Hälfte nicht - ging Dir das anfangs auch so? (upps, wieder 'ne Frage)

    Gruß
    PAN
     
  20. mhertli

    mhertli New Member

    sorry
    die richtige abfrage ist natürlich
    if($HTTP_GET_VARS[domain] AND $HTTP_GET_VARS[mail] != "")
    dann funktioniert es auch.

    über get und post findest du hier infos
    http://www.pl-forum.de/work/php/phpws_3.html
    ansonsten hat es auch infos in dem buch das du hast

    ja das mit den büchern und php ist so eine sache, meistens sind
    die bücher schon veraltet, da php ja immer weiterentwickelt wird, und
    dein buch das du hast bezieht sich ja nicht auf die neuste php version.
    am besten ist du liest auf http://www.php.net immer genau nach, was
    sich mit der neuen version auch geändert hat.

    und sonst einfach try and error so lernt man es am besten :)

    mfg
    marco

    ps:
    hier kannst du auch alles nachlesen wenn du was in php suchst
    http://www.php.net/manual/de/
     

Diese Seite empfehlen