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
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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...