• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> 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
 

Toddy

Wohlschmecker aus Vierlanden
Registriert
10.05.04
Beiträge
242
In welcher Programmiersprache prüfst du denn die Eingaben für den Login?
 

Dadelu

Reinette Coulon
Registriert
06.07.05
Beiträge
939
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
 

Sir Q

Rheinischer Winterrambour
Registriert
12.04.05
Beiträge
923
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 …
 

jkhkhvbjkhv

Jerseymac
Registriert
11.11.05
Beiträge
450
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
 

Toddy

Wohlschmecker aus Vierlanden
Registriert
10.05.04
Beiträge
242
Wie überprüfst du denn im PHP Code, ob das Formular übermittelt wurde?
Poste bitte mal den Codeabschnitt hierzu :) .
 

jkhkhvbjkhv

Jerseymac
Registriert
11.11.05
Beiträge
450
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
 

apfelbaum75

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

Toddy

Wohlschmecker aus Vierlanden
Registriert
10.05.04
Beiträge
242
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
}
 

jkhkhvbjkhv

Jerseymac
Registriert
11.11.05
Beiträge
450
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
 

jkhkhvbjkhv

Jerseymac
Registriert
11.11.05
Beiträge
450
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.
 

Toddy

Wohlschmecker aus Vierlanden
Registriert
10.05.04
Beiträge
242
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().