Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Leute,

ich habe ein kleines Problem...

ein einfaches Skript zur Veranschaulichung des Problems...

Das Formular ruft sich selbst auf, damit spar ich mir den CGI-Kram fürs erste, nur um mal das Wesentliche besser darzustellen

******************************************************************

<FORM METHOD="post" ACTION="formular.php" enctype="multipart/form-data">

Betreff:<br>

<INPUT TYPE="text" NAME="betreff" SIZE="40" MAXLENGTH="40"

VALUE="betreff..."><br>

<input TYPE="submit" VALUE="Abschicken">

</form>

<?

echo "Betreff: $betreff";

?>

******************************************************************

Fehlermeldung:

Notice: Undefined variable: betreff in C:\Programme\Apache Group\Apache\htdocs\test\formular.php on line 15

Betreff:

Alles funktioniert wie es soll, der Interpreter funzt, der Server funzt und sonst alles was ich bisher in PHP geschrieben habe. Nur die Übergabe von Parametern funzt nicht...

Aber eben genauso habe ich es überall nachgelesen, dass Daten aus Formularen, eben so übergeben werden???

Wer kann helfen??

Geschrieben

Hi,

$betreff hat beim ersten Aufruf des Formulars noch keine Zuweisung, also noch keinen Inhalt.

Fang das mit

 
if (isset ($betreff))
{
echo "Betreff: " .$betreff;
}
[/PHP]

ab.

isset(); überprüft, ob eine Variable wirklich existiert.

Ansonsten empfehle ich dir im Bezug auf Formularen die sich selber wieder aufrufen einige Schalter einzubauen, z.B. mit einem Hidden Input der eine $action Variable übergibt und dann kannst du immer beim Aufrufen der php-Seite abfangen ob das Formular abgesendet wurde und darauf reagieren.

Wenn du willst geb ich dir ein Beispiel wenn dir nicht klar ist was ich meine :)

Geschrieben

Super Posting,

und übersetzt für Unwissende heisst das?

Ich denke nicht das du ihm damit weiterhilfst.

Ausserdem, für ein simples Kontaktformular ist das etwas überzogen, oder?

Geschrieben
Originally posted by Spike

Super Posting,

und übersetzt für Unwissende heisst das?

Ich denke nicht das du ihm damit weiterhilfst.

Das heißt das seit PHP 4.1 Register_Globals in der php.ini auf off stehen. Vielleicht ist der hier etwas verständlicher: http://fachinformatiker-world.de/forums/showthread.php?threadid=41094&highlight=RegisterGlobals

Ansonsten mal die Suchfunktion benutzen, es gibt alle paar Tage eine Frage dazu: http://fachinformatiker-world.de/forums/search.php?action=showresults&searchid=128162&sortby=lastpost&sortorder=descending

Geschrieben

Eben.

seit einiger Zeit wird empfohlen die Variante

$_POST["betreff"];

zu verwenden.

Also in diesem Fall um genau zu sein so:

echo "Betreff: " . $_POST["betreff"];

Warum das so ist kannst du in den oben gelinkten Seiten lesen, was zu empfehlen ist.

Geschrieben

Achso damit man sicherstellt das niemand Variablenwerte per Cookie in dein Script "einschmuggeln" kann?

Ich hab das bisher einfach immer mit isset() überprüft, werd meine Scripte dann nochmal anpassen denke ich.

Danke :)

Geschrieben

warum erfindet man eine Programmiersprache die doch sowieso nur wieder

von C/C++ abgeleitet ist??? - ist doch alles derselbe Kram

Kleines Bsp.: in C kann man doch den Datentyp einer Variable vor der Benutzung genau definieren... gesagt, getan - nie wieder ein Problem

in PHP bleibt das aus, doch es gibt wieder extra zig Funktionen um den Datentypen festzustellen...

... wo ist da der Sinn???

Geschrieben
Originally posted by solvery

warum erfindet man eine Programmiersprache die doch sowieso nur wieder

von C/C++ abgeleitet ist??? - ist doch alles derselbe Kram

Hallo solvery!

Das macht wenig Sinn für das geschilderte Problem, die Philosophie von PHP in Frage zu stellen. Wenn alle mit C++ arbeiten würden, wäre das bestimmt schön für dich, aber wenig sinnvoll. Ähnlich wäre eine Frage wie: "Die europäischen Sprachen sind alle vom Latien abgeleitet, warum sprechen alle trotzdem andere Sprachen?"

Sorry wg. OT, SCNR

Florian

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...