Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
kramsen
Threadersteller
Dabei seit: 06.12.2008
Ort: im Anschnitt
Alter: -
Geschlecht:
|
Verfasst Mi 16.09.2009 07:36
Titel Php Fehler? |
|
|
Hallo,
Ich erstelle gerade meine Homepage und habe ein vorgefertigtes php-Kontaktformular genutzt, das sieht folgendermaßen aus:
Code: |
<html>
<head>
<title>Kontaktformular</title>
<meta name="title" content="Kontaktformular">
<meta name="description" content="Kontaktformular">
<meta name="keywords" content="Kontakt">
<meta name="author" content="">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h1>Kontakt</h1><br>
<?php
// *** Einstellungen ***
$mail_to = 'ihre@mailadresse.tld'; // Ihre Mailadresse (Empfängeradresse)
// #############################################################################
$from_name=GetParam('fromname');
$from_mail=strtolower(GetParam('frommail'));
$mail_subject=GetParam('mailsubject');
$mail_text=GetParam('mailtext');
$send=GetParam('s');
$err_text='';
if(trim($from_name)=='') $err_text.='Bitte geben Sie Ihren Namen an.<br>';
if(trim($from_mail)=='')
$err_text.='Bitte geben Sie Ihre E-Mail-Adresse an.<br>';
else
if(!ereg('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$',$from_mail))
$err_text.='Bitte geben Sie eine gültige E-Mail-Adresse an.<br>';
if(trim($mail_subject)=='') $err_text.='Bitte geben Sie einen Betreff ein.<br>';
if(trim($mail_text)=='') $err_text.='Bitte geben Sie einen Nachrichtentext ein.<br>';
// *** Zu langen Text abschneiden ***
if(strlen($mail_text)>1000) {
$mail_text=substr($mail_text,0,1000).'... (Text wurde gekürzt!)';
}
$from_name=str_replace(chr(34),"''",$from_name);
$mail_subject=str_replace(chr(34),"''",$mail_subject);
$from_name=stripslashes($from_name);
$from_mail=stripslashes($from_mail);
$mail_subject=stripslashes($mail_subject);
$mail_text=stripslashes($mail_text);
if (($send == '1') && ($err_text != '')) {
echo '<p><big><b>Fehler:</b></big><br>';
echo $err_text.'</p>';
}
if (($send != '1') || ($err_text != '')) {
?>
<form action="<?=GetParam('PHP_SELF','S')?>" method="post">
<table border=0 cellspacing=2 cellpadding=0 width=100%>
<tr><td nowrap align=right>Ihr Name:</td><td> </td>
<td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?=$from_name?>"></td></tr>
<tr><td nowrap align=right>Ihre E-Mail-Adresse:</td><td></td>
<td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?=$from_mail?>"></td></tr>
<tr><td nowrap align=right>Betreff:</td><td></td>
<td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?=$mail_subject?>"></td></tr>
<tr><td nowrap align=right valign=top>Text:<br><i>(max. 1.000 Zeichen)</i></td><td></td>
<td width=100%><textarea cols=40 rows=10 name="mailtext"><?=$mail_text?></textarea></td></tr>
<tr><td></td><td></td><td>
<input type="hidden" value="1" name="s">
<input type="submit" value="Nachricht versenden" name="submit">
</td></tr>
</table>
</form>
<?php
} else {
$header="From: $from_name <$from_mail>\n";
$header.="Reply-To: $from_mail\n";
$header.="X-Mailer: PHP-ContactForm-Script\n";
$header.="Content-Type: text/plain";
$mail_date=gmdate('D, d M Y H:i:s').' +0000';
$send=0;
if(@mail($mail_to,$mail_subject,$mail_text,$header))
{
echo "<p><b>Die Nachricht wurde erfolgreich abgesendet.</b></p>";
echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
}else{
echo "<p><b>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</b></p>";
echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
}
}
function GetParam($ParamName, $Method = 'P', $DefaultValue = '') {
if ($Method == 'P') {
if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
} else if ($Method == 'G') {
if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
} else if ($Method == 'S') {
if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
}
}
?>
</body>
</html>
|
Alles klappt soweit wunderbar und die Mail kommt an. Nun möchte ich die Eingabemöglichkeiten ändern, mache das aber ich kann diese irgendwie nicht in die Mail integrieren. Es sieht folgendermaßen aus:
Code: |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Release eintragen</title>
<link href="style.css" rel="stylesheet" type="text/css">
<meta name="title" content="Release eintragen">
<meta name="description" content="Release eintragen">
<meta name="keywords" content="Release, Release.de.vu">
<meta name="author" content="release.de.vu">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
// *** Einstellungen ***
$mail_to = 'yardchecker@web.de'; // Ihre Mailadresse (Empfängeradresse)
// #############################################################################
$from_name=GetParam('fromname');
$from_mail=strtolower(GetParam('frommail'));
$mail_subject=GetParam('mailsubject');
$mail_text=GetParam('mailtext');
$send=GetParam('s');
$err_text='';
// *** Zu langen Text abschneiden ***
if(strlen($mail_text)>1000) {
$mail_text=substr($mail_text,0,1000).'... (Text wurde gekürzt!)';
}
$from_name=str_replace(chr(34),"''",$from_name);
$mail_subject=str_replace(chr(34),"''",$mail_subject);
$from_name=stripslashes($from_name);
$from_mail=stripslashes($from_mail);
$mail_subject=stripslashes($mail_subject);
$mail_text=stripslashes($mail_text);
if (($send == '1') && ($err_text != '')) {
echo '<p><big><b>Fehler:</b></big><br>';
echo $err_text.'</p>';
}
if (($send != '1') || ($err_text != '')) {
?>
<form action="<?=GetParam('PHP_SELF','S')?>" method="post">
<table border=0 cellspacing=2 cellpadding=0 width=100%>
<tr><td nowrap align=right>Name des Releases:</td><td> </td>
<td width=100%><input type="text" name="from_name" size=35 maxlength=120 value="<?=$from_name?>"></td></tr>
<tr><td nowrap align=right>Artist/Artists:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td nowrap align=right>Releasedate:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td nowrap align=right>Label/Firma:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td nowrap align=right valign=top>Tracklist:<br></td><td></td>
<td width=100%><textarea cols=35 rows=15 name="mail_text"><?=$mail_text?></textarea></td></tr>
<tr><td nowrap align=right>Link zum Download:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td nowrap align=right>Link zum Cover:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td nowrap align=right>Bemerkungen:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td></td><td></td><td>
<input type="hidden" value="1" name="s">
<input type="submit" value="Release eintragen" name="submit">
</td></tr>
</table>
</form>
<?php
} else {
$header="From: $from_name <$from_mail>\n";
$header.="Reply-To: $from_mail\n";
$header.="X-Mailer: PHP-ContactForm-Script\n";
$header.="Content-Type: text/plain";
$mail_date=gmdate('D, d M Y H:i:s').' +0000';
$send=0;
if(@mail($mail_to,$mail_subject,$mail_text,$header))
{
echo "<p><b>Die Nachricht wurde erfolgreich abgesendet.</b></p>";
echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
}else{
echo "<p><b>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</b></p>";
echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
}
}
function GetParam($ParamName, $Method = 'P', $DefaultValue = '') {
if ($Method == 'P') {
if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
} else if ($Method == 'G') {
if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
} else if ($Method == 'S') {
if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
}
}
?>
</body>
</html>
|
Ich habe leider kein Auge für Php und suche vergeblich die Stelle an der ich mein neues "Mailaussehen" erweitern kann. Mit dem zuletzt genannten code kommen nur 3 Angaben an: from_mail, from_name und mailt_text...
Wer kann mir helfen?
|
|
|
|
|
jot
Dabei seit: 23.02.2009
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 16.09.2009 13:20
Titel
|
|
|
Nochmal, was willst du ändern?
Eingabeformular, oder das Aussehen der Mail.
MfG
|
|
|
|
|
Anzeige
|
|
|
ellodron
Dabei seit: 13.09.2007
Ort: -
Alter: 41
Geschlecht:
|
Verfasst Fr 23.10.2009 15:19
Titel
|
|
|
Zitat: | <tr><td nowrap align=right>Name des Releases:</td><td> </td>
<td width=100%><input type="text" name="from_name" size=35 maxlength=120 value="<?=$from_name?>"></td></tr>
<tr><td nowrap align=right>Artist/Artists:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td nowrap align=right>Releasedate:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td nowrap align=right>Label/Firma:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td nowrap align=right valign=top>Tracklist:<br></td><td></td>
<td width=100%><textarea cols=35 rows=15 name="mail_text"><?=$mail_text?></textarea></td></tr>
<tr><td nowrap align=right>Link zum Download:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td nowrap align=right>Link zum Cover:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td nowrap align=right>Bemerkungen:</td><td></td>
<td width=100%><input type="text" name="mail_text" size=35 maxlength=120 value="<?=$mail_text?>"></td></tr>
<tr><td></td><td></td><td>
<input type="hidden" value="1" name="s">
<input type="submit" value="Release eintragen" name="submit"> |
Das wolltest du in das Kontaktformular einfuegen oder?
Also den Eingabefelder musst du in php eine Variable zuweisen:
Variable fuer php:
Zitat: | $from_name=GetParam('from_name'); |
Das from_name ist der uebergebene Wert aus dem Eingabefeld.
Das Eingabefeld muss als Namen einen eindeutigen Bezeichner bekommen, der gleiche der in GetParam() uebergeben wird.
Zitat: | <td width=100%><input type="text" name="from_name"size=35 maxlength=120 value="<?=$from_name?>"></td></tr> |
Als value Wert solltest du auch die php variable einsetzen dann werden auch die Eingaben gespeichert und bei einem Fehler werden dieTextfelder dann wieder mit dem Wert gefuellt.
Also in deinem Fall mal ein Bsp. fuer dein Feld Releasedate:
php Variable:
Zitat: | $mail_releaseDate=GetParam(mail_releaseDate); |
und das Textfeld wie folg aendern:
Zitat: | <tr><td nowrap align=right>Releasedate:</td><td></td>
<td width=100%><input type="text" name="mail_releaseDate" size=35 maxlength=120 value="<?=$mail_releaseDate?>"></td></tr> |
Zu guter letzt musst du jetzt die Eingaben in die Mail einfuegen, dazu haeng ich es mal mit an den Text der mail
Zitat: | $mail_text=GetParam('mail_text').GetParam('mail_releaseDate'); |
Das geht natuerlich auch schoener aber ich hoffe das es dir hilft.
|
|
|
|
|
timg
Dabei seit: 02.03.2009
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 27.10.2009 17:46
Titel
|
|
|
das skript ist übrigens gruselig
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
|
|
|
|
|
|
|
Ähnliche Themen |
AS3 > AS2: Wo ist der Fehler?
W3C Fehler
JS-Fehler im IE7 ...
php fehler
css fehler ie
PHP Fehler
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|