Fehlende Button - Funktion

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

Postby KingCrunch » 21. May 2007 09:55

Es ging mir mehr um den Link, den ich in dem Posting auch drin stehen hatte ;)
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby kschroeder » 21. May 2007 10:47

Hast Du denn nun mal ein einfaches Beispielscript gebastelt?

Warscheinlich nicht :cry:

Hier mal ein ganz einfaches triviales Beispiel:
(Bitte als test.php speichern)


Code: Select all
<html>
<head>
<title>Testseite</title>
</head>
<body>

<?

$test = $_POST["wasjetzt"];
if ($test == "LOS") {
   echo "Du hast folgendes eingegeben: ".$_POST["test123"]."<br/>";
}

?>

<br/>
<br/>
<br/>
<form enctype="multipart/form-data" name="formname" action="test.php" method="POST">
<table border="0" align="center"><tr><td>

<input type="hidden" name="wasjetzt" value="LOS">
Hier irgendwas eingeben: <input type="text" name="test123">
<br/>
<br/>
Und dann <input type="submit" value="Abschicken">

</td></tr></table>
</form>
</body>
</html>



Wenn Du auf einem Server hostest, der register_globals auf Off stehen hat , Du aber nicht bei allen Scripts jede Variable nun mit $_POST[] ändern möchtest: speichere den folgenden Code in eine php-Datei und include diese auf jeder Seite zu Anfang.

Code: Select all
if (!defined('PMA_GRAB_GLOBALS_INCLUDED')) {
    define('PMA_GRAB_GLOBALS_INCLUDED', 1);

    if (!empty($_GET)) {
        extract($_GET, EXTR_OVERWRITE);
    } else if (!empty($HTTP_GET_VARS)) {
        extract($HTTP_GET_VARS, EXTR_OVERWRITE);
    } // end if

    if (!empty($_POST)) {
        extract($_POST, EXTR_OVERWRITE);
    } else if (!empty($HTTP_POST_VARS)) {
        extract($HTTP_POST_VARS, EXTR_OVERWRITE);
    } // end if

    if (!empty($_FILES)) {
        while (list($name, $value) = each($_FILES)) {
            $$name = $value['tmp_name'];
        }
    } else if (!empty($HTTP_POST_FILES)) {
        while (list($name, $value) = each($HTTP_POST_FILES)) {
            $$name = $value['tmp_name'];
        }
    } // end if

    if (!empty($_SERVER) && isset($_SERVER['PHP_SELF'])) {
        $PHP_SELF = $_SERVER['PHP_SELF'];
    } else if (!empty($HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['PHP_SELF'])) {
        $PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];
    } // end if

    // Securety fix: disallow accessing serious server files via "?goto="
    if (isset($goto) && strpos(' ' . $goto, '/') > 0 && substr($goto, 0, 2) != './') {
        unset($goto);
    } // end if

    // Strip slahes from $db / $table values
    if (get_magic_quotes_gpc()) {
        if (isset($db)) {
            $db = stripslashes($db);
        }
        if (isset($table)) {
            $table = stripslashes($table);
        }
    }

} //
kschroeder
 
Posts: 254
Joined: 11. May 2007 13:33

Postby Jamma » 21. May 2007 11:02

Herzlichen Dank für das Beispielskript, doch, wenn ich es so mache, wie du sagst (also 2 Dateien und dann den Quelltext in diese beiden Dateien), kommt 1. nur dieses Fenster:

Image
Wieso stehen davor noch Zeichen?

und 2. passiert absolut gar nix (also kein Fenster mit "Du hast folgendes eingegeben:").
Genau das Problem, das bei meiner Datei ist.
Ich hab die 2. Datei auch verknüpft mit include.
Jamma
 
Posts: 20
Joined: 07. May 2007 08:01

Postby kschroeder » 21. May 2007 12:26

Es sieht so aus, als ob gar kein php ausgeführt wird. Vielleicht weil Deine PHP-Konfiguration keine "Short-Tags" für php versteht?
Entweder schaust Du mal in die php.ini nach dem Eintrag:
short_open_tag = On

Oder Du schreibst anstatt des
Code: Select all
<?
ein
Code: Select all
<?php
.

Tatsache ist, dass bisher bei Dir gar kein php ausgeführt wird, somit kann bisher auch nichts ausgewertet oder gar gespeichert werden.

Dann solltest Du mal einen noch elementareren Test machen mit dem folgenden Script:
Code: Select all
<html>
<head>
<title>Test</title>
</head>
<body>
<?php
echo "Hello World!";
?>
</body>
</html>


Wenn das schon nicht funktionieren sollte, dann läuft php gar nicht auf Deinem Apache!
kschroeder
 
Posts: 254
Joined: 11. May 2007 13:33

Postby Jamma » 21. May 2007 12:46

In meiner php.ini steht auch
Code: Select all
short_open_tag = On
.
Daran kann es also nicht liegen.

Außerdem habe ich jetzt auch
Code: Select all
<?
mit
Code: Select all
<?php
ausgewechselt.

Und das andere Testprogramm habe ich auch ausgeführt.
Und du hast Recht, denn PHP läuft wahrscheinlich doch nicht bei mir, denn das Testprogramm gibt mir noch nicht einmal
Code: Select all
Hello World
aus.

Ich krieg langsam echt die Krise mit dem ganzen PHP...nix funktioniert! :evil:

Ist das denn wenigstens richtig?
Das ist das, was ich in die erste Testdatei geschrieben und die andere dann dort eingelesen hab:

Code: Select all
<html>
<head>
<title>Testseite</title>
</head>
<body>

<?php
include_once ('Test2.php');
php?>

<?
...


EDIT: Was muss ich in die Zeile schreiben?

Code: Select all
<form method="post" action="">
Jamma
 
Posts: 20
Joined: 07. May 2007 08:01

Postby kschroeder » 22. May 2007 18:18

Also erstmal brauchst Du nur zum Öffnen <?php zu schreiben, beim schliessen reicht ein ?>.

Aber daran wird es nun auch nicht liegen, dass php gar nicht erst ausgeführt wird.

Das mit dem Include etc. lass erstmal weg, zuallererst muss ja php laufen, dann kommt der Rest wieder :wink:

Schau doch mal, ob Du auf Deinem Server über die Eingabeaufforderung in das Verzeichnis wechselst, wo die php.exe liegt (bei xampp unter apache/bin) und führe dort dann die php.exe mit der Testdatei von mir aus.
Also php.exe mit dem Pfad zu Deinem Document-Root und der Datei (test.php)
Dann solltest Du ein Hello World bekommen.
Wenn das nicht funktioniert ..., php neuinstallieren.
Wenn das geht, liegts wohl an der Apache-Konfiguration.
kschroeder
 
Posts: 254
Joined: 11. May 2007 13:33

Previous

Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 7 guests