Datenschutz Impressum

NOF-Schule | Forum

zur Schule NOF-NetObjects-Tutorials von Tommy Herrmann

Die Foren sind geschlossen. Für Fragen zu MR, NOF & mehr steht Tommys Forum zur Verfügung. Ich danke für die langjährige Treue und Mitarbeit! Eure Administratorin.

Formular Webbausteine zerstört den Banner
#1
Moin
Ich bins mal wieder.
Ich habe auf meiner Testseite das Kontaktformular von Webbausteine (neu)
eingebaut. Es funktioniert soweit auch. Nur die Weiterleitung auf die Startseite macht er nicht.
das skript sieht so aus:
Code:
<?php
/*
   Formular - Zeichenkodierung: ISO-8859-2
   Aktion: Formulardaten als E-Mail versenden.

   Erstellt mit dem Formular Generator (03.01.2015) -
   www.webbausteine.de/blog/tools/formulargenerator.php

   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 = "www.red-rock-runners.de";

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

// Benutzereingaben überprüfen
// Die Meldungen müssen eventuell angepasst werden.
$Fehler = array("name"=>"","email"=>"","telefon_nr"=>"","nachricht"=>"",);
if (isset($_POST["submit"])) {
$Fehler["name"] = strlen($_POST["name"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["name"] .= !preg_match("/^[a-zA-Z äöüßáéíóú]/i", $_POST["name"]) ? " Geben Sie nur Buchstaben und Leerzeichen ein!" : "";
$Fehler["email"] = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) === false ? " Geben Sie eine gültige E-Mail-Adresse ein!" : "";
$Fehler["telefon_nr"] = strlen($_POST["telefon_nr"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["telefon_nr"] .= !preg_match("/^[ 0-9\/-]{6,}+$/", $_POST["telefon_nr"]) ? " Die Telefonnummer ist fehlerhaft!" : "";
$Fehler["nachricht"] = strlen($_POST["nachricht"]) < 10 ? " Bitte füllen Sie dieses Feld aus (min. 10 Zeichen)!" : "";
$Fehler["nachricht"] .= strlen($_POST["nachricht"]) > 500 ? " Es sind maximal 500 Zeichen erlaubt!" : "";
}

// Formular erstellen
$Formular = "
<form name='Form' action='" . $_SERVER["SCRIPT_NAME"] . "' method='post'>

<p>
<label> Name:
<input type='text' name='name' value='" . $name . "' size='35' required='required' autofocus='autofocus'>
</label>
<span class='pflichtfeld'>✲ " . $Fehler["name"] . "</span>
<br><span class='hilfetext'> Vor. und Nachname </span>
</p>

<p>
<label> E-Mail:
<input type='email' name='email' value='" . $email . "' size='35' required='required'>
</label>
<span class='pflichtfeld'>✲ " . $Fehler["email"] . "</span>
</p>

<p>
<label> Telefon Nr:
<input type='tel' name='telefon_nr' value='" . $telefon_nr . "' size='50' required='required'>
</label>
<span class='pflichtfeld'>✲ " . $Fehler["telefon_nr"] . "</span>
<br><span class='hilfetext'> mit Vorwahl </span>
</p>

<p>
<label> Nachricht:
<span class='pflichtfeld'>✲ " . $Fehler["nachricht"] . "</span> <br>
  <small>Sie haben noch: <strong id='Zeichen3'>500</strong> Zeichen.</small><br>
<textarea name='nachricht' cols='50' rows='20' maxlength='500' required='required' onKeyUp='CheckLen3()'>" . $nachricht . "</textarea>
</label>
</p>

<p>
<label>
<input type='checkbox' name='Kopie'" . $KopieCk . ">
Eine Kopie dieser Nachricht an meine E-Mail Adresse
</label>
</p>

<p>
<br>
<input type='submit' name='submit' value='Formular absenden'>
</p>

<p>
<small>Bitte alle mit <span class='pflichtfeld'>✲</span>
markierten Felder ausfüllen.</small>
</p>

</form>

<script>CheckLen3();</script>
";

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

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

  // 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");

  // Empfänger E-Mail
  $Mailto = "hanspeter_klein@arcor.de";
  

  // Inhalt der E-Mail setzen
  $Text = "   Gesendet am: $Datum Uhr
   Name: $name
   E-Mail: $email
   Telefon Nr: $telefon_nr
   Nachricht: $nachricht
  ";

  // E-Mail versenden
  mb_internal_encoding("ISO-8859-2");
  $Betreff = mb_encode_mimeheader($betreff, "ISO-8859-2", "Q");
  $Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($name, "ISO-8859-2", "Q") .
   "<" . $email . ">" . "\nContent-Type: text/plain; Charset=ISO-8859-2;\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!
  if (isset($_POST["Kopie"])) {

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

   // Name/Signatur
   $Signatur = "";

   // 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 Nr: $telefon_nr
   Nachricht: $nachricht

   Mit freundlichen Grüßen
    $Signatur  
   ";

   // E-Mail Kopie versenden
   $Betreff = mb_encode_mimeheader($Betreff, "ISO-8859-2", "Q");
   $Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($Signatur, "ISO-8859-2", "Q") .
    "<" . $Mailto . ">" . "\nContent-Type: text/plain; Charset=ISO-8859-2;\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;
}
?>
Online hier
Das gleiche habe ich auch auf der Page: "red-rock-runners" gemacht (ist nicht online)
Doch da zerschießt es mir den Header und Footer.

.png  Zerschossener_Banner.PNG (Größe: 624,3 KB / Downloads: 53)

Habe die Assets überprüft, neu optimiert. Die Seite "Kontakt" steht auf "php"
und auf "default Master Border"
Wenn ich sie Lokal publiziere verabschiedet sich Nor13 und beim wieder öffnen kommt dann diese meldung:

.png  Instabil.PNG (Größe: 180,7 KB / Downloads: 43)

Was mache ich falsch bzw. was habe ich überlesen????
Danke und gruss hans peter
Alle Beiträge dieses Benutzers finden
#2
Gib mal bei der Variable "$Weiterleitung" das so ein:

Code:
$Weiterleitung = "http://www.red-rock-runners.de/";

... und hier wird im Skript der Link dann gesetzt:

Zitat:// Weiterleitung
echo "<p><a href='" . $Weiterleitung . "' target='_top'>Weiter</a></p>";


... und dieses Skript hast Du falsch eingebaut. Das gehört "Zwischen Head Tags" in die HTML des Layouts:

Zitat:<script>
// Tastatureingaben begrenzen
function CheckLen3() {
var begrenzung = 500;
var zeichen, StrLen = document.Form.nachricht.value.length;
if (StrLen > begrenzung) {
document.Form.nachricht.value = document.Form.nachricht.value.substring(0, begrenzung);
zeichen = 0;
}
else {
zeichen = begrenzung - StrLen;
}
document.getElementById("Zeichen3").innerHTML = zeichen;
}
</script>

... und in Zeile 154 hast Du das drin, was dort raus muss:

Zitat:</body>&nbsp;</p>

Die Fehlermeldung aus dem 2. Screenshot kann eigentlich damit nichts zu tun haben. Da hast Du einen Fehler im Master-Rahmen.

P.S.:

... und lokal kannst Du keine PHP-Seite publizieren, es sei denn Du hast einen lokalen Host installiert wie z.B. den LocalWebServer von SwissKnife oder auch XAMPP, denn lokal kann Dein PC sonst kein PHP verarbeiten.
Alle Beiträge dieses Benutzers finden
#3
Hallo Tommy
Danke für die schnelle Antwort. Wo in aller Welt hast Du das in der html gefunden.
Code:
</body>&nbsp;</p>
Ich kann es nicht finden.
gruss hans peter
Alle Beiträge dieses Benutzers finden
#4
... jetzt sieht Dein Quelltext ja auch schon anders aus Smiling

... und nun mache mal noch die doppelte (zweite) spitze Klammer vor dem "style" Tag weg. Die ist dort zu viel:

<<style>

.png  style-tag.PNG (Größe: 45,77 KB / Downloads: 59)
Alle Beiträge dieses Benutzers finden
#5
so, habe alles so gemacht. Das Ergebniss sieht dann so ausSad

.png  Weiterleitung.PNG (Größe: 18,85 KB / Downloads: 53)

Testseite hier
Kann es daran liegen, das die Weiterleitung auf eine andere Page führt als auf die Testpage????
gruss hans peter
Alle Beiträge dieses Benutzers finden
#6
Hi!

Kann es sein das du bei der Weiterleitungsadresse einen Seitennamen direkt angeben musst, und nicht nur den Domainnamen?
Alle Beiträge dieses Benutzers finden
#7
Moin
Keine Ahnung. Werde es mal ausprobieren
Hat auch nichts genutzt.
Alle Beiträge dieses Benutzers finden
#8
geht doch einwandfrei - habe gerade mal einen Test gemacht :confused:

.png  Weiterleitung.PNG (Größe: 943,83 KB / Downloads: 62)
Alle Beiträge dieses Benutzers finden
#9
Ich hab mir ein Formular von webbausteine geholt und das ausprobiert.

Da ist keine automatische Weiterleitung an eine beliebige Seite sondern eine manuell die über den "Weiter"-Link auf der Bestätigungsseite durch Mausklick ausgeführt wird.
Alle Beiträge dieses Benutzers finden
#10
... also ich habe ja das gleiche Formular bei mir im Einsatz:

http://www.nof-tutorials.com/Formular-Generator/

... und habe an dieser Stelle eine relative Pfadangabe

Code:
$Weiterleitung = "./Gesendet/gesendet.html";


http://www.tommyherrmanndesign.com/nof/Relative-Pfade/

eingesetzt - vielleicht solltest Du das mal versuchen.

Bei mir liegt also das Verzeichnis "Gesendet" im gleichen Verzeichnis wie die Seite "index.php" auf der das Formular liegt.
Alle Beiträge dieses Benutzers finden
#11
Hatte ich auch schon ausprobiert, beide Varianten der Pfadangabe funktionieren.
Alle Beiträge dieses Benutzers finden
#12
Hallo
Das Formular funzt ja auch. Nur mit der Weiterleitung ist etwas falsch???
Wenn ich nach dem Absenden des Fomulars anschließend auf weiter
klicke, macht er die Page nicht auf sondern dann steht in der Browserzeile
www.re....runners.de Warum auch immer???
gruss hans peter
Alle Beiträge dieses Benutzers finden
#13
Vielleicht weil es diese Seite/Adresse nicht gibt:
Code:
www.red-rock-runners.html

.jpg  Aufnahme1.jpg (Größe: 55,63 KB / Downloads: 35)
Alle Beiträge dieses Benutzers finden
#14
sorry, das war der vorherige versuch mit der endung "html" hat aber auch nichts genutzt. vorher war die endung "de" wie es ja auch sein soll.
dann hatte ich auch schon versucht mit der endung "de/" hat auch nicht gefunzt. Habe mir auch Tommys tut angesehen kann da keinen unterschied erkennen. Werde nachher mal das Tut von Tommy kopieren mit meinen Daten versehen und schauen was dann passiert.
Jetzt geh ich mir erstmal den Frust ablaufen:D:D
Alle Beiträge dieses Benutzers finden
#15
Du kannst auch nochmals den eingefügten Code (ohne deine email-Adresse) posten. Der obige stimmt ja mittlerweile nicht mehr.

In meinen gestrigen Tests mit dem gleichen Formular, hatte ich diese beiden Versionen probiert, beide funktioniereten einwandfrei:

.jpg  Aufnahme2.jpg (Größe: 207,97 KB / Downloads: 47)

.jpg  Aufnahme3.jpg (Größe: 217,79 KB / Downloads: 33)




Ich habe mir gerade das Tut vom Tommy angesehen und meiner Meinung nach ist das nicht das gleiche Formular, bzw. nicht der gleiche Formular-Code, den du und ich von Webbausteine erhalten haben.
Alle Beiträge dieses Benutzers finden


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Frage zum Formular Generator von Werner kfz-fotograf 7 1.342 16.01.2020, 22:45
Letzter Beitrag: kfz-fotograf
  Neuer Formular-Generator mit Bootstrap Tommy Herrmann 3 1.381 31.10.2019, 12:05
Letzter Beitrag: stobi_de
  Formular formatieren? stobi_de 11 1.976 23.10.2019, 05:30
Letzter Beitrag: Tommy Herrmann
  Formular Generator von Werner EinDet 30 5.398 27.01.2019, 22:14
Letzter Beitrag: EinDet
  Neuer Formular Generator Webbausteine augenblix 17 6.973 01.04.2018, 17:55
Letzter Beitrag: Werner123
  Nachrichten Komponente von webbausteine.de Agent-Smith 12 3.822 14.03.2017, 12:51
Letzter Beitrag: Tommy Herrmann
  Kontaktformular webbausteine-Zweiten E-Mail Empfänger eingeben Thomas Saake 11 8.327 10.08.2016, 15:13
Letzter Beitrag: Thomas Saake
  Formular an unterschiedliche voreingestellte Empfaenger barbara0701 2 2.050 09.06.2016, 14:55
Letzter Beitrag: barbara0701
  Webbausteine.de hat Seite eingestellt Tommy Herrmann 6 4.257 03.04.2016, 17:59
Letzter Beitrag: thenninger
  CSS-Bausteine - Webbausteine barbara0701 2 2.890 29.03.2016, 19:08
Letzter Beitrag: Hansi151



Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
nach oben An den Anfang der Seite scrollen
NetObjects Fusion Infos, Downloads und Updates Diese Website wird durch Bot-Trap vor Spam geschützt!