• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Probleme mit Formular-Button

jkhkhvbjkhv

Jerseymac
Registriert
11.11.05
Beiträge
450
Moin, habe da ein kleines Problem.

Habe ein Login auf meiner Internetseite gemacht und jedesmal, wenn ich den Text des Login Buttons von OK in z.B. LOGIN ändern möchte, dann funktioniert das einloggen nicht mehr.

Dann kam ich auf die Idee ein Bild zu nehmen. statt ein Button. Habe type="submit" auf type="image" geändert und den Pfad angegeben.

Nun geht der Login nur unter Safari komischerweise, aber nicht mehr auf einem Windows-Rechner unter dem IE.

<input name="loginSubmit" type="submit" value="ok" />

<input name="loginSubmit" type="image" value="ok" alt="login" src="img/form.button.login.jpg" />​

Was habe ich falsch gemacht? Eigentlich ja gar nichts oder? Aber es funktioniert nicht. Und warum muss ich OK stehen lassen und kann value="ok" nicht z.B. in value="login" verändern oder in ein anderes Wort?

Die Lösung mit dem Bild wäre mir persönlich wichtiger. Habe das andere nur erwähnt, um eventuell gewisse Sachen schon vorab auszuschließen.

Hoffe, dass jemand eine Idee hat.

Gruß Niko
 
In welcher Programmiersprache prüfst du denn die Eingaben für den Login?
 
Wowow Niko, du machst dir viel zu viel Arbeit!

Die Idee mit dem Hintergrundbild ist super und wird auch dem entsprechend praktiziert... Jedoch benütze CSS! Mache eine eigene Klasse .buttons { background: pfad des bild} und dann weise einfach dem input Feld class = buttons zu und voila alle deine Sorgen sind erledigt.. ;)

Gruss
 
in der Regel werden <input type="image" src="img/btn/submit.gif" name="button" value="senden" /> nicht als Variable $button sondern als $button_x UND $button_y per POST versendet. Damit ist es denn auch möglich den Pixelwert zu erfaren, auf den geklickt wurde …
 
Moin, um einmal schnell zu antworten. :)

Toddy schrieb:
In welcher Programmiersprache prüfst du denn die Eingaben für den Login?

In PHP. Ist alles in einer Datenbank gespeichert. Der Zugriff selber, hat schon geklappt. Aber hier hänge ich halt.

Dadelu schrieb:
Wowow Niko, du machst dir viel zu viel Arbeit!

Die Idee mit dem Hintergrundbild ist super und wird auch dem entsprechend praktiziert... Jedoch benütze CSS! Mache eine eigene Klasse .buttons { background: pfad des bild} und dann weise einfach dem input Feld class = buttons zu und voila alle deine Sorgen sind erledigt.. ;)

Gruss

Ich meinte ja nicht ein Hintergrundbild in den Formularfeldern, sondern ein Bild als Button. Sorry, wenn ich mich unverständlich ausgedrückt habe. ;)

Sir Q schrieb:
in der Regel werden <input type="image" src="img/btn/submit.gif" name="button" value="senden" /> nicht als Variable $button sondern als $button_x UND $button_y per POST versendet. Damit ist es denn auch möglich den Pixelwert zu erfaren, auf den geklickt wurde …

Ist das denn notwendig solche Variabeln anzugeben? Und wie sieht es aus mit dem "value"?? Kann kein anderes Wort außer "ok" nehmen. Habe ich da vielleicht was falsch gemacht? Sorry, aber Deinen Post habe ich nicht ganz verstanden. :)

Gruß Niko
 
Wie überprüfst du denn im PHP Code, ob das Formular übermittelt wurde?
Poste bitte mal den Codeabschnitt hierzu :-) .
 
Moin, das ist die Login-Funktion.

if ($_POST['loginSubmit'] == "ok") {
setcookie("xUser",$_POST['loginUser'],time()+(60*60*24*356),"/");
setcookie("xPass",md5($_POST['loginPass']),time()+(60*60*24*356),"/");
header ("location: ".$CONFIG['PATH'].gLink().$RUNTIME['FULL']);
}
$usr = $_COOKIE['xUser'];
$pwd = $_COOKIE['xPass'];


Des Weiteren habe ich in der ersten Zeile auch das "ok" weggenommen, ich kann mich zwar weiter einloggen, aber auf einem Windows-PC unter dem IE, geht es weiterhin nicht!

Noch einmal zum Verständnis. Ich möchte gerne ein Bild-Button als Login haben, es geht aber leider nicht, weil ich mich unter Windows im IE nicht einloggen kann. Im Safari schon.

Was ist an der Login-Funktion falsch?

Gruß Niko
 
Moin...

if ($_POST['loginSubmit'] == "ok") {

änder das mal in:

if( isset($_POST[loginSubmit]) ) {

}

Dann kannst du jeden Value für den Button nehmen...

gruß
the lancer

PS: Dann müßte es zumindest mit dem Button mit einem anderen Value gehen! Mit den Images als Buttons kenn ich mich nicht aus, sorry!
 
Eleganter wäre es, wenn du einfach prüfen würdest, ob per POST auf die Seite zugegriffen wurde. Das ist ja nur der Fall, wenn das Formular übermittelt wurde, dann kannst du zum übermitteln selbst nehmen was du willst, solange es die POST-Form abschickt.

Code:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
 // hier dann der weitere Code...
}
else {
// Und hier alles, was benötigt wird, wenn es keine POST Anfrage ist
}
 
Danke Euch alle für die Hilfe!

Toddy schrieb:
Eleganter wäre es, wenn du einfach prüfen würdest, ob per POST auf die Seite zugegriffen wurde. Das ist ja nur der Fall, wenn das Formular übermittelt wurde, dann kannst du zum übermitteln selbst nehmen was du willst, solange es die POST-Form abschickt.

Code:
if($_SERVER['REQUEST_METHOD'] == 'POST') {
 // hier dann der weitere Code...
}
else {
// Und hier alles, was benötigt wird, wenn es keine POST Anfrage ist
}

Das war's. :)

Gruß Niko
 
Naja, irgendwie ist es doch nicht das gewesen. Denn er loggt zwar erst ein, loggt aber dann aus, wenn bestimmte Formulare ausgefüllt und in der DB anschließen eingetragen werden. Vorher hat es auch funktioniert. Gibt es da noch eine andere unabhängige Lösung?

Gruß Niko.
 
Du musst den erfolgreichen Login natürlich in der Session speichern, oder was genau meinst du? Zudem auf jeder Seite die Session aufrufen über session_start().