Hier mein Code bereits geändert und läuft auch so in MB
Code: Alles auswählen
<?php
/*
* Registrierung - Anmeldescript mit Bestätigungslink
*/
include "konfig.php";
// Variablen setzen
$ausgabe = '';
$name = $_POST["name"] ?? '';
$email = $_POST["email"] ?? '';
$firma = $_POST["firma"] ?? '';
$anrede = $_POST["anrede"] ?? '';
$telefon = $_POST["telefon"] ?? '';
$strasse = $_POST["strasse"] ?? '';
$ort = $_POST["ort"] ?? '';
$paket = $_POST["paket"] ?? '';
$land = $_POST["land"] ?? '';
$fehleingaben = '';
$fehler = [
"name" => '',
"email" => '',
];
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Benutzername überprüfen ob dieser bereits vorhanden ist.
$select = $db->prepare("SELECT `name`, `email`
FROM `" . $TBL_NAME . "`
WHERE `name` = :name
OR `email` = :email");
$select->execute([':name' => $name,
':email' => $email]);
$benutzer = $select->fetch();
// Benutzereingaben überprüfen
$fehler["name"] = (strlen($name) < 5) ? '<br>Der Name ist zu kurz!' : '';
$fehler["name"] = ($select->rowCount() > 0 && $benutzer["name"] == $name) ? '<br>Der Name ist bereits vorhanden!' : $fehler["name"];
$fehler["email"] = (!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) ? '<br>Die E-Mail-Adresse ist fehlerhaft!' : '';
$fehler["email"] = ($select->rowCount() > 0 && $benutzer["email"] == $email) ? '<br>Die E-Mail-Adresse ist bereits vorhanden!' : $fehler["email"];
if (implode("", $fehler) != "") {
$fehleingaben = '<h3 class="markierung">✘ Bitte korrigieren Sie Ihre Eingaben!</h3>';
}
}
// Formular erstellen
$formular = $fehleingaben . '
<form action="register.php" method="post" accept-charset="UTF-8">
<p> </p>
<p><label>Firma:
<span class="markierung">✲ ' . $firma["firma"] . '</span> <br>
<input type="text" name="firma" value="' . $firma . '" size="35" required="required"></label>
</p>
<p><label>Anrede:
<select name="anrede">
<option>Frau</option>
<option>Herr</option>
<option>Sonstige</option>
</select>
</p>
<br> Ansprechpartner: </br>
<p><label>Vor- und Nachname:
<span class="markierung">✲ ' . $fehler["name"] . '</span> <br>
<input type="text" name="name" value="' . $name . '" size="35" required="required"></label>
</p>
<p><label>E-Mail:
<span class="markierung">✲ ' . $fehler["email"] . '</span> <br>
<input type="email" name="email" value="' . $email . '" size="35" required="required"></label>
</p>
<p><label>Straße & Hausnummer:
<span class="markierung">✲ ' . $strasse["firma"] . '</span> <br>
<input type="text" name="strasse" value="' . $strasse . '" size="35" required="required"></label>
</p>
<p><label>PLZ Ort:
<span class="markierung">✲ ' . $ort["firma"] . '</span> <br>
<input type="text" name="ort" value="' . $ort . '" size="35" required="required"></label>
<label>Land:
<select name="land">
<option>Deutschland</option>
<option>Österreich</option>
<option>Schweiz</option>
<option>Sonstige</option>
</select>
</p>
<p><label>Telefon:
<span class="markierung">✲ ' . $telefon["firma"] . '</span> <br>
<input type="text" name="telefon" value="' . $telefon . '" size="35" required="required"></label>
</p>
<p><label>Paketauswahl:
<select name="paket">
<option>Kein Paket</option>
<option>Business</option>
<option>Premium</option>
<option>Ultimate</option>
</select>
</p>
<a href="https://360p.eu/datenschutz.html" target="_self">Datenschutzhinweise
gelesen
<input type="checkbox" name="checkbox"required="required" value="checkbox">
</a>
<p><input type="submit" value="Absenden"></p>
</form>
';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (implode("", $fehler) == "") {
// Zeitstempel erzeugen
$zeitstempel = time();
// Benutzer in die DB eintragen
$insert = $db->prepare("INSERT INTO `" . $TBL_NAME . "`
SET
`name` = :name,
`email` = :email,
`register` = '" . $zeitstempel . "',
`datum` = NOW()");
if ($insert->execute([':name' => $name,
':email' => $email])) {
// E-Mail an den Benutzer
$NACHRICHT = strtr($MAILTEXT, ["{:HOMEPAGE:}" => $HOMEPAGE_NAME,
"{:DATUM:}" => date("d.m.Y \u\m H:i", $zeitstempel) . " Uhr",
"{:REGISTER:}" => $PFAD . "/register_ok.php?uid=" . $zeitstempel,
"{:FREISCHALTTAGE:}" => $FREISCHALTTAGE]);
// E-Mail versenden
mb_internal_encoding("UTF-8");
$BETREFF = mb_encode_mimeheader($BETREFF, "UTF-8", "Q");
$KOPFZEILE = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($EMAILNAME, "UTF-8", "Q") .
"<" . $EMAIL . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n";
if (mail($email, $BETREFF, $NACHRICHT, $KOPFZEILE)) {
// Nachricht ausgeben
$ausgabe = '<h2>Vielen Dank für die Registrierung!</h2>
<p>✔ Sie erhalten über E-Mail einen Link den Sie innerhalb von <strong>' . $FREISCHALTTAGE . ' Tagen</strong>
anklicken müssen, dann ist die Registrierung abgeschlossen.</p>';
// E-Mail an den Admin. versenden (Betreff und Nachricht bitte anpassen)
mb_internal_encoding("UTF-8");
$betreff = mb_encode_mimeheader("Neue Registrierung", "UTF-8", "Q"); // Betreff
$kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($name, "UTF-8", "Q") .
"<" . $email . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n";
mail($EMAIL, $betreff, "Es wurde eine neue Registrierung eingetragen. \n
Firma: $firma\n Anrede: $anrede \n Name : $name \n Strasse : $strasse \n Ort: $ort \n Telefon: $telefon \n Paket: $paket \n Land: $land" , $kopfzeile); // Nachricht
}
}
}
else {
// Eingabefehler und Formular anzeigen
$ausgabe = $formular;
}
}
else {
// Formular anzeigen
$ausgabe = $formular;
}
?>
<h2>Registrierung</h2>
<?=$ausgabe;?>
Ich habe den PHP Teil oberhalb des Form Tags eingefügt
dann die Form vom Formularbuilder gelassen und
danach den weiteren PHP Teil eingefügt.
Der Haken ist ja grün, kann aber trotzdem nicht speichern.