'action="***.php" 'Datei nur für Post freigeben

BSA

Erfahrenes Mitglied
Hi Leute!

Ich bin - wie man auch unter meinem Link lesen kann - gerade dabei mich ein bissl mit PHP zu beschäftigen. Ich habe mir gerade nen Registrieren Script geschrieben, dass aufgerufen wird, wenn man sich auf meiner Seite Registriert. Logisch!

Wenn man nun das Script (Dateiname: reg.php) einfach so aufruft, ohne über das Formular zu gehen, dann schreibt er einen Leeren Datensatz in die DB, das tut er zwar nur einmal, aber gut ist es nicht.

nun die Frage, wie kann ich die Datei schützen, sodass sie nur durch die POST Methode aufgerufen wird?

Würde mich über Hilfe freuen.
Und für den fall das ich mich beim suchen zu dämlich angestellt habe, würde es mir auch reichen wenn mir jemand dazu ein paar Suchbegriffe nennt.

MFG
BSA
 
Wie liest du denn die Umgebungsdaten aus bzw baust dein Statement zusammen, dass dein Script überhaupt was einträgt -> Eingabeüberprüfung?
 
Hab das ganze jetzt an den Anfang der reg.php gesetzt, aber trotzdem genau wie vorher!

Also es sind keine änderungen sichtbar.......?!

Oder hab ich es faslch platziert?
 
Original geschrieben von Ben Ben
Wie liest du denn die Umgebungsdaten aus bzw baust dein Statement zusammen, dass dein Script überhaupt was einträgt -> Eingabeüberprüfung?

Das mach ich lokal, mit nen JavaScript -> schneller!
 
1. javascript ist nicht gut, da es deaktiviert werden kann
2. mach doch einfach eine abfrage à la...
PHP:
if (!empty($_POST['variable']) && !empty($_POST['variable2'])....) { 
// script
} else {
echo "form ausfüllen...";
}
 
Hast ja recht, ich prob es erstmal so und danach wenn alles soweit mach ich es nochmal so, thx für den TIPP
 
Original geschrieben von snuu
Rettet dem Dativ ...

Das 'n' und das 'm' liegen ja auf der Tastatur soooooooo weit auseinander das es natürlich nicht möglich ist sich zu vertippen!

Ich hasse diese Menschen die immer und überall streit suchen.
 
Naja da ich wieder aus dem Urlaub bin und fast nichts zu tun habe, wühle ich mich wieder hier ins Forum.

Also N und M liegen zwar nah beieinander aber es ist dennoch möglich diese beiden völlig unterschiedlichen Buchstaben zu trennen, da muss man kein Tastaturkünstler sein.

So nun mal zu Deinem Problem. Du kannst natürlich mit "if(isset(....))" überprüfen ob die Übertragungsmethode via POST oder GET gesendet wurde. Zudem würde ich besonders in einem Registrierungsformular grundsätzlich mit "->[phpf]mysql_escape_string[/phpf]" arbeiten.

Sollten die Daten nicht via Post übersendet worden sein, kannst du das Script mit die() oder exit() abbrechen und auf das Formular zurückleiten.

Gruß Mirko
 
Zurück