Problem mit Ausgabe in Echo

mR.fLopPy

Erfahrenes Mitglied
Hallo Leute!

Ich habe ein Kontaktformular erstellt und habe zu nächst ein paar Abfragen gemacht, welche den Sicherheitscode bzw. leere Felder abfangen. Ich habe das so gestaltet dass sämtliche "Errors" oben stehen damit es ein wenig überischtlicher ist.

Nun hab ich folgendes Problem, dass wenn alles passt normalerweise eine Bestätigung per Echo kommen soll, dass alles OK ist. Witzigerweise funktioniert das auch alles in meiner blanken PHP Datei wo das Gerüst der Webseite fehlt. Jedoch sobald ich den PHP Code in meine Seite integriere scheint er das Ende beim letzten Echo ab dem Anführungszeichen nicht mehr zu erkennen. Die logische Schlussfolgerung der komplette PHP Code ist in der Seite ersichtlich und das Abfangen von leeren Feldern funktioniert nicht mehr (die Captcha hab ich derzeit auskommentiert)

Hier mal der PHP Code auf den das Kontaktformular weiterleitet:

PHP:
<?php
// Abfrage ob der Sicherheitscode korrekt ist
/*
  if  ($_POST["secur"] != "4NF1" && $_POST["secur"] != "X73L" && $_POST["secur"] != "9JK2") {
  echo "Der Sicherheitscode war nicht korrekt!";
  }
  else {
*/
// Abfrage ob die Felder leer sind

	if ($_POST["sname"] == "" || $_POST["smail"] == "" || $_POST["message"] == "") {
		echo "Sie haben mindestens ein Pflichtfeld nicht ausgefüllt!";
	}
	else {

		$rmail = "newuser@localhost";
		$smail = $_POST["smail"];
		$abb = "[REQ] ";

// Abfrage der Anrede

		if ($_POST["title"] == "A1") {
			$title = "Herr";
		}
		else if ($_POST["title"] == "A2") {
			$title = "Frau";
		}
		else if ($_POST["title"] == "A3") {
			$title = "Firma";
		}
	
// Abfrage des Anliegens

		if ($_POST["subject"] == "F1") {
			$subject = " hat eine Frage zu einem Produkt!";
		}
		else if ($_POST["subject"] == "F2") {
			$subject = " hat eine Frage zur Explo Software!";
		}
		else if ($_POST["subject"] == "F3") {
			$subject = " möchte ein Angebot oder bestellen!";
			$abb = "[ORD] ";
		}
		else {
			$subject = " hat eine Frage!";
		}
	
		mail($rmail,$abb . $title . " " . $_POST["sname"] . $subject, $_POST["message"], "From:$smail");
		echo "<img src=\"http://www.tutorials.de/forum/images/send_mail.gif\" width=\"255\" height=\"15\" /><p>Vielen Dank f&uuml;r Ihre Nachricht! <br />Wir werden uns in K&uuml;rze bei Ihnen melden.</p>";
	}
?>

Falls der Code der HTML Datei relevant ist, bitte bescheid geben - dann wird dieser auch noch gepostet.

Ich hoffe ihr könnt mir weiter helfen.

Beste Grüße
floppy
 
Hi,

kannst Du mal zeigen, wie Du das in Deiner Seite einbindest und was dabei rauskommt (Browserquelltext oder Online-Beispiel)?

LG
 
Hier der komplette Browsercode:

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="verify-v1" content="bxuhXiv82LsA7lD3X62FX9lrcNY8tGAcm852dih7wms=" /> <!-- GOOGLE WEBMASTER TOOLS -->
<title>Explo - Zündtechnik</title>
<link href="css/layout.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
<script src="scripts/AC_RunActiveContent.js" type="text/javascript"></script>
</head>
  <body>
    <div id="wrapper" class="clearfix">

  	  <div id="header"><script src="scripts/IntroFlash2.js" type="text/javascript"></script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="750" height="190" title="Flash Intro">
          <param name="movie" value="flash/0267.swf" />
          <param name="quality" value="high" />
          <embed src="flash/0267_intro.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="750" height="190"></embed>
        </object>
  	  </noscript></div>
      <div id="navigation"><div class="Spacer">&nbsp;</div>
      <div class="Home"><a href="index2.html"><img src="bilder/home.jpg" alt="Home" /></a></div>
      <div class="Produkte"><a href="produkte.html"><img src="bilder/produkte.jpg" alt="Produkte" /></a></div>
      <div class="Termine"><a href="termine.html"><img src="bilder/termine.jpg" alt="Termine" /></a></div>
      <div class="PcSoftware"><a href="software.html"><img src="bilder/software.jpg" alt="Software" /></a></div>
      <div class="Kontakt"><a href="kontakt.html"><img src="bilder/kontakt.jpg" alt="Kontakt" /></a></div>
      <div class="PieceOfIntro"></div>

      <!-- <div class="Sprache">EN/DE</div> -->
    </div>
  <div id="content">
    <div class="divFade"></div>
    <div class="divSpacer">
      <div class="divSpacerText">Kontakt</div>
    </div>
    <div class="divMain">

      <div class="Box">
        <div class="Pfeil"></div>
        <div class="Header"><h2>Kontaktformular wurde gesendet!</h2></div>
        <div class="Text">
        <?php
// Abfrage ob der Sicherheitscode korrekt ist
/*
  if  ($_POST["secur"] != "4NF1" && $_POST["secur"] != "X73L" && $_POST["secur"] != "9JK2") {
  echo "Der Sicherheitscode war nicht korrekt!";
  }
  else {
*/
// Abfrage ob die Felder leer sind

	if ($_POST["sname"] == "" || $_POST["smail"] == "" || $_POST["message"] == "") {
		echo "Sie haben mindestens ein Pflichtfeld nicht ausgefüllt!";
	}
	else {

		$rmail = "newuser@localhost";
		$smail = $_POST["smail"];
		$abb = "[REQ] ";

// Abfrage der Anrede

		if ($_POST["title"] == "A1") {
			$title = "Herr";
		}
		else if ($_POST["title"] == "A2") {
			$title = "Frau";
		}
		else if ($_POST["title"] == "A3") {
			$title = "Firma";
		}
	
// Abfrage des Anliegens

		if ($_POST["subject"] == "F1") {
			$subject = " hat eine Frage zu einem Produkt!";
		}
		else if ($_POST["subject"] == "F2") {
			$subject = " hat eine Frage zur Explo Software!";
		}
		else if ($_POST["subject"] == "F3") {
			$subject = " möchte ein Angebot oder bestellen!";
			$abb = "[ORD] ";
		}
		else {
			$subject = " hat eine Frage!";
		}
	
		mail($rmail,$abb . $title . " " . $_POST["sname"] . $subject, $_POST["message"], "From:$smail");
		echo "<img src=\"images/send_mail.gif\" width=\"255\" height=\"15\" /><p>Vielen Dank f&uuml;r Ihre Nachricht! <br />Wir werden uns in K&uuml;rze bei Ihnen melden.</p>";
	}
?>
        </div>
      </div>

    </div>
  </div>
  <div id="infobox">
    <div class="divTop">
      <div class="Anmelden"><a href="login.php" target="_self">Anmelden</a></div>
      <div class="Sitemap"><a href="sitemap.html" target="_self">Sitemap</a></div>
      <div class="InfoMaterial"><a href="infomaterial.html" target="_self">Info Material</a></div>

    </div>
      <div class="divInfo">
      </div>
    </div>
    <div id="footer">
      <div class="Copyright">Copyright &copy; 1998 - 2009 xxx - Alle Rechte vorbehalten</div>
      <div class="Impressum"><a class="NoStyle" href="impressum.html" target="_self">Impressum</a></div>

    </div>
    </div>
  <script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-7485562-1");
pageTracker._trackPageview();
</script>
 <!-- GOOGLE ANALYTICS -->
  </body>
</html>

Mit einem Onlinebeispiel kann ich leider zZ nicht dienen aber hier ist ein Screenshot, wenn man auf den Absenden-Button drückt im Formular und dabei keine Daten in die Pflichtfelder geschrieben wurden.

http://img362.imageshack.us/img362/1658/fotov.png

Danke für die rasche Antw.!
 
Hallo!

Witzigerweise funktioniert das auch alles in meiner blanken PHP Datei wo das Gerüst der Webseite fehlt.
Der PHP-Code funktioniert also schonmal prinzipiell.

Jedoch sobald ich den PHP Code in meine Seite integriere scheint er das Ende beim letzten Echo ab dem Anführungszeichen nicht mehr zu erkennen.
Dein Browser-Quelltext zeigt aber dass der komplette PHP-Code nicht verarbeitet wird..... und nicht bloss erst ab dem letzten Echo.

Die logische Schlussfolgerung der komplette PHP Code ist in der Seite ersichtlich und das Abfangen von leeren Feldern funktioniert nicht mehr (die Captcha hab ich derzeit auskommentiert)
Hat die Seite mit dem HTML-Code wo Du den PHP-Code einbindest denn die richtige Dateiendung? (muss nicht zwangsweise *.php sein)

Gruss Dr Dau
 
Moin,

Und wie bindest Du das in Deine Seite ein?

Hat die Seite mit dem HTML-Code wo Du den PHP-Code einbindest denn die richtige Dateiendung? (muss nicht zwangsweise *.php sein)

ich habe frischen Kaffeesatz und wage mal zu orakeln, dass die Seite genauso aussieht, wie der Browserquelltext, die Endung ".html" hat, der Server aber nicht so konfiguriert ist, dass HTML-Dateien durch PHP geparst werden.

LG
 
Also ich habe ganz stupide eine bestehende html Seite herangezogen und diese mit der Dateiendung ".php" betitelt. Es sieht so aus als würde er versuchen den <p>...</p>-TAG als HTML zu interpretieren und ignoriert somit meinen PHP Code.

...

Okay, ich bin so ****. Ist das ärgerlich. Man sollte ab einer gewissen Uhrzeit wirklich nicht mehr coden. Ich habe meinen Fehler entdeckt und es lag daran, dass sich die Datei nicht im htdocs Ordner befand. Ich danke euch jedenfalls für eure rasche Antwort! Man fühlt sich bei euch nachwievor gut aufgehoben ;)

Grüße und schönen Tag noch!
 
Zurück