[GastForen Programmierung/Entwicklung PHP und MySQL Grafischer Button wird als Reset erkannt, nicht als Absendebutton

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Grafischer Button wird als Reset erkannt, nicht als Absendebutton

Fallen Yggdrasil
Beiträge gesamt: 377

22. Nov 2007, 22:06
Beitrag # 1 von 6
Bewertung:
(1504 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Habe folgendes Formular für eine Webseite verwendet:

Code
<?php 
$gesendet = $_POST['gesendet'];
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
$email = $_POST['email'];

if ($gesendet == "Absenden") {
# Ihre E-Mail-Adresse
$an ="hanny@bunny.bums";

# Diese Nachricht wird an Ihre E-Mail-Adresse gesendet
$text ="Hallo,\n Sie haben per Kontaktformular eine neue Nachricht von $vorname $nachname erhalten:\n\n
====\n $nachricht\n====\n\nSie kˆnnen $vorname $nachname unter dieser $email erreichen.";
mail($an,$betreff,$text,"From: ".$email);
echo "<b>Ihre Nachricht wurde gesendet!</b>";
}
else { ?>
<script type="text/javascript">
function eingaben_ueberpruefen(){
var mail = document.Formular.email.value;
if (document.Formular.vorname.value.length < 3){
alert("Sie haben noch keinen Vornamen eingegeben!")
document.Formular.vorname.focus();
return false;
}

else if (document.Formular.nachname.value.length < 3){
alert("Bitte geben Sie Ihren Nachnamen ein");
document.Formular.nachname.focus();
return false;
}

else if (mail.length < 10 || mail.indexOf ('@',0) == -1 || mail.indexOf ('.',0) == -1){
alert("Bitte geben Sie eine g¸ltige E-Mail-Adresse ein.")
document.Formular.email.select();
return false;
}

else if (document.Formular.betreff.value.length < 10){
alert("Bitte geben Sie einen Betreff ein!")
document.Formular.betreff.focus();
return false;
}

else if (document.Formular.nachricht.value.length < 20){
alert("Bitte geben Sie eine Nachricht ein!")
document.Formular.nachricht.focus();
return false;
}

else
return true;
}
</script>
</p>
<form name="Formular" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" onsubmit="return eingaben_ueberpruefen();">
<table cellpadding="0" cellspacing="2" border="0">
<tr>
<td><b><font face="arial" style="font-size:11px">Vorname:</font></b></td>
<td><input type="text" name="vorname" size="35" maxlength="40" /></td>
</tr>
<tr>
<td><b><font face="arial" style="font-size:11px">Nachname:</font></b></td>
<td><input type="text" name="nachname" size="35" maxlength="40" /></td>
</tr>
<tr>
<td><b><font face="arial" style="font-size:11px">eMail:</font></b></td>
<td><input type="text" name="email" size="35" maxlength="40" /></td>
</tr>
<tr>
<td><b><font face="arial" style="font-size:11px">Betreff:</font></b></td>
<td><input type="text" name="betreff" size="45" maxlength="60" /></td>
</tr>
<tr>
<td><font face="arial" style="font-size:11px"><b>Nachricht:</b></font></td>
<td><textarea name="nachricht" cols="45" rows="7"></textarea></td>
</tr>
<tr>
<th colspan="2"><br />
<input type="submit" name="gesendet" value="Absenden" /> * <input type="reset" /></th>
</tr>
</table>
</form>
<?php
}
?>


Da die Button nicht sehr schön aussehen, wollte ich einen grafischen Button verwenden, wie hier beschrieben:

http://de.selfhtml.org/...uttons.htm#grafische

Allerdings wird dieser dann als Reset erkannt, nicht aber als Absendebutton. :( Kann man das dort irgendwie einstellen?

Stefan

(Dieser Beitrag wurde von Fallen Yggdrasil am 22. Nov 2007, 22:07 geändert)
X

Grafischer Button wird als Reset erkannt, nicht als Absendebutton

SabineP
Beiträge gesamt: 7586

22. Nov 2007, 22:39
Beitrag # 2 von 6
Beitrag ID: #323839
Bewertung:
(1494 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
>> Allerdings wird dieser dann als Reset erkannt, nicht aber als Absendebutton

Das hat nichts mit PHP zu tun.
<input type="image" ...> ist immer ein Submit-Button (Absendebutton).
Da läßt sich nichts "einstellen".
Irgendetwas stimmt also mit Deinem HTML-Code nicht.
Prüfe das Formular also am besten mit dem HTML-Validator.


als Antwort auf: [#323832]
(Dieser Beitrag wurde von SabineP am 22. Nov 2007, 22:40 geändert)

Grafischer Button wird als Reset erkannt, nicht als Absendebutton

Fallen Yggdrasil
Beiträge gesamt: 377

23. Nov 2007, 21:43
Beitrag # 3 von 6
Beitrag ID: #324059
Bewertung:
(1473 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sabine,

was soll ich mit einem HTML-Validator? Es handelt sich um das PHP-Script weiter oben? PHP wird von diesem leider nicht erkannt.

Und mit nem normalen Button funktioniert es ja, mit nem Bild leider nicht.


als Antwort auf: [#323839]

Grafischer Button wird als Reset erkannt, nicht als Absendebutton

Intermedia
Beiträge gesamt: 1287

23. Nov 2007, 21:46
Beitrag # 4 von 6
Beitrag ID: #324060
Bewertung:
(1472 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

eigentlich sollte es gehen, dann mach doch den Formularcheck mit dem Event "onsubmit" beim Formular und schickst das Formular mit JS weg.

Alternativ kannst du auch einen Submitbutton mit CSS und einem Hintergrundbild gestalten.

Mit PHP hat das aber wirklich nichts zu tun.

Ups..... hab gerade gesehen das du ja das Formular beim Submit prüfst, also schlage ich die CSs Variante vor.

Gruß Sven


als Antwort auf: [#324059]
(Dieser Beitrag wurde von Intermedia am 23. Nov 2007, 21:58 geändert)

Grafischer Button wird als Reset erkannt, nicht als Absendebutton

SabineP
Beiträge gesamt: 7586

23. Nov 2007, 22:00
Beitrag # 5 von 6
Beitrag ID: #324064
Bewertung:
(1468 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Fallen,

>> was soll ich mit einem HTML-Validator?

Den HTML-Code Deines Formulars prüfen.

Browser können nur HTML darstellen.
PHP wird auf dem Server ausgeführt, nicht im Browser.


als Antwort auf: [#324059]

Grafischer Button wird als Reset erkannt, nicht als Absendebutton

Fallen Yggdrasil
Beiträge gesamt: 377

23. Nov 2007, 22:12
Beitrag # 6 von 6
Beitrag ID: #324066
Bewertung:
(1462 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sabine,

dieser erkennt die PHP-Seite aber nicht. :(

@Intermedia, werde ich mal ausprobieren mit CSS. Danke.


als Antwort auf: [#324064]
X