Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » PHP Kontakt Seite = weiße Seite    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
phpnoobneu
Mitglied
Neuling


Dabei seit: 27.09.2020
Herkunft: keine Angabe
Posts: 9
     PHP Kontakt Seite = weiße Seite Zitat | Bearbeiten

Hallo,

ich kommt mit meiner Kontakt Seite nicht weiter.
Ich bekomme immer nur eine weiße Seite.

Kann mir jemand sagen was hier falsch ist?

contact.php
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
<?php

if(!$_POST) exit;

// Email verification, do not edit.
function isEmail($email_contact ) {
    return(
preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email_contact ));
}

if (!
defined("PHP_EOL")) define("PHP_EOL""\r\n");

$Name     $_POST['Name'];
$Firma    $_POST['Firma'];
$Email    $_POST['Email'];
$Telefon   $_POST['Telefon'];
$Nachricht $_POST['Nachricht'];

if(
trim($Name) == '') {
    echo 
'<div class="error_message">You must enter your Name.</div>';
    exit();
} else if(
trim($Firma ) == '') {
    echo 
'<div class="error_message">You must enter your Last name.</div>';
    exit();
} else if(
trim($Email) == '') {
    echo 
'<div class="error_message">Please enter a valid email address.</div>';
    exit();
} else if(!
isEmail($Email)) {
    echo 
'<div class="error_message">You have enter an invalid e-mail address, try again.</div>';
    exit();
    } else if(
trim($Telefon) == '') {
    echo 
'<div class="error_message">Please enter a valid phone number.</div>';
    exit();
} else if(!
is_numeric($Telefon)) {
    echo 
'<div class="error_message">Phone number can only contain numbers.</div>';
    exit();
} else if(
trim($Nachricht) == '') {
    echo 
'<div class="error_message">Please enter your message.</div>';
    exit();


if(
get_magic_quotes_gpc()) {
    
$Nachricht stripslashes($Nachricht);
}


$address "info@sXXX.de";
$e_subject 'Neue Anfrage von by ' $Name '. Seite: ssss';
$e_body $Name $Firma hat eine Frage: " PHP_EOL PHP_EOL;
$e_content "\"$Nachricht\"" PHP_EOL PHP_EOL;
$e_reply "Name: $Firma Email Adresse: $Email Telefonnummer: $Telefon";

$msg wordwrap$e_body $e_content $e_reply70 );

$headers "From: $EmailPHP_EOL;
$headers .= "Reply-To: $EmailPHP_EOL;
$headers .= "MIME-Version: 1.0" PHP_EOL;
$headers .= "Content-type: text/plain; charset=utf-8" PHP_EOL;
$headers .= "Content-Transfer-Encoding: quoted-printable" PHP_EOL;

$user "$Email";
$usersubject "Vielen Dank";
$userheaders "Von: info@XXXX.de\n";
$usermessage "Thank you for contact - We will reply shortly!";
mail($user,$usersubject,$usermessage,$userheaders);

if(
mail($address$e_subject$msg$headers)) {

    
// Success message
    
echo "<div id='success_page' style='padding:20px 20px 20px 0'>";
    echo 
"<strong >Nachricht verschickt.</strong>";
    echo 
"Vielen Dank <strong>$Name</strong>,<br> Wir bearbeiten Ihre Nachricht so schnell wie m&ouml;glich.";
    echo 
"</div>";
}
} else {

    
 }

?>


und die haupt php
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
<div class="contact">
    <div class="row">
        <div class="tablet col large-8 giant-7 rhythm">
            <form class="default" data-ajax="false" data-validate="true" id="Kontaktformular2" method="post" action="../../assets/contact.php" enctype="multipart/form-data">
                <div class="row">
                    <div class="col">
                        <div class="h2">
                            Haben Sie Fragen?
                            <span>Wir haben die Antworten.</span>
                        </div>
                    </div>
                    <div class="col large-11">
                        <div class="row">
                            <div class="col small-6">
                                <label for="Name">Name <small>(Pflichtfeld)</small></label>
                                <input type="text" id="Name" name="Name" required placeholder="Ihr Vor- und Zuname" data-msg-required="Bitte Vor- und Zuname angeben">
                            </div>
                            <div class="col small-6">
                                <label for="Firma">Firma</label>
                                <input type="text" id="Firma" name="Firma" placeholder="Ihre Firma" data-msg-required="Bitte Firmennamen angeben">
                            </div>
                            <div class="col small-6">
                                <label for="Telefon">Telefon </label>
                                <input type="tel" id="Telefon" name="Telefon" placeholder="Ihre Telefonnummer">
                            </div>
                            <div class="col small-6">
                                <label for="Email">E-Mail <small>(Pflichtfeld)</small></label>
                                <input type="email" id="Email" name="Email" required placeholder="Ihre E-Mail Adresse" data-msg-email="Die E-Mail-Adresse ist ungültig" data-msg-required="Bitte E-Mail-Adresse angeben" data-rule-email="true">
                            </div>
                            <div class="col">
                                <label for="Nachricht">Nachricht <small>(Pflichtfeld)</small></label>
                                <textarea id="Nachricht" name="Nachricht" rows="4" cols="10" required placeholder="Ihre Nachricht" data-msg-required="Bitte hinterlassen Sie eine Nachricht"></textarea>
                            </div>
                            <div class="col medium-6 medium-last">
                                <div>
                                    <input type="checkbox" id="Zustimmung" name="Zustimmung" value="einverstanden" data-msg-required="Bitte der Übermittlung zustimmen" required>
                                    <label for="Zustimmung">
                                        Die <a href="datenschutzerklaerung.html" title="Unsere Datenschutzerklärung">Datenschutzerklärung</a> habe ich gelesen und akzeptiert.
                                        <small>(Pflichtfeld)</small>
                                    </label>
                                </div>
                            </div>
                            <div class="col medium-6">
                                <button type="submit" name="Submit" class="button no-fa">
                                    <i class="fa-default fa-paper-plane"></i>
                                    Anfrage senden
                                </button>
                            </div>

                        </div>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>





Post wurde schon 1x editiert, das letzte mal am 24.05.2022 um 20:21 von phpnoobneu
24.05.2022, 15:52 Profil | PM | E-Mail  
basti1012
Mitglied
Gruenling


Dabei seit: 27.02.2018
Herkunft: keine Angabe
Posts: 25
      Zitat | Bearbeiten

Ohne es zu testen, würde ich deine Else if aus Zeile 74 und 77 nach Zeile 39 verschieben.

BZW nur das else aus 74 nach 39

Ich glaube, dann sollte es gehen. Weil so ist das ganze E-Mail verschicken in den Else if von der abfrage drinnen, ob deine Nachricht Feld Leer ist


Ich mach keine Rechtschreibfehler - ich schreib Freestyle!
Erreichbar in mein Javascript-Forum und in Facebook-Chat

Post wurde schon 1x editiert, das letzte mal am 27.05.2022 um 11:13 von basti1012
27.05.2022, 11:12 Profil | PM | E-Mail  
Htaccess
Mitglied
Sehr guter User


Dabei seit: 22.08.2010
Herkunft: Deutschland
Posts: 736
      Zitat | Bearbeiten

Das Problem ist die fehlende } in Zeile 39. Die ist sehr wahrscheinlich nach Zeile 73 gewandert / gerutscht.

Das bedeutet dein E-Mail senden kann nie ausgeführt werden, da trim($nachricht) !== '' ist. Das ist der erste Punkt.

Der zweite Punkt ist, du verwendest zweimal die mail() Funktion. Einmal in Zeile 64 und in Zeile 66 (in der if-Bedingung). Das wird die E-Mail zweimal versenden. Und der ganze else {} Block ist unnötig, da keine sonst-Bedingung existiert. Das kannst du also entfernen.




Post wurde schon 1x editiert, das letzte mal am 28.05.2022 um 13:17 von Htaccess
28.05.2022, 13:17 Profil | PM | E-Mail  
Htaccess
Mitglied
Sehr guter User


Dabei seit: 22.08.2010
Herkunft: Deutschland
Posts: 736
      Zitat | Bearbeiten

Hier ein Beispiel, wie ich es auf die schnelle lösen würde:

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
<?php

declare(strict_types=1);

$errors = [];

if (! 
$_POST ) {
    exit;
}

foreach ( 
$_POST as $key => $val ) {
    
$_POST[$key] = strip_tags(trim($val));

    if (empty(
$_POST[$key])) {
        
$errors[] = $key;
    }
}

if (! 
filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    
$errors[] = 'email';
}

if (empty(
$errors)) {
    
$myEmail 'xxx@mydomain.com';
    
$subject 'New request from ' $_POST['name'] . PHP_EOL;

    
$message $_POST['name'] . ' from the company ' $_POST['company'] . ' has following question: ' PHP_EOL PHP_EOL;
    
$message .= $_POST['message'] . PHP_EOL PHP_EOL;
    
$message .= 'Name: ' $_POST['name'] . ' E-Mail: ' $_POST['email'] . ' Telephone: ' $_POST['phone'] . PHP_EOL;


    
$headers 'From: ' $_POST['email'] . PHP_EOL;
    
$headers .= 'Reply-To: ' $_POST['email'] . PHP_EOL;
    
$headers .= 'MIME-Version: 1.0' PHP_EOL;
    
$headers .= 'Content-type: text/plain; charset=utf-8' PHP_EOL;
    
$headers .= 'Content-Transfer-Encoding: quoted-printable' PHP_EOL;

    
$reply_subject 'Thank you for your request!' PHP_EOL;
    
$reply_message 'Thank you for requesting us - We will reply shortly!' PHP_EOL;

    
$reply_headers 'From: no-reply@mydomain.com' PHP_EOL;
    
$reply_headers .= 'Reply-To: no-reply@mydomain.com' PHP_EOL;
    
$reply_headers .= 'MIME-Version: 1.0' PHP_EOL;
    
$reply_headers .= 'Content-type: text/plain; charset=utf-8' PHP_EOL;
    
$reply_headers .= 'Content-Transfer-Encoding: quoted-printable' PHP_EOL;

    if (! 
mail($myEmail$subject$message$headers)
        || 
mail($_POST['email'], $reply_subject$message$reply_headers)
    ) {
        
// Error Message
        
exit;
    }

    
// Success Message
}


Hinweis: Zum lernen okay. Für den Produktiven Einsatz nicht zu gebrauchen. Da sollte eher auf PHPMailer oder vergleichbares zurückgegriffen werden.




Post wurde schon 1x editiert, das letzte mal am 28.05.2022 um 13:54 von Htaccess
28.05.2022, 13:53 Profil | PM | E-Mail  
phpnoobneu
Mitglied
Neuling


Dabei seit: 27.09.2020
Herkunft: keine Angabe
Posts: 9
      Zitat | Bearbeiten

Danke! Geht nun wieder


28.05.2022, 23:13 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » PHP Kontakt Seite = weiße Seite   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz