mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 05:50 Benutzername: Passwort: Auto-Login

Thema: Php Fehler? vom 16.09.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Php Fehler?
Autor Nachricht
kramsen
Threadersteller

Dabei seit: 06.12.2008
Ort: im Anschnitt
Alter: -
Geschlecht: Männlich
Verfasst Mi 16.09.2009 07:36
Titel

Php Fehler?

Antworten mit Zitat Zum Seitenanfang

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>&nbsp;</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>&nbsp;</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? Lächel
  View user's profile Private Nachricht senden
jot

Dabei seit: 23.02.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 16.09.2009 13:20
Titel

Antworten mit Zitat Zum Seitenanfang

Nochmal, was willst du ändern?
Eingabeformular, oder das Aussehen der Mail.
MfG
  View user's profile Private Nachricht senden
Anzeige
Anzeige
ellodron

Dabei seit: 13.09.2007
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Fr 23.10.2009 15:19
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
<tr><td nowrap align=right>Name des Releases:</td><td>&nbsp;</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.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
timg

Dabei seit: 02.03.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 27.10.2009 17:46
Titel

Antworten mit Zitat Zum Seitenanfang

das skript ist übrigens gruselig *Huch*
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 27.10.2009 21:41
Titel

Antworten mit Zitat Zum Seitenanfang

Wirf's weg!

http://swiftmailer.org/
  View user's profile Private Nachricht senden
 
Ähnliche Themen AS3 > AS2: Wo ist der Fehler?
W3C Fehler
JS-Fehler im IE7 ...
php fehler
css fehler ie
PHP Fehler
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


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.