Kontaktformular von Werner Zenk

PHP, CSS und JavaScript lernen. Anwendungen für Webseiten
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

Oh Mann Oh Mann :eek: :angst:

Aber eigentlich sollte er jetzt das so stehen haben und das ist richtig:

Code: Alles auswählen

// Dateien hochladen
// Verzeichnis
$Verzeichnis = "uploads"; // Benötigt Schreibrechte!
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Werner-Zenk.de »

Ich habe das erstellte Formular getestet und es funktioniert, wenn ich nachträglich das Verzeichnis "uploads" wieder lösche, dann bekomme ich die gleiche Fehlermeldung präsentiert.
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

Werner,

ich habe nur einmal dieses Upload vom Generator ausprobiert hier:

https://www.mobirise-tutorials.com/Form ... ontakt.php

Da habe ich diese Notiz stehen. Ich habe das dort auch in:

Code: Alles auswählen

"https://www."
geändert:

Code: Alles auswählen

// Datei hochladen - EDIT Tommy - Variable $Files angepasst, 
// damit ein korrekter Link zur Datei gesendet wird. 
// Noch die Unterverzeichnisse hinzugefügt: /Formular/Formular-Upload

$Files .= "https://www." . $_SERVER["SERVER_NAME"] . "/Formular/Formular-Upload/" . $Verzeichnis . "/" . $Filename . ", ";
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Werner-Zenk.de »

Da braucht doch nur "uploads" dort zu stehen und nicht irgendwelche Experimente!
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

... also sein Formular funktioniert nicht mit dem Upload:

https://www.meinlangengrassau.de/kontakt.html
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Werner-Zenk.de »

Meinen vorherigen Kommentar nicht gelesen, wenn ich das Verzeichnis "uploads" lösche bekomme ich die gleiche Fehlermeldung angezeigt!

Entweder existiert das Verzeichnis nicht oder wie Volker geschrieben hat, das eine URL in $Verzeichnis = ""; steht ...
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

ach Gott - jetzt meine ich den Fehler zu wissen.

Er hat das Verzichnis "uploads" im Root angelegt, das Formular liegt aber im Verzeichnis "Kontaktformular" :eek:
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

@ Reinhard,

das das Kontakformular von Dir im Iframe geframt ist und im Verzeichnis "Kontaktformular" liegt, musst Du dann auch das Verzeichnis "uploads" in diesem Verzeichnis "Kontaktformular" anlegen.
Benutzeravatar
struggle
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 438
Registriert: So 4. Dez 2022, 11:55
Wohnort: Brandenburg

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von struggle »

So, ich habe das Formular noch mal neu erstellt:

Code: Alles auswählen

<!DOCTYPE html>
<html lang="de">
 <head>
  <meta charset="UTF-8">
  <title></title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- Den Dateipfad zu Bootstrap eventuell anpassen! -->
  <link rel="stylesheet" href="bootstrap.min.css">

    <style>
  
  body, textarea {
   font-family: Verdana, Sans-Serif;
   font-size: 1rem;
  }

  span.pflichtfeld {
   font-size: 0.90rem;
   color: yellow;
  }

  span.hilfetext {
   font-family: Arial, Tahoma, Sans-Serif;
   font-size: 0.80rem;
   font-style: Oblique;
   color: #ffffff;
  }
  
  label {
    color: white;
  }
  
  small {
    color: yellow;
  }  

  </style>



 </head>
<body>

<?php
/*
   Aktion: Formulardaten als E-Mail versenden.
   Formular - PHP 5.4+, Zeichenkodierung: UTF-8

   Erstellt mit dem Formular Generator (21.12.2023) - 
   https://www.mobirise-tutorials.com/Formular-Generator/

   Bitte testen Sie das Formular ausführlich und
   beachten Sie die Hinweise im Quelltext!
*/

// PHP Fehlermeldungen (1 um das Formular zu testen) anzeigen.
error_reporting(1); // (0/1)

// Weiterleitung - Nach dem absenden des Formulars,
// gelangt der Benutzer über einen Link auf folgende Seite:
$Weiterleitung = "https://www.meinlangengrassau.de/kontakt.html"; // Relativer Pfad, ausgehend vom Formular.

// Floodsperre - Innerhalb der Zeitspanne kann das Formular
// vom selben Benutzer nicht mehrmals gesendet werden.
$Floodsperrzeit = 60; // Sperrzeit in Sekunden

// Datei in der die IP und die Zeit gespeichert werden sollen.
$Flooddatei = "floodsperre.txt"; // Die Datei benötigt Schreibrechte!
// Herunterladen: https://werner-zenk.de/tools/scripts/fileload.php?datei=floodsperre.txt

// Dateien hochladen
// Verzeichnis
$Verzeichnis = "uploads"; // Benötigt Schreibrechte!

// Die Größe (einer einzelnen) Datei die maximal
// hoch geladen werden darf (in Bytes eintragen).
$Maxgroesse = 2097152; // 1024 Bytes = 1 KB (1048576 Bytes = 1 MB) 
// Umrechner: https://werner-zenk.de/tools/umrechner.php

// Anzahl der maximalen Dateien die hoch geladen werden dürfen.
$Maxdateien = 1;

// Angabe des Datentypen (Mimetypen) der hoch geladen werden darf.
// Mimetypen: https://werner-zenk.de/php/mimetypen.php
$Datentyp = array(
"png" => "image/png",
"jpg" => "image/jpeg",
"jpg" => "image/pjpeg",
"jpeg" => "image/jpeg",
"gif" => "image/gif",
);

// Ausgabe der Datentypen und Dateigröße formatieren
$Dtype = implode(", ", array_unique(array_keys($Datentyp)));
$Dsize = ($Maxgroesse >= 1048576) ? number_format(($Maxgroesse / 1024 / 1024), 1, ",", ".") .
 " MB" : number_format(($Maxgroesse / 1024), 1, ",", ".") . " KB";

$name = isset($_POST["name"]) ? htmlspecialchars(trim($_POST["name"])) : ""; // Name
$email = isset($_POST["email"]) ? htmlspecialchars(trim($_POST["email"])) : ""; // E-Mail
$telefon = isset($_POST["telefon"]) ? htmlspecialchars(trim($_POST["telefon"])) : ""; // Telefon
$betreff = isset($_POST["betreff"]) ? htmlspecialchars(trim($_POST["betreff"])) : ""; // Betreff
$nachricht = isset($_POST["nachricht"]) ? htmlspecialchars(trim($_POST["nachricht"])) : ""; // Nachricht
$KopieCk = isset($_POST["Kopie"]) ? " checked='checked'" : null; // E-Mail Kopie

// Floodsperre - IP und Zeit überprüfen
if (file_exists($Flooddatei) && is_readable($Flooddatei)) {
 foreach (file($Flooddatei) as $element) {
  list($Ip, $Zeit) = explode("|", $element);
  if ($Ip == $_SERVER["REMOTE_ADDR"]) {
   if ((floor((time() - $Zeit))) < $Floodsperrzeit) {
    // Meldung und Link ausgeben
    exit("<p>Ihre Nachricht wurde bereits versandt!<br>" .
    "<a href='" . $Weiterleitung . "'>Weiter</a></p>");
   }
  }
 }
}

// Benutzereingaben überprüfen
// Die Meldungen müssen hier eventuell angepasst werden.
$Fehler = ["File"=>"", "name"=>"", "email"=>"", "betreff"=>"", "nachricht"=>"", 
 "sicherheit"=>""];
if (isset($_POST["submit"])) {
 $Fehler["name"] = strlen($_POST["name"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
 $Fehler["name"] .= !preg_match("/[a-zäöüßáéíóú 0-9]/i", $_POST["name"]) ? " Geben Sie nur Buchstaben und Ziffern ein!" : "";
 $Fehler["email"] = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) === false ? " Geben Sie eine gültige E-Mail-Adresse ein!" : "";
 $Fehler["betreff"] = strlen($_POST["betreff"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
 $Fehler["betreff"] .= !preg_match("/^[a-zA-Z äöüßáéíóú]/i", $_POST["betreff"]) ? " Geben Sie nur Buchstaben und Leerzeichen ein!" : "";
 $Fehler["nachricht"] = strlen($_POST["nachricht"]) < 10 ? " Bitte füllen Sie dieses Feld aus (min. 10 Zeichen)!" : "";
 $Fehler["sicherheit"] = (md5($_POST["zip"]) != $_POST["zip2"]) ? "Die Sicherheitsabfrage ist leider falsch!" : "";

 // Datei hochladen
 $Files = "";
 $Filename = "";
 for ($I = 0; $I < count($_FILES["File"]["name"]); $I++) {
  if ($I > $Maxdateien) break;
  if ($_FILES["File"]["name"][$I] != "" && $_FILES["File"]["error"][$I] === UPLOAD_ERR_OK) {
   $Array = explode(".", basename($_FILES["File"]["name"][$I]));
   $Filename = substr(preg_replace("/[^a-z0-9_-]/", "", strtolower(strtr($Array[0], "äöüß", "aous"))), 0, 45);
   if (file_exists($Verzeichnis . "/" . $Filename . "." . strtolower(end($Array)))) {
    $Filename .=  "_" . rand(1, 9999);
   }
   $Filename .= "." . strtolower(end($Array));
   if (in_array($_FILES["File"]["type"][$I], $Datentyp)) {
    if ($_FILES["File"]["size"][$I] <= $Maxgroesse) {
     move_uploaded_file($_FILES["File"]["tmp_name"][$I], $Verzeichnis . "/" . $Filename);
     if (file_exists($Verzeichnis . "/" . $Filename)) {
     $Files .= "https://" . $_SERVER["SERVER_NAME"] . "/" . $Verzeichnis . "/" . $Filename . ", ";
     }
     else {
      $Fehler["File"] .= "<br>Beim hochladen der Datei &bdquo;" . $Filename . "&rdquo; ist leider ein Fehler aufgetreten!";
     }
    }
    else {
     $Fehler["File"] .= "<br>Die Datei &bdquo;" . $Filename . "&rdquo; ist leider zu groß!";
    }
   }
   else {
    $Fehler["File"] .= "<br>Die Datei &bdquo;" . $Filename . "&rdquo; hat ein ungültiges Dateiformat!";
   }
  }
 }
}

// Sicherheitsabfrage -  Buchstaben
$Zufall = range("a", "z"); shuffle($Zufall);
$Zufall = substr(implode("", $Zufall), rand(1, 22), 4);
$Ergebnis = md5($Zufall);
$Zufall = substr($Zufall, 0, 2) . "&nbsp;" . substr($Zufall, 2, 2);

// Formular erstellen
$Formular = "
<form action='" . $_SERVER["SCRIPT_NAME"] . "' method='post' enctype='multipart/form-data'>

<p>
 <label> Name:
<span class='pflichtfeld'>&#10034; " . $Fehler["name"] . "</span><br>
  <input type='text' name='name' value='" . $name . "' size='35' required='required' class='form-control' tabindex='1'>
 </label>
</p>

<p>
 <label> E-Mail:
<span class='pflichtfeld'>&#10034; " . $Fehler["email"] . "</span><br>
  <input type='text' name='email' value='" . $email . "' size='35' required='required' class='form-control' tabindex='2'>
 </label>
</p>

<p>
 <label> Telefon:
<br>
  <input type='text' name='telefon' value='" . $telefon . "' size='35' class='form-control' tabindex='3'>
 </label>
</p>

<p>
 <label> Betreff:
<span class='pflichtfeld'>&#10034; " . $Fehler["betreff"] . "</span><br>
  <input type='text' name='betreff' value='" . $betreff . "' size='35' required='required' class='form-control' tabindex='4'>
 </label>
</p>

<p>
 <label> Nachricht:
 <span class='pflichtfeld'>&#10034; " . $Fehler["nachricht"] . "</span><br>
 <textarea name='nachricht' cols='40' rows='8' required='required' class='form-control' tabindex='5'>" . $nachricht . "</textarea>
 </label>
</p>

<p>
 <label> Datei hoch laden: <br>
 <input type='file' name='File[]' size='20' multiple='multiple' tabindex='6'>
 </label>
 <br>
 <small>Dateiformat: " . $Dtype . " - Dateigröße max.: " . $Dsize . " </small>
</p>

<p>
 <label> Sicherheitsabfrage: 
 <span class='pflichtfeld'>&#10034; " . $Fehler["sicherheit"] . "</span><br>
 <em><big>" . $Zufall . "</big></em> = 
 <input type='text' name='zip' size='4' required='required' autocomplete='off'>
 </label>
 <input type='hidden' name='zip2' value='" . $Ergebnis . "'>
 <br><span class='hilfetext'> Buchstaben <b>ohne Leerzeichen</b> eintragen. </span><br>
</p>

<p>
 <br>
 <input type='submit' name='submit' value='Formular absenden' class='btn' tabindex='7'>
</p>

<p>
 <small>Bitte alle mit <span class='pflichtfeld'>&#10034;</span>
 markierten Felder ausfüllen.</small>
</p>

</form>
";

// Formular abgesendet
if (isset($_POST["submit"])) {

 // Sind keine Benutzer-Eingabefehler vorhanden
 if (implode("", $Fehler) == "") {

  // Floodsperre - IP und Zeit speichern
  if (file_exists($Flooddatei) && is_writeable($Flooddatei)) {
   $Array = array_slice(file($Flooddatei), -10);
   $Fh = fopen($Flooddatei, "w+");
   fputs($Fh, implode("", $Array) . $_SERVER["REMOTE_ADDR"] . "|" . time() . "|\n");
   fclose($Fh);
  }

  // Daten als E-Mail versenden (Vorschlag) - Bitte anpassen!

  // Zeitzone und das aktuelle Datum setzen
  // http://de3.php.net/manual/de/timezones.europe.php
  date_default_timezone_set("Europe/Berlin");
  $Datum = date("d.m.Y H:i");

  // Protokollieren
  $Ip = $_SERVER["REMOTE_ADDR"];

  // Empfänger E-Mail
  // Eine beim Provider registrierte E-Mail Adresse verwenden!
  $Mailto = "mail@example.com";

  // Inhalt der E-Mail setzen
  $Text = "   Gesendet am: $Datum Uhr
   Name: $name
   E-Mail: $email
   Telefon: $telefon
   Betreff: $betreff
   Nachricht: $nachricht

   IP: $Ip
   File: $Files
  ";

  // E-Mail versenden
  mb_language("de");
  mb_internal_encoding("UTF-8");
  $Betreff = mb_encode_mimeheader($betreff, "UTF-8", "Q");
  $Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($name, "UTF-8", "Q") .
   "<" . $Mailto . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n";

  if (mail($Mailto, $Betreff, $Text, $Kopfzeile)) {

   echo "<p>Vielen Dank, die Nachricht wurde versendet.</p>";
  }
  else {

   // Wenn die Daten nicht versendet werden konnten,
   // wird die E-Mail-Adresse für den direkten Kontakt eingeblendet.
   echo "<p>Beim Senden der Nachricht ist ein Fehler aufgetreten!<br>" . 
   "Bitte wenden Sie sich direkt an: <a href='mailto:" . $Mailto . "'>" . $Mailto . "</a></p>";
  }

  // E-Mail Kopie versenden (Vorschlag) - Bitte anpassen!

  // Diese Nachricht wird automatisch an die E-Mail-Adresse des Besuchers gesendet.

  // Name/Signatur
  $Signatur = "Reinhard Pischl";

  // Betreff
  $Betreff = "Kopie einer Nachricht";

  // Inhalt der E-Mail setzen
  $Text = "   Vielen Dank für Ihren Besuch bei ...
  Wir haben folgende Nachricht erhalten:

  Name: $name
  E-Mail: $email
  Telefon: $telefon
  Betreff: $betreff
  Nachricht: $nachricht

   Mit freundlichen Grüßen
    $Signatur  
   ";

  // E-Mail Kopie versenden
  mb_language("de");
  mb_internal_encoding("UTF-8");
  $Betreff = mb_encode_mimeheader($Betreff, "UTF-8", "Q");
  $Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($Signatur, "UTF-8", "Q") .
    "<" . $Mailto . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n";
  if (mail($email, $Betreff, $Text, $Kopfzeile)) {
   echo "<p>Sie erhalten eine Kopie der Nachricht an Ihre E-Mail-Adresse.</p>";
  }

  // Weiterleitung
  echo "<p><a href='" . $Weiterleitung . "' target='_top'>Weiter</a></p>";
 }
 else {

  // Formular und Benutzer-Eingabefehler ausgeben
  echo $Formular;
 }
}
else {

 // Formular ausgeben
 echo $Formular;
}
?>

</body>
</html>
Der Formularversand funktioniert, der Versand von Bildern leider noch immer nicht :confused:

Berechtigung ist auf 777 gestellt:
Berechtigung.PNG


.: EDIT Tommy :.

Bitte niemals Deine E-Mail Adresse irgendwo posten. Das kann fatale Folgen haben, wenn das von Spambots gescannt wird. Dann bekommst Du, wenn Du Pech hast, auch 1 Millionen Mails geschickt, nur um Deine Domain zu blockieren (wie ich).

Das hatte Dir Werner bereits geschrieben. Ich habe Deine E-Mail Adresse hier nun nochmals entfernt.
Gruss
Reinhard
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

Hast Du jetzt im Verzeichnis "Kontaktformular" das Verzeichnis "uploads" neu erstellt? Ich sehe es nicht!

Dort wo Deine Datei "kontakt.php" zu sehen ist, muss auch noch das Verzeichnis "uploads" angelegt werden.

Das Verzeichnis "uploads" (innerhalb vom Verzeichnis "Kontaktformular") muss diese Schreibrechte erhalten!!!




P.S.:

... ich kann ohnehin nicht verstehen wozu das Verzeichnis "Kontaktformular" überhaupt gut sein soll (aber jetzt lasse es so).
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

Na jetzt scheint es ja zu funktionieren.

Nun mache mal nach oben noch mehr Abstand oder noch einen schmalen Block dazwischen, sonst verschwindet Deine Überschrift "Kontaktformular" hinter der Navi.
Benutzeravatar
struggle
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 438
Registriert: So 4. Dez 2022, 11:55
Wohnort: Brandenburg

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von struggle »

Ich habe jetzt auf dem Server das Verzeichnis "uploads" in das Verzeichnis "Kontaktformular gelegt, wo sich auch die "kontakt.php befindet.

Nun klappt das mit dem Versand von Bildern :tu:

Ich empfange zwar das Bild, jedoch stimmt der Pfad nicht
meldung_webmail.PNG
meldung_webmail.PNG (3.67 KiB) 249 mal betrachtet
Das liegt wohl daran, daß ich "uploads" im Verzeichnis "Kontaktformular" zu liegen habe.

Ich gehe davon aus, daß ich wahrscheinlich nun doch auf dem Server die kontakt.php ohne in ein Verzeichnis einzubinden, zu liegen haben muss.

Oder vielleicht in der kontakt.php anstatt "uploads" den Pfad angeben.

Wenn ich richtig liege, as ist besser ?
Gruss
Reinhard
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

Das könntest Du hier im Skript anpassen. Der Link stimmt sonst nicht. Aber bitte nur, wenn Du Dir da recht sicher bist. Du musst dann auch das Unterverzeichnis "Kontaktformular" im Pfad mit dazu schreiben.

Ich hatte das gleiche Problem - ich hatte das oben bereits beschrieben:

Code: Alles auswählen

// Datei hochladen - EDIT Tommy - Variable $Files angepasst, 
// damit ein korrekter Link zur Datei gesendet wird. 
// Noch die Unterverzeichnisse hinzugefügt: /Formular/Formular-Upload

$Files .= "https://www." . $_SERVER["SERVER_NAME"] . "/Formular/Formular-Upload/" . $Verzeichnis . "/" . $Filename . ", ";

Also bei Dir sollte diese Zeile dann wahrscheinlich so aussehen:

Code: Alles auswählen

$Files .= "https://www." . $_SERVER["SERVER_NAME"] . "/Kontaktformular/" . $Verzeichnis . "/" . $Filename . ", ";
Benutzeravatar
struggle
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 438
Registriert: So 4. Dez 2022, 11:55
Wohnort: Brandenburg

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von struggle »

Ich habe doch besser auf dem Server aufgeräumt, kontakt.php ohne zusätzliches Verzeichnis. Jetzt klappt alles wunderbar !

Vielen Dank nochmal an alle Beteiligten, vor allem für die Geduld mit mir :winken:

@ Tommy

Warum hast Du so schöne große Felder ?
https://www.mobirise-tutorials.com/Form ... ontakt.php

Die will ich auch haben, oder liegt es daran, daß mein Formular im iframe liegt ?
Gruss
Reinhard
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

Na bestens.

Werner hat da die Option "Bootstrap verwenden" - auf drängeln meinerseits :D .


Bootstrap verwenden.jpg



Hake das mal an und gehe dann die 3 Seiten am "Formular Generator" durch. Auf der 3. Seite kannst Du das dann auch schon sehen.

Ich hatte das schon gesehen, dachte aber, dass ich Dich damit jetzt nicht auch noch quälen sollte :)

Dann hast Du oben im Formular-Code auch noch diesen generierten Link zur CSS-Datei von Bootstrap:

Code: Alles auswählen

<!-- Den Dateipfad zu Bootstrap eventuell anpassen! -->
<link rel="stylesheet" href="bootstrap.min.css">
Bootstrap ist u.a. eine Sammlung von fertigen CSS-Klassen, ein sogenanntes "Framework".

Bei Dir müsstest Du diesen Link dann zu Deiner bereits am Server befindlichen Bootstrap-CSS-Datei dann so anpassen:

Code: Alles auswählen

<!-- Den Dateipfad zu Bootstrap eventuell anpassen! -->
<link rel="stylesheet" href="../assets/bootstrap/css/bootstrap.min.css">
Ich habe dann noch einige andere Bootstrap-Klassen angebracht, wie z.B. am "Senden" Button.

Wenn Du das alles machen möchtest, dann erkläre ich Dir diese Feinheiten auf Nachfrage.
Benutzeravatar
struggle
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 438
Registriert: So 4. Dez 2022, 11:55
Wohnort: Brandenburg

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von struggle »

Tommy Herrmann hat geschrieben: Do 21. Dez 2023, 12:26
Dann hast Du oben im Formular-Code auch noch diesen generierten Link zur CSS-Datei von Bootstrap:

Code: Alles auswählen

<!-- Den Dateipfad zu Bootstrap eventuell anpassen! -->
<link rel="stylesheet" href="bootstrap.min.css">
Bootstrap hatte ich schon im Generator angeklickt, ist bei meiner kontakt.php bereits enthalten
Gruss
Reinhard
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

... durch "Bootstrap" ändert sich jetzt duie eine oder andere CSS-Anweisung etwas ...

https://www.meinlangengrassau.de/kontakt.html

... Du musst jetzt z.B. Deinem Style im Formular "kontakt.php" Deinen roten Hintergrund geben:

Schreibe das so noch in das Style Tag hinzu:

Code: Alles auswählen

body {
  background-color: #db6400;
}
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

Eigentlich wäre es auch viel besser mal auf diesen Iframe zu verzichten und das direkt einzubauen.

Hattest Du Dir mein Tutorial dazu mal angeguckt?

https://www.mobirise-tutorials.com/Formular-Generator/

Das ist echt nicht schwierig. Du bist jetzt mit dieser Materie schon so vertraut, das Du das auch schaffen solltest.

Mache das mal - das mit dem Iframe ist irgendwie nur so eine "Notlösung" :(
Benutzeravatar
struggle
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 438
Registriert: So 4. Dez 2022, 11:55
Wohnort: Brandenburg

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von struggle »

Das kriege ich hin, bestimmt!

Dein Tutorial dazu hatte ich immer und immer wieder gelesen. Ziemlich am Anfang nennst Du den iframe, wirklich! Erst weiter unten beschreibst Du die Vorgehensweise direkt im article-block.
Gruss
Reinhard
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5865
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Kontaktformular von Werner Zenk

Ungelesener Beitrag von Tommy Herrmann »

Merke:

... immer alles lesen :freunde: :D
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 107 Gäste