Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Bitte dringende Hilfe“

streichelweich

Noch nicht viel geschrieben

Hallo Leute ... :)

ich bräuchte mal dringend Eure Hilfe zu 3 Dingen -

1*)bei einer Abfrage in PHP.

Hab ein Formular in dem ein Anreisedatum mittels 3 Felder ermittelt wird.... Pulldown-Menü - Tag Monat und Jahr und ein Abreisedatum (wie Anreisedatum)

Die Abfrage soll sein, dass dieses Anreisedatum größer als das aktuelle Tagesdatum der Anfrage sein soll - und das Abreisedatum größer als das Anreisedatum.

Irgendwie hab ich keine Ahnung wie ich das machen soll :rolleyes:

2*)der Angefragte soll natürlich die Daten aus dem Formular als Mail bekommen - der Kunde soll seine Daten und einen zusätzlichen Text in seiner Mail bekommen

Frage ... wie teile ich diese beiden Mails auf??

3*) die Ausgabe in der Mail der Formulardaten sollte so aussehen
Feldname: (rechtsbünding und fett) Feldwert (linksbündig neben dem Doppelpunkt und NICHT fett)

Code:
<?php
  $formularAnzeigen = false;
  if (!empty($_POST["senden"]) && (
      empty($_POST["vorname"]))) {
    $formularAnzeigen = true;
    echo '<span style="color: #FF0000; font-size: x-large;">Bitte geben Sie Ihren Vornamen an.</span>';
  } else if (!empty($_POST["senden"]) && (
      empty($_POST["nachname"]))) {
    $formularAnzeigen = true;
    echo '<span style="color: #FF0000; font-size: x-large;">Bitte geben Sie Ihren Nachnamen an.</span>';
  } else if (!empty($_POST["senden"]) && (
      empty($_POST["telefon"]))) {
    $formularAnzeigen = true;
    echo '<span style="color: #FF0000; font-size: x-large;">Bitte geben Sie Ihre Telefonnummer an.</span>';
  } else if (!empty($_POST["senden"]) && (
      empty($_POST["ankunftsort"]))) {
    $formularAnzeigen = true;
    echo '<span style="color: #FF0000; font-size: x-large;">Bitte nennen Sie uns Ihren Ankunftsort.</span>';
  } else if (!empty($_POST["senden"]) && (
      empty($_POST["abreiseort"]))) {
    $formularAnzeigen = true;
    echo '<span style="color: #FF0000; font-size: x-large;">Bitte nennen Sie uns den Abreisort.</span>';
  } else if (!empty($_POST["senden"]) && (
      !$captchaValidierungOk)) {
    $formularAnzeigen = true;
    echo '<span style="color: #FF0000; font-size: x-large;">Bitte geben Sie den Sicherheitscode richtig ein.</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) {
?>        

Hier steckt das Formular drinnen


<?php  
echo'  ';
} else {
    $eMail = '

Lieber Reiseinteressent,

vielen Dank für Ihre Anfrage über unsere Website.
Wir freuen uns, dass Sie Verbindung mit uns aufgenommen haben
und werden Ihre Anfrage in kürzester Zeit beantworten.

Mit freundlichen Grüßen
Ihr Kwenda Safari Team

Ihre Anfrage haben wir wie folgt aufgenommen:

Anrede: '.$_POST['anrede'].'

Vorname: '.$_POST['vorname'].'  

Name: '.$_POST['nachname'].'

eMail: '.$_POST['eMail'].'

Telefon: '.$_POST['telefon'].'

Interesse an: '.$_POST['rover'].' . '.$_POST['safari'].' . '.$_POST['offroad'].'

Anzahl der Reisenden: '.$_POST['anzahl'].'

davon unter 18: '.$_POST['unter'].'

Ankunft am: '.$_POST['tag'].' '.$_POST['monat'].' '.$_POST['jahr'].'

Ankunftsort: '.$_POST['ankunftsort'].'

Abreise am: '.$_POST['tag2'].' '.$_POST['monat2'].' '.$_POST['jahr2'].'

Abreiseort: '.$_POST['abreiseort'].'

Fragen und Hinweise: '.$_POST['kommentar'].'

';

    if (@mail("mail@mail.de", 
        "Firma - Internet Anfrage",
        $eMail)) {
    echo "Vielen Dank für Ihre Anfrage. Ihre Mail wurde erfolgreich verschickt.<br /> <br />";
    } else {
    echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />";
    }
    if ($_POST['kopie']) {
        if (@mail($_POST['eMail'],
            "Firma - Internet Anfrage - Kopie Ihrer Daten",
            $eMail)) {
        echo "Eine Kopie Ihrer Anfrage erhalten Sie an die von Ihnen angegebene eMail-Adresse.<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;
    }
?>
Das Formular funktioniert zwar so wie es hier ist - aber es werden diese Zusäzte eben noch gebraucht :'(

Bitte bitte helft mir :) DANKE
 

sokie

Mod | Web

AW: Bitte dringende Hilfe

zum Datums vergleich:
mit time() kannst du dir die timestamp vom jetzigen zeitpunkt ausgeben lassen.
aus den drei werten aus dem formular kannst du mit mktime() auch eine timestamp für das Datum ausgeben lassen.Diese Werte kannst du dann einfach vergleichen.
(dasselbe gilt natürlich für den Abreisetag.)
PHP: mktime - Manual
 

streichelweich

Noch nicht viel geschrieben

AW: Bitte dringende Hilfe

hallo sokie :)

könntest du mir das bitte zeigen, hab grad nen ziemlichen durchhänger und ein brett vor dem kopf :'(
BITTE DANKE

Was mir grade auffällt bei dem php-manual mktime - dieses Ankunftsdatum setzt sich aus den Felder Tag (01 - 31) Monat (Januar - Dezember) und Jahr (2008 oder 2009) zusammen.
 
Zuletzt bearbeitet:

saila

Moderatorle

AW: Bitte dringende Hilfe

Hi,

möglicher Lösungsansatz:

PHP:
<?php
/* Anreisetag-Timestamp */

if( isset ( $_POST['and'] ) AND isset( $_POST['anm'] ) AND isset( $_POST['any'] ) ) {
    $anreisetag = mktime( 0 , 0 , 0 , $_POST['anm'] , $_POST['and'] , $_POST['any'] );
}

/* Abreisetag - Timestamp */
if( isset ( $_POST['abd'] ) AND isset( $_POST['abm'] ) AND isset( $_POST['aby'] ) ) {
    $abreisetag = mktime( 0 , 0 , 0 , $_POST['abm'] , $_POST['abd'] , $_POST['aby'] );
}

/* Nun Vergleichen ob Anreise früher ist als Abreise und nicht umgekehrt */

if( $abreisetag < $anreisetag ) {
    echo 'Geht nicht, Anreise ist nach der Abreise';
}
else {
    /* hier die E-Mail dann versenden */
    /* Wenn du nun das Anreise und Abreisedatum wieder verwenden möchtest, */
    /* kann du folgendes angeben: */
    echo 'Anreisedatum: '. date( 'd.m.Y' , $anreisetag );
    echo 'Abreisedatum: '. date( 'd.m.Y' , $abreisetag );

}
?>

Der Vorteil durch den Timestam liegt zum einen in der besseren Speicherung bzgl. Datenbank (performant) und in der Flexibilität zur Datumsberechnung oder für Vergleiche.
 

streichelweich

Noch nicht viel geschrieben

AW: Bitte dringende Hilfe

Hallo Ihr :)

leider bin ich immer noch nicht weiter .... hab das von Saila (DANKE übrigens) versucht - aber ich bekomm die Formulardaten leider nicht übernommen :'(

und es soll schon so sein, dass die erste Abfrage eben ist, dass das ANreisedatum größer sein muss als das aktuelle Tagesdatum und dann erst die ANreise- ABreisedatums-Abfrage.

Eigentlich stell ich mich normal net so an... aber dermal hab ich echt das Gefühl neben mir zu stehen.

lg
Tina
 

sokie

Mod | Web

AW: Bitte dringende Hilfe

für Deine Formulardaten hiesse das zB:
Code:
<?php
//zeitpunkt beim Aufrufen des Scripts: JETZT
$jetzt = time();

if( isset($_POST['tag']) && isset($_POST['monat']) && isset($_POST['jahr']) ) {
    $anreisetag = mktime(0 , 0 , 0 , $_POST['monat'] , $_POST['tag'] , $_POST['jahr']);
} 

//abfragen, ob anreisetag grösser als jetzt ist:
if ( $anreisetag < $jetzt ){
  echo "das Anreisedatum liegt in der Vergangenheit!";
}
 

saila

Moderatorle

AW: Bitte dringende Hilfe

ergänze obige if/else mit folgendem:

PHP:
elseif( $anreisetag <= time() ) {
    echo ' Anreisetag liegt bereits in der Vergangenheit oder ist heute - was nicht möglich ist.';
}

Hiermit wird der Anreisetag mit dem aktuellen Tag verglichen.
 

streichelweich

Noch nicht viel geschrieben

AW: Bitte dringende Hilfe

Ganz lieben DANK ;)

es funktioniert !! Was noch nicht funktioniert - aber das ist ein schönheitsfehler - ist die Tatsache, dass die Fehlermeldungen im IE in einem kleinen MSG-Fenster gezeigt werden (bis jetzt auf diese beiden Meldungen) und die sollten auch noch ins MSG-Fenster :rolleyes:

sprich $anreisetag und $abreisetag sollten jetzt in die "Felder" ant und abt :rolleyes:

DANKE nochmal :)
 

saila

Moderatorle

AW: Bitte dringende Hilfe

Ganz lieben DANK ;)

es funktioniert !! Was noch nicht funktioniert - aber das ist ein schönheitsfehler - ist die Tatsache, dass die Fehlermeldungen im IE in einem kleinen MSG-Fenster gezeigt werden (bis jetzt auf diese beiden Meldungen) und die sollten auch noch ins MSG-Fenster :rolleyes:

sprich $anreisetag und $abreisetag sollten jetzt in die "Felder" ant und abt :rolleyes:

DANKE nochmal :)

Ähm - wenn ich dich jetzt richtig verstehe kommst du mit den Angaben ant und abt nicht klar?
ant = Tag (Anreise)
abt = Tag2 (Abreise)

bezogen auf dein Formular (select-tag)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
174.484
Beiträge
2.578.032
Mitglieder
65.981
Neuestes Mitglied
bruns
Oben