1.3k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von coros Experte (4k Punkte)
Hallo an alle!

Ich bräuchte mal Eure Unterstützung. Ich habe nachfolgenden php-Code, der nach Ausfüllen eines Formulars an den, der das Formular ausgefüllt hat, eine Mail versendet. Nun möchte ich in der Zeile

Verwendungszweck: Text _$_POST[Name]_09_02_02013

anstelle des statischen Textes „09_02_02013“ das aktuelle Datum. Dabei sollen wie im statischen Text der Tag, der Monat und das Jahr durch einen Unterstrich getrennt sein.

Kann mir jemand schreiben, wie ich das realisieren kann? Danke Euch.

Achja, hier noch der php-Code:

<?php
define ('MAILTO', "mail@mail.de"); //
define ('MAILFROM', "Bestellformular"); //
define ('CHARSET', "ISO-8859-15"); //
$Pflichtfelder = array('Name', 'E_Mail', 'Strasse', 'Ort', 'Bestaetigung'); //

$usernachricht = "Text-Text-Text-Text!

Verwendungszweck: Text_$_POST[Name]_09_02_02013

Text-Text-Text-Text-Text-Text
Text-Text-Text-Text-Text-Text

=============================================================================
Rechtlicher Hinweis:
Aus Rechts- und Sicherheitsgründen ist die in dieser E-Mail gegebene Information nicht
rechtsverbindlich. Eine rechtsverbindliche Bestätigung reiche ich Ihnen gerne auf Anforderung in
schriftlicher Form nach. Beachten Sie bitte, daß jede Form der unautorisierten Nutzung,
Veröffentlichung, Vervielfältigung oder Weitergabe des Inhalts dieser E-Mail nicht gestattet ist. Diese
Nachricht und der eventuelle Dateianhang ist ausschließlich für den bezeichneten Adressaten oder
dessen Vertreter bestimmt. Sollten Sie nicht der vorgesehene Adressat dieser E-Mail oder dessen
Vertreter sein, so bitten wir Sie, sich mit dem Absender der E-Mail in Verbindung zu setzen.
----------------------------------------------------------------------------------------------------------------------------------------
For legal and security reasons the information provided in this e-mail is not legally binding. Upon
request we would be pleased to provide you with a legally binding confirmation in written form. Any
form of unauthorised use, publication, reproduction, copying or disclosure of the content of this e-mail
is not permitted. This message is exclusively for the person addressed or their representative. If you
are not the intended recipient of this message and its contents, please notify the sender immediately.
=============================================================================";


$AddHeader = 'Content-Type: text/plain; charset='.CHARSET;
if(MAILFROM) $AddHeader .= chr(13).chr(10).'From: '.MAILFROM;

if($Formular_abgeschickt = !empty($_POST)) {
$Formular_leer = true; set_magic_quotes_runtime(0);
$_POST = array_map('Formular_Daten', $_POST);
}
function Formular_Daten($val) {
global $Formular_leer;
if(is_array($val)) return array_map('Formular_Daten', $val);
if(get_magic_quotes_gpc()) $val = stripslashes($val);
if($val = trim($val)) $Formular_leer = false;
return $val;
}

function Formular_Pflichtfelder() {
global $Pflichtfelder;
$Fehler = '';
foreach ($Pflichtfelder as $Feld) {
$key = str_replace(' ','_',$Feld);
if(!(isset($_POST[$key]) && trim($_POST[$key]))) {
if($Fehler) $Fehler .= '<br />';
$Fehler .= 'Pflichtfeld "' . $Feld . '" nicht ausgefüllt.';
}
}
return $Fehler;
}

function Formular_neu($log='.htPOSTdata.txt') {
if(file_exists($log) && is_readable($log)
&& file_get_contents($log) == print_r($_POST,true))
return false;
if($handle=@fopen($log, 'w')) {
fwrite($handle, print_r($_POST,true)); fclose($handle);
}
return true;
}

function Formular_Check() {
global $Formular_leer;
if($Formular_leer) $Fehler = 'Keine oder nicht alle Daten vollständig eingetragen.';
elseif(!$Fehler = Formular_Pflichtfelder()) {
if(!Formular_neu()) $Fehler = 'Bestellung wurde bereits versandt.';
}
return $Fehler;
}

function Formular_Eingabe($Feldname, $def='') {
if(!empty($_POST[$Feldname])) echo htmlspecialchars($_POST[$Feldname]);
else echo $def;
}
?>


MfG
Oliver

2 Antworten

0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo coros,

die folgende Zeile legt das Datum in der von Dir gewünschten Form in eine Variable:

$datum= date(d."_".m."_0".Y);

Wenn die zusätzliche 0 vor der Jahreszahl in Deinem Beispiel nur ein Tippfehler war, kannst Du die Null in der Zeile einfach weglassen.

Gruß
computerschrat
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Moin Reinhard!

Danke Dir für die Hilfe. Genauso hatte ich mir das gedacht.

Schönes Restwochenende noch
Oliver
...