Shop-Hilfe.com
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 22.08.2005, 22:41   #1
TP-Insider
 
Benutzerbild von m.weed
 
Registriert seit: Aug 2002
Ort: Golling
m.weed macht sich hier sehr viel Mühe

PHP in HTML Seite einbinden -> Komisch


Hi Leute,
sorry, ich bin's schon wieder. Auch auf die Gefahr hin, lästig zu werden, muß ich Euch folgendes Problem schildern:

Also, ich möchte ein Formmail Script in eine bestehende HTML Seite einbinden und bin eigentlich auch (obwohl ich ja eigentlich ein totaler Blitzer bin in PHP) soweit gekommen, daß das Ding so funktioniert, wie es soll. Leider gibt es noch ein "Kosmetisches" Problem, welches ich bis jetzt noch nicht lösen konnte.

Wenn ich das Script mit
PHP-Code:
<?
include("seitenname.php");
?>
in eine HTML Seite einbaue, wird alles korrekt angezeigt, aber sobald das Mail versandt wurde, wird nur das "blanke" formail.php angezeigt und nicht die HTML(PHP) Seite, wo das formail eingebettet ist. Demo Link

Wenn ich das PHP Script (den Code) aber aber direkt in die HTML Seite an der Stelle einsetze, wo das Formular erscheinen soll, fehlt komischerweise im Contentbereich der Hintergrund (Tabellenzelle mit Hintergrundgrafik), aber alles andere funktioniert (Versandbestätigung, Fehlermeldung usw.) Demo Link

Vieleicht kann mir ja jemand 'nen stupser in die richtige Richtung geben, ich steh momentan voll auf den Schlauch.



Hier wäre der Code der formail.php :
PHP-Code:
<?php
 
if(get_magic_quotes_gpc()) {
    foreach(
$_POST as $postvar => $postval){ ${$postvar} = stripslashes($postval); } 
    foreach(
$_GET as $getvar => $getval){ ${$getvar} = stripslashes($getval); }
} else {
    foreach(
$_POST as $postvar => $postval){ ${$postvar} = $postval; } 
    foreach(
$_GET as $getvar => $getval){ ${$getvar} = $getval; }
}

$deinname 'Onkelmal';
$deinemail 'm_hoeher@gmx.net';



if (
$senden == "Email senden"){
if (
$text == ""){echo "<font face=\"verdana\"><center>Es fehlt der Nachrichtentext<br><br>";}elseif
   (
$email == ""){echo "<font face=\"verdana\"><center>Es fehlt die Emailadresse<br><br>";}else{

$textb ="$text \n\n
Absender:\n
Name: $name \n
Mail: $email\n\n"
;    


   
$header="From:$name<$email>\n";
mail($deinemail,$betreff,$textb,$header);

echo 
"<font face=\"verdana\"><center><br><br>Folgende Nachricht wurde erfolgreich an<br><br>
$deinname<br>$deinemail<br><br>
versendet:<br><br>
<em>$text</em><br><br>
Vielen Dank, wir werden uns bei Dir melden.<br><br>
<br><br>"
;
}
echo
"<a href=\"javascript:history.back()\">Hier geht's zur&uuml;ck</a></center></font>";
exit;
}
?>
<p><b><?php echo $subj?></b></p>
<p></p>
<p></p>
<p></p>
<p></p>
<form action="formail.php" method="post" name="mail">

<?php


echo  "<input type=\"hidden\" name=\"subj\" value=\"$subj\">";
?>

<table border="0"><tr>
<td>Ihr Name:          </td><td><input type="text" name="name"></td></tr><tr>
<td>Betreff:          </td><td><input type="text" name="betreff"></td></tr><tr>
<td colspan="2">Ihre Nachricht:<br>
<textarea name="text" cols="53" rows="8">
<?php echo $teleworderror ?>
</textarea></td></tr><tr>
<?php

echo '<td>';
echo 
'</td><td>';
echo
'</td></tr><tr><td>Ihre Emailadresse:</td><td>';

?>

<input type="text" name="email"></td></tr><tr><td colspan="2" align="center">
<input type="hidden" name="senden" value="Email senden">
<input width="140" name=SENDEN alt="Abschicken" name="send" type="submit">
</td></tr></table>
</form>
Danke schön, gruß & gute N8
marco
__________________
"Respect the Rock"
m.weed ist offline   Mit Zitat antworten


Alt 22.08.2005, 22:51   #2
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Du musst die beiden Bereiche schon trennen.

Als erstes eine Empfehlung: nutze als php-Beginn <?php und nicht <? , da zweiteres nicht auf allen Servern funktioniert, ersteres aber immer.

2. Du hast den Namen senden 2mal verwendet, auch wenn Du es verschieden geschrieben hast, es ist kein guter Stil.

<input width="140" name=SENDEN alt="Abschicken" name="send" type="submit">

auch noch 2mal name vergeben, einmal ohne Quotes.

also besser:
<input width="140" value="Abschicken" name="abschicken" type="submit">


Jetzt die beiden Bereiche:
PHP-Code:
if(isset($abschicken)) {
// hier Formular prüfen und mail generieren, dann Erfolgsmeldung ausgheben
// im Fehlerfall das Formular erneut ausgeben
} else {
// es wurde noch nichts abgeschickt, also Formular ausgeben

ok ?
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 22.08.2005, 23:14   #3
TP-Insider
 
Benutzerbild von m.weed
 
Registriert seit: Aug 2002
Ort: Golling
m.weed macht sich hier sehr viel Mühe
Hi,

ok, das mit <?php leuchtet ein, ich schreib's mir hinter die Löffel.

So wie ich Dich verstehe, basteln mir an der "include" version oder ?
Die ähnlichen Namen wurden von scripter.ch (formailer) vergeben, hab es aber jetzt so wie von Dir empfohlen geändert.
PHP-Code:
<?php
 
if(get_magic_quotes_gpc()) {
    foreach(
$_POST as $postvar => $postval){ ${$postvar} = stripslashes($postval); } 
    foreach(
$_GET as $getvar => $getval){ ${$getvar} = stripslashes($getval); }
} else {
    foreach(
$_POST as $postvar => $postval){ ${$postvar} = $postval; } 
    foreach(
$_GET as $getvar => $getval){ ${$getvar} = $getval; }
}

$deinname 'Onkelmal';
$deinemail 'm_hoeher@gmx.net';



if (
$senden == "Email senden"){
if (
$text == ""){echo "<font face=\"verdana\"><center>Es fehlt der Nachrichtentext<br><br>";}elseif
   (
$email == ""){echo "<font face=\"verdana\"><center>Es fehlt die Emailadresse<br><br>";}else{

$textb ="$text \n\n
Absender:\n
Name: $name \n
Mail: $email\n\n"
;    


   
$header="From:$name<$email>\n";
mail($deinemail,$betreff,$textb,$header);

echo 
"<font face=\"verdana\"><center><br><br>Folgende Nachricht wurde erfolgreich an<br><br>
$deinname<br>$deinemail<br><br>
versendet:<br><br>
<em>$text</em><br><br>
Vielen Dank, wir werden uns bei Dir melden.<br><br>
<br><br>"
;
}
echo
"<a href=\"javascript:history.back()\">Hier geht's zur&uuml;ck</a></center></font>";
exit;
}
?>
<p><b><?php echo $subj?></b></p>
<p></p>
<p></p>
<p></p>
<p></p>
<form action="formail.php" method="post" name="mail">

<?php


echo  "<input type=\"hidden\" name=\"subj\" value=\"$subj\">";
?>

<table border="0"><tr>
<td>Ihr Name:         </td><td><input type="text" name="name"></td></tr><tr>
<td>Betreff:         </td><td><input type="text" name="betreff"></td></tr><tr>
<td colspan="2">Ihre Nachricht:<br>
<textarea name="text" cols="53" rows="8">
<?php echo $teleworderror ?>
</textarea></td></tr><tr>
<?php

echo '<td>';
echo 
'</td><td>';
echo
'</td></tr><tr><td>Ihre Emailadresse:</td><td>';

?>

<input type="text" name="email"></td></tr><tr><td colspan="2" align="center">
<input type="hidden" name="senden" value="Email senden">
<input width="140" value="Abschicken" name="abschicken" type="submit">
</td></tr></table>
</form>
Den Teil mit den 2 Bereichen hab ich allerdings nicht überissen, kannst Du da bitte nochmal drauf eingehen.

Oder ist das so richtig?
PHP-Code:
if ($senden == "Email senden"){
if (
$text == ""){echo "<font face=\"verdana\"><center>Es fehlt der Nachrichtentext<br><br>";}elseif
   (
$email == ""){echo "<font face=\"verdana\"><center>Es fehlt die Emailadresse<br><br>";}else 
statdessen das einfügen
PHP-Code:
 if(isset($abschicken)) { 
// hier Formular prüfen und mail generieren, dann Erfolgsmeldung ausgheben 
// im Fehlerfall das Formular erneut ausgeben 
} else { 
// es wurde noch nichts abgeschickt, also Formular ausgeben 

Danke
marco
__________________
"Respect the Rock"

Geändert von m.weed (22.08.2005 um 23:18 Uhr).
m.weed ist offline   Mit Zitat antworten
Alt 23.08.2005, 15:55   #4
TP-Insider
 
Benutzerbild von m.weed
 
Registriert seit: Aug 2002
Ort: Golling
m.weed macht sich hier sehr viel Mühe
...hallo

sorry, will ja nich lästig sein, aber ich steh immer noch auf dem selben Schlauch wie gestern. Mir will einfach nicht einleuchten, warum der Hintergrund der Tabelle verschwindet, wenn ich den Code direkt in die HTML Seite Schreibe.

Danke
marco
__________________
"Respect the Rock"
m.weed ist offline   Mit Zitat antworten
Alt 23.08.2005, 16:16   #5
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
probiers mal aus:
HTML-Code:
<?php

$teleworderror=$subj="";
 if(get_magic_quotes_gpc()) {
    foreach($_POST as $postvar => $postval){ ${$postvar} = stripslashes($postval); } 
    foreach($_GET as $getvar => $getval){ ${$getvar} = stripslashes($getval); }
} else {
    foreach($_POST as $postvar => $postval){ ${$postvar} = $postval; } 
    foreach($_GET as $getvar => $getval){ ${$getvar} = $getval; }
}

$deinname = 'Onkelmal';
$deinemail = 'm_hoeher@gmx.net';



if (isset($abschicken)){
	if ($text == ""){
		echo "<font face=\"verdana\"><center>Es fehlt der Nachrichtentext<br><br>";
	} elseif($email == ""){
		echo "<font face=\"verdana\"><center>Es fehlt die Emailadresse<br><br>";
	} else {

		$textb ="$text \n\n
		Absender:\n
		Name: $name \n
		Mail: $email\n\n";    
		
		
		   
		$header="From:$name<$email>\n";
		if(@mail($deinemail,$betreff,$textb,$header)) {

		echo "<font face=\"verdana\"><center><br><br>Folgende Nachricht wurde erfolgreich an<br><br>
		$deinname<br>$deinemail<br><br>
		versendet:<br><br>
		<em>$text</em><br><br>
		Vielen Dank, wir werden uns bei Dir melden.<br><br>
		<br><br>";
		} else {
			echo "Fehler beim Verschicken der mail!";
		}
	}
	echo"<a href=\"javascript:history.back()\">Hier geht's zur&uuml;ck</a></center></font>";
	exit;
}
?>
<p><b><?php echo !empty($subj) ? $subj : "Kein Subject angegeben"; ?></b></p>
<p></p>
<p></p>
<p></p>
<p></p>
<form action="formail.php" method="post" name="mail">

<?php
echo  "<input type=\"hidden\" name=\"subj\" value=\"$subj\">";
?>

<table border="0"><tr>
<td>Ihr Name:         </td><td><input type="text" name="name"></td></tr><tr>
<td>Betreff:         </td><td><input type="text" name="betreff"></td></tr><tr>
<td colspan="2">Ihre Nachricht:<br>
<textarea name="text" cols="53" rows="8">
<?php echo $teleworderror ?>
</textarea></td></tr><tr>
<?php

echo '<td>';
echo '</td><td>';
echo'</td></tr><tr><td>Ihre Emailadresse:</td><td>';

?>

<input type="text" name="email"></td></tr><tr><td colspan="2" align="center">
<input type="hidden" name="senden" value="Email senden">
<input width="140" value="Abschicken" name="abschicken" type="submit">
</td></tr></table>
</form> 
Denk daran, das diese Datei auch formmail.php heissen muss
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 24.08.2005, 07:02   #6
TP-Insider
 
Benutzerbild von m.weed
 
Registriert seit: Aug 2002
Ort: Golling
m.weed macht sich hier sehr viel Mühe
Super super super,
der Backround bleibt jetzt, allerdings ist der Fußbereich, in dem sich die Seitennavi wiederholt immer noch verschwunden, aber so kann ich erstmal leben.

Danke schön.
gruß
marco
__________________
"Respect the Rock"
m.weed ist offline   Mit Zitat antworten
Alt 25.08.2005, 00:22   #7
TP-Insider
 
Benutzerbild von m.weed
 
Registriert seit: Aug 2002
Ort: Golling
m.weed macht sich hier sehr viel Mühe
Entwarnung, hatte versehentlich einen Tag nicht geschlossen, so sollte es jetzt funktionieren.

Danke Dir nochmals für deine Hilfe.
Gruß
marco
__________________
"Respect the Rock"
m.weed ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
PHP in HTML Seite einbinden -> Komisch PHP in HTML Seite einbinden -> Komisch
« Liste von Länder und Regionen | [C++] Zurück Kompilieren?? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:34 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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

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