Images anstelle von Standardbutton
Jarod
- html
Hi Leute,
ich hab ein kleines Problem und hab auch längeren Suchen hier keine wirkliche Lösung gefunden.
Ich möchte eigentlich nur ein php-Skript insoweit ändern, das anstelle dem Standardbutton für "Absenden" durch eine Grafik (Images) ersetzt wird, aber die Funktion soll natürlich erhalten bleiben.
Codeabschnitt :
<tr>
<td colspan="3">
<div align="left">
<input name="senden" type="submit" value="Senden" />
</div>
</td>
</tr>
Ich hab schon einige Vorschläge von hier ausprobiert, aber leider wurde dann immer das Formular nie abgeschickt, daher hoffe ich nun hier eine opitmale Lösung finden kann.
Bitte helft mir.
Jarod
http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische
Das hab ich ja schon versucht ging nicht. *schnief*
Hallo Jarod,
http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische
Das hab ich ja schon versucht ging nicht. *schnief*
und wie äußerte sich das? Ich war gerade auf der Testseite und bei mir ging es. Zeig mal, was du versucht hast.
Gruß, Jürgen
Hallo Jarod,
http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische
Das hab ich ja schon versucht ging nicht. *schnief*
und wie äußerte sich das? Ich war gerade auf der Testseite und bei mir ging es. Zeig mal, was du versucht hast.
Gruß, Jürgen
Ich hab diese php-Skript :
<link rel="stylesheet" type="text/css" href="css/style.css" />
<script language=JavaScript>
function isValid() {
var msg = "";
if (contact.eMail.value.indexOf("@") < 1 ||
contact.eMail.value.indexOf(".") < 1) {
msg += "- Die E-Mail-Adresse ist syntaktisch nicht korrekt.\n";
}
if(contact.vorName.value == "") {
msg += "- Leeres Feld: Vorname:\n";
}
if(contact.nachName.value == "") {
msg += "- Leeres Feld: Nachname:\n";
}
if(contact.betreff2.value == "") {
msg += "- Leeres Feld: Betreff:\n";
}
if(contact.nachricht.value == "") {
msg += "- Leeres Feld: Nachricht:\n";
}
if(msg == "") {
return true;
}
alert(msg);
return false;
}
</script>
<?php
$formularAnzeigen = false;
if (!empty($_POST["senden"]) && (
empty($_POST["vorName"]) ||
empty($_POST["nachName"]) ||
empty($_POST["eMail"]) ||
empty($_POST["betreff2"]) ||
empty($_POST["nachricht"]))) {
$formularAnzeigen = true;
echo '<span style="color: #FF0000; font-size: x-large;">Bitte alle Pflichtfelder ausfuellen.</span>';
} else if (!empty($_POST["senden"]) &&
!isEmail($_POST["eMail"])) {
$formularAnzeigen = true;
echo '<span style="color: #FF0000; font-size: x-large;">Die E-Mail-Adresse ist nicht korrekt.</span>';
} else if (empty($_POST["senden"])) {
$formularAnzeigen = true;
}
if ($formularAnzeigen) {
?>
<form name="contact" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()">
<table width="400" border="0">
<!--anfang Anrede-->
<tr>
<td width="169">
Anrede:
</td>
<td width="340">
<select name="anrede">
<option <?=($_POST['anrede']=='Frau')?'selected':''?>>Frau</option>
<option <?=($_POST['anrede']=='Herr')?'selected':''?>>Herr</option>
</select></td>
</tr>
<!--ende anrede-->
<!--anfang vorName-->
<tr>
<td>
Vorname:
</td>
<td>
<input name="vorName" type="text" value="<?=$_POST['vorName']; ?>" />
</td>
</tr>
<!--ende vorName-->
<!--anfang nachName-->
<tr>
<td>
Nachname:
</td>
<td><input name="nachName" type="text" value="<?=$_POST['nachName']; ?>" /></td>
</tr>
<!--ende nachName-->
<!--anfang eMail-->
<tr>
<td>
E-Mail:
</td>
<td><input name="eMail" type="text" id="eMail" value="<?=$_POST['eMail']; ?>" /></td>
</tr>
<!--ende eMail-->
<!--anfang betreff2-->
<tr>
<td>
Betreff:
</td>
<td><select name="betreff2" id="betreff2">
<option<?=($_POST['betreff2']=='Private Nachricht')?' selected':' '?>>Private Nachricht</option>
<option<?=($_POST['betreff2']=='Geschäftliche Nachricht')?' selected':' '?>>Geschäftliche Nachricht</option>
<option<?=($_POST['betreff2']=='Sonstiges')?' selected':' '?>>Sonstiges</option>
</select></td>
</tr>
<!--ende betreff2-->
<!--anfang nachricht-->
<tr>
<td>
Nachricht:
</td>
<td><textarea name="nachricht" cols="40" rows="10"><?=$_POST['nachricht']; ?></textarea></td>
<td>
</td>
</tr>
<!--ende nachricht-->
<!--anfang kopie-->
<tr>
<td>
Kopie der Nachricht:
</td>
<td><input name="kopie" type="checkbox" value="checked" <?=$_POST['kopie']; ?>></td>
</tr>
<!--ende kopie-->
//
// Dieser Pfad soll mit einer Grafik anstelle der Standardausgabe ausgerüstet werden!
//
<tr>
<td colspan="3">
<div align="left">
<input name="senden" type="submit" value="Senden" />
</div>
</td>
</tr>
//
// Ende der Nachricht (Absenden von eMails)
//
</table>
</form>
<?php
echo'';
} else {
$eMail = '
Anrede:
'.$_POST['anrede'].'
Vorname:
'.$_POST['vorName'].'
Nachname:
'.$_POST['nachName'].'
E-Mail:
'.$_POST['eMail'].'
Betreff:
'.$_POST['betreff2'].'
Nachricht:
'.$_POST['nachricht'].'
Kopie der Nachricht:
'.$_POST['kopie'].'';
if (@mail("nightowl04@freenet.de",
"Neue Nachricht vom Kontaktformular",
$eMail)) {
echo "Ihre Nachricht wurde an den Webmaster verschickt, vielen Dank!<br />";
} else {
echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
}
if ($_POST['kopie']) {
if (@mail($_POST['eMail'],
"Hier die Kopie Ihrer Nachricht an den Webmaster.",
$eMail)) {
echo "Sie haben eine Kopie der Nachricht zugeschickt bekommen.<br />";
}
}
}
function isEmail($email) {
$nonascii = "\x80-\xff";
$nqtext = "[^\$nonascii\015\012"]";
$qchar = "\[^$nonascii]";
$protocol = "(?:mailto:)";
$normuser = "[a-zA-Z0-9][a-zA-Z0-9_.-]*";
$quotedstring = ""(?:$nqtext|$qchar)+"";
$user_part = "(?:$normuser|$quotedstring)";
$dom_mainpart = "[a-zA-Z0-9][a-zA-Z0-9._-]*.";
$dom_subpart = "(?:[a-zA-Z0-9][a-zA-Z0-9._-]*.)*";
$dom_tldpart = "[a-zA-Z]{2,5}";
$domain_part = "$dom_subpart$dom_mainpart$dom_tldpart";
$regex = "$protocol?$user_part@$domain_part";
if (preg_match("/^$regex$/",$email)) {
return true;
}
return false;
}
?>
Da wollte ich (Am Ende hab ich mal die Stelle markiert) eine Grafik einbinden anstelle der Standardausgabe von "Senden".
Wie kann dies klappen??
Jarod
hi,
Ich hab diese php-Skript :
War das wirklich nötig, dass du uns eine Dreiviertelstunde nachdem ich dich bereits darauf hinwies, wie man input type=image in PHP verarbeitet noch mit dieser Menge an Code zusch(m)eißt?
gruß,
wahsaga
hi,
Ich hab diese php-Skript :
War das wirklich nötig, dass du uns eine Dreiviertelstunde nachdem ich dich bereits darauf hinwies, wie man input type=image in PHP verarbeitet noch mit dieser Menge an Code zusch(m)eißt?
gruß,
wahsaga
Oh entschuldige grosser Meister, aber ich bin ein kleiner Noob und komme mit deinen Anweisungen leider nicht weiter, daher hab ich das gesamte php-Skript mal geposten.
So, dann nehme ich mal <input type="image" src="meinbild.png" name="sub" /> und füge anstelle von <input name="senden" type="submit" value="Senden" /> ein.
Folge :
Die Grafik ist nun da, aber eine eMail wird nicht versendet, da eine Weiterleitung zur Abfrage =>
if (@mail("Jarod@mailde.de",
"Neue Nachricht vom Kontaktformular",
$eMail)) {
echo "Ihre Nachricht wurde an den Webmaster verschickt, vielen Dank!<br />";
} else {
echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
}
nicht erfolgt ist, da dieser Text nicht ausgeworfen wurde bzw. keine eMail im Postfach liegt.
Das genau ist mein Problem und dafür suche ich nun seid 24 Stunden und mehr eine Lösung.
Entschuldige die Worte am Anfang, aber ich hab es wirklich schon alles probiert.
Jarod
hi,
So, dann nehme ich mal <input type="image" src="meinbild.png" name="sub" /> und füge anstelle von <input name="senden" type="submit" value="Senden" /> ein.
Und die Abfrage
if (!empty($_POST["senden"]) && (
hast du daraufhin natürlich ebenfalls angepasst, wie du es auf der von mir verlinkten Seite nachgelesen hast ...?
gruß,
wahsaga
hi,
So, dann nehme ich mal <input type="image" src="meinbild.png" name="sub" /> und füge anstelle von <input name="senden" type="submit" value="Senden" /> ein.
Und die Abfrage
if (!empty($_POST["senden"]) && (
hast du daraufhin natürlich ebenfalls angepasst, wie du es auf der von mir verlinkten Seite nachgelesen hast ...?gruß,
wahsaga
auch alle empty($_POST["senden"] (dreimal) hatte ich entsprechend durch empty($_POST["sub"] ersetzt, doch leider klappt das Skript dann immer noch nicht. Die Echoabfrage kommt nicht an und damit auch kein erfolgreicher eMailversand.
Jarod
hi,
auch alle empty($_POST["senden"] (dreimal) hatte ich entsprechend durch empty($_POST["sub"] ersetzt, doch leider klappt das Skript dann immer noch nicht.
Natürlich nicht, weil du es ja immer noch falsch machst.
Magst du bitte erläutern, welche Verständnisprobleme du beim Erfassen des auf der von mir bereits verlinkten Seite Wie verarbeite ich <input type="image">? dargestellten Sachverhaltes jetzt immer noch hast, die dich daran hindern, es endlich richtig zu machen?
gruß,
wahsaga
hi,
auch alle empty($_POST["senden"] (dreimal) hatte ich entsprechend durch empty($_POST["sub"] ersetzt, doch leider klappt das Skript dann immer noch nicht.
Natürlich nicht, weil du es ja immer noch falsch machst.
Magst du bitte erläutern, welche Verständnisprobleme du beim Erfassen des auf der von mir bereits verlinkten Seite Wie verarbeite ich <input type="image">? dargestellten Sachverhaltes jetzt immer noch hast, die dich daran hindern, es endlich richtig zu machen?
gruß,
wahsaga
Mein Problem ist immer noch, das nach den Änderungen :
<input name="senden" type="submit" value="Senden" />
ersetzen durch
<input type="image" src="meinbild.png" name="sub" />
und der Anpassung der empty($_POST["senden"] zu empty($_POST["sub"] (insgesamt dreimal vorhanden)
ich zwar nun den Button mit der Grafiken drin habe und auch die Prüfung nach Pflichfelder funktioniert, aber es kommt nicht zur Absendung der eMail. Bei Klicken auf den Button (nachdem alle Pflichtfelder ordnungsgemäß eingetragen wurde) wird das Skript nicht korrekt ausgeführt.
Es hängt sich also irgendwo auf, denn die folgende Abfrage wird nicht angezeigt bzw. Email wird nicht abgeschickt :
<?php
echo'';
} else {
$eMail = '
Anrede:
'.$_POST['anrede'].'
Vorname:
'.$_POST['vorName'].'
Nachname:
'.$_POST['nachName'].'
E-Mail:
'.$_POST['eMail'].'
Betreff:
'.$_POST['betreff2'].'
Nachricht:
'.$_POST['nachricht'].'
Kopie der Nachricht:
'.$_POST['kopie'].'';
if (@mail("dein@mail.de",
"Neue Nachricht vom Kontaktformular",
$eMail)) {
echo "Ihre Nachricht wurde an den Webmaster verschickt, vielen Dank!<br />";
} else {
echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
}
if ($_POST['kopie']) {
if (@mail($_POST['eMail'],
"Hier die Kopie Ihrer Nachricht an den Webmaster.",
$eMail)) {
echo "Sie haben eine Kopie der Nachricht zugeschickt bekommen.<br />";
}
}
}
function isEmail($email) {
$nonascii = "\x80-\xff";
$nqtext = "[^\$nonascii\015\012"]";
$qchar = "\[^$nonascii]";
$protocol = "(?:mailto:)";
$normuser = "[a-zA-Z0-9][a-zA-Z0-9_.-]*";
$quotedstring = ""(?:$nqtext|$qchar)+"";
$user_part = "(?:$normuser|$quotedstring)";
$dom_mainpart = "[a-zA-Z0-9][a-zA-Z0-9._-]*.";
$dom_subpart = "(?:[a-zA-Z0-9][a-zA-Z0-9._-]*.)*";
$dom_tldpart = "[a-zA-Z]{2,5}";
$domain_part = "$dom_subpart$dom_mainpart$dom_tldpart";
$regex = "$protocol?$user_part@$domain_part";
if (preg_match("/^$regex$/",$email)) {
return true;
}
return false;
}
?>
Ich hab das Gefühl der Abschluss hängt in diesem Fall von "type="submit"" ab und der <form name="contact" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()">, aber leider bin ich wohl einfach Noob zuviel, um es zu verstehen.
Ich hab sogar schon versucht den Button mittels "class="buttongrafik"" und der entsprechenden Style (<style type="text/css"></style>)darstellen zu lassen. Das funktionierte auch, doch hier wird die Sache doppelt eingeblendet (Senden) , einmal durch den Button und einmal durch das Skript.
Ehrlich, ich will dich nerven, aber so stellt sich der Sachverhalt bei mir zur Zeit einfach da. Ich bemühe mich so wirklich, das ordnetlich hinzubekommen, aber das opitmale Ergebnis ist einfach nicht dabei. Alles scheint sich immer an type="submit" zu liegen, nimmt man es herraus wird das Skript nicht richtig abgeschlossen, lässt man es drin hat man leider auch den automatischen Auswurf von "Senden" als Schriftzug.
Jarod
hi,
Das hab ich ja schon versucht ging nicht. *schnief*
Vermutlich möchtest du uns damit mitteilen, dass dein PHP-Script die übergebenen Werte nicht verarbeiten konnte.
Also möchtest du dir ein Taschentuch nehmen, und nach Benutzung dessen zur Entfernung des enttäuschungsbedingten Rotzes an deiner Nase, Wie verarbeite ich <input type="image">? lesen ...
gruß,
wahsaga