Echo auf bestimmte Seite
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beitrag
betreff
danksagung
date
datei
design
email
empfnger
erstmal gehen
fehler
firma
formularfeld
gleiche design
hintergrundbild
kontakt
mailadresse
schrift
send
space
zugreifen
-
Servus alle zusammen,
ich hab auf meiner Page ein kleines PHP Script für mein Kontaktformular erstellt. (Gefunden und leicht bearbeitet).
Dort ist ein Echo Befehl drin, der einen auf eine neue Seite bringt, weißer Hintergrund und schwarze Schrift. Die Seite hat keine Adresse, steht einfach nur hinter dem Echo.
Jetzt frage ich mich, kann man diesen Echo Befel auch auf eine bestimmte HTML-Seite legen?
Beispielsweise liegt in dem gleichen Verzeichnis noch eine "danke.html" wo dann "Dankeschön für die Mail." drin steht, leicht formatiert mit CSS und so. Geht das?
Falls ja, ich wäre dankbar, wenn einer kurz den Weg beschreiben könnte.
Danke euch. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
1. In einer *.html-Datei kannst du kein PHP verwenden. Deshalb müsste die Datei z.B. danke.php heißen.
2. Zeichenketten, die du mit PHP ausgibst, kannst du sowieso mit CSS formatieren:
<?php echo '<span style=\'font-style:italic\'>Danke für die Mail</span>'; ?>
Prinzipiell gibst du mit PHP sowieso nur den HTML-Code deiner Seite aus. PHP verarbeitet also quasi die Seite, die du dann mit HTML/CSS formatieren kannst.
Damit wir dir jetzt noch weiter helfen zu können müsstest du aber erstmal deinen PHP-Code posten.
Beitrag geaendert: 14.4.2007 16:58:05 von sandrock-jonas -
Tja Zero,
kann mir das gerade nicht vorstellen... kannst du mal ein Codeschnipsel einstellen?
Danke -
Okay, hier der Code meins HTML Formulares.
<table border="0" cellpadding="1" cellspacing="2"> <form action="kontaktformular-auswerten.php" method="post"> <tr> <td>Name:</td> <td><input name="Name" size="20" type="text"></td> </tr> <tr> <td>Firma:</td> <td><input name="Firma" size="20" type="text"></td> </tr> <tr> <td>eMail:</td> <td><input name="Email" size="20" type="text"></td> </tr> <tr> <td>Betreff:</td> <td><select name="Betreff" size="1"><option>Katalog</option> <option>Produktinformation</option><option>Anderes</option></select></td> </tr> <tr> <td>Nachricht:</td> <td><textarea cols="25" name="Nachricht" rows="5"></textarea></td> </tr> <tr> <td align="center" colspan="2"><input name="Send" type="submit" value="Abschicken"> <input name="Reset" type="reset" value="Löschen"></td> </tr> </form> </table>
Und hier das PHP Script zur Seite, die das ganze dann Auswerten soll.
<html> <head> <title>Kontaktformular mit PHP</title> </head> <body> <?php $Empfaenger = "Ihre@Mailadresse.land"; if($_REQUEST['Send']) { if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht'])) { echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!"; } else { $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n"; while(list($Formularfeld, $Wert)=each($_REQUEST)) { if($Formularfeld!="Send") { $Mailnachricht .= $Formularfeld.": ".$Wert."\n"; } } $Mailnachricht .= "\nDatum/Zeit: "; $Mailnachricht .= date("d.m.Y H:i:s"); $Mailbetreff = "Kontakt: "; $Mailbetreff .= $_REQUEST['Betreff']; mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']); echo"Vielen Dank für Ihre eMail!"; } } else { echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontaktformular.php\">Seite</a>."; } ?> </body> </html>
Ich würde gerne folgendes ändern.
-> als Danke soll man auf eine Seite, die schön aussieht mit Backgroundgrafik und formatierter Schrift
-> bei der Fehlermeldung soll es von der Schrift und Hintergrund auch so sein
-> der ausfüllbare Punkt "Firma" soll auch noch per Mail abgeschickt werden, also der fehlt momentan noch
Danke euch.
Beitrag geaendert: 14.4.2007 22:13:24 von zero-forum
Beitrag geaendert: 14.4.2007 22:13:59 von zero-forum -
<?php $Empfaenger = "Ihre@Mailadresse.land"; if($_REQUEST['Send']) { if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Firma'])) { header('Location: alle-felder.html');; } else { $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n"; while(list($Formularfeld, $Wert)=each($_REQUEST)) { if($Formularfeld!="Send") { $Mailnachricht .= $Formularfeld.": ".$Wert."\n"; } } $Mailnachricht .= "Firma: ".$_REQUEST['firma']."\n"; $Mailnachricht .= "\nDatum/Zeit: "; $Mailnachricht .= date("d.m.Y H:i:s"); $Mailbetreff = "Kontakt: "; $Mailbetreff .= $_REQUEST['Betreff']; mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']); header('Location: danke.html'); } } else { header('Location: fehler.html'); } ?>
So, ich habe das jetzt so abgeändert, dass du HTML-Dateien benutzen kannst. Du brauchst 3 Stück:
alle-felder.html (kommt, wenn nicht alle Felder ausgefüllt wurden)
danke.html (die Erklärung spare ich mir)
fehler.html ('Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\'kontaktformular.php\'>Seite</a>.')
Außerdem müsste Firma jetzt auch gesendet werden, wobei ich ehrlich gesagt nicht weiß, warum das nicht sowieso schon mitgesendet wurde. -
Ok das vom Sandrock-jonas müsste erstmal gehen, wobei ich die Redirects vermeiden würde, die mit header(Location...) entstehen.
Warum gestaltest du das Auswertformular nicht einfach nach deinen wünschen? ...ok Fehler bzw. Danksagungen haben dann alle das gleiche Design und Hintergrundbild, aber das wollteste ja ehh.
Also einfach im Auswertformular das Design anpassen
Grüßle -
Hey, super Sache mit dem Kontaktformular, ich danke!
Der Punkt Firma ist nicht im Script, weil ich den noch dazugebastelt habe, würde gerne noch die Angabe der Firma in die der Ersteller arbeitet wissen. Ich werd das jetzt einbauen und die weiteren Datein erstellen.
Ich kann mich nur verbeugen und mich riesig bedanken, vielleicht kann ich mich ja mit irgendwas im Grafik-Bereich beglücken, falls du mal was brauchst (2D- Photoshop und sowas).
Schönen Abend noch.
Zero -
Ok das vom Sandrock-jonas müsste erstmal gehen, wobei ich die Redirects vermeiden würde, die mit header(Location...) entstehen.
Warum würdest du Redicts mit header() vermeiden? Diese Art der Redicts sind mit Sicherheit besser als solche mit <meta>-Tags bzw. welche mit JS:
http://www.w3.org/QA/Tips/reback
Warum gestaltest du das Auswertformular nicht einfach nach deinen wünschen? ...ok Fehler bzw. Danksagungen haben dann alle das gleiche Design und Hintergrundbild, aber das wollteste ja ehh.
Also einfach im Auswertformular das Design anpassen
Grüßle
Weil er scheinbar kein PHP kann. Deshalb auch die Weiterleitung. Es ist für ihn einfacher, drei HTML-Dokumente zu erstellen als das Design in die PHP-Datei einzuarbeiten. -
Genau so sieht es aus, meine PHP Kenntnisse sind schwach bis nicht vorhanden..
Deswegen bin ich auch so dankbar für die Hilfe, ohne diese komm ich ja nicht voran.
Und mit der Verlinkung kann ich dann ohne Probleme arbeiten, da erstell ich mir dann alles wie ich das benötige. Super Idee übrigens, dass du so freundlich bist und mir direkt so etwas reingebaut hast. -
Servus Leute,
ich hab den Code eingebunden, funzt ja irgendwie auch auf meinem Funpic Space.
Jetzt habe ich das mal auf den richtigen Space hochgeladen (1und1 Homepage Perfect- PHP und MySQL sind enthalten) und die kacke funzt 'net mehr.
Hier könnt ihr euch den Fehler angucken:
http://www.peddinghaus.de/Deutsch/index-de.html
Gebt mal aus Fun was ein und sagt "Abschicken"- Zack, Fehler.
Jetzt frage ich mich, warum ist das so? Warum ist denn diese Verlinkung verboten? Wie kann ich das richten?
Ich danke euch. -
wie ich sehen kann funzt das Formular nur beim absenden funzt es nicht.
Meinste das? :
ZUGRIFF NICHT ERLAUBT
Die angeforderte Seite darf nicht angezeigt werden.
Also am Script sollte es nicht liegen!
Beitrag geaendert: 22.4.2007 9:19:03 von ef06 -
Also erstmal zur Einleitung,
Ich empfehle dir deine Quellen nochmal stark zu überarbeiten,
die schauen noch relativ katastrophal aus (nicht Valide und extrem unübersichtlich).Ich dachte mir ich sags so, auch wenn es erstmal etwas hart klingt, da es für eine Firmenhomepage eher schlecht kommt wenn sie nicht valid und für Sehbehinderte extrem schlecht zugänglich ist.
Zieh mal in Erwägung das Ganze auf CSS umzusatteln und die IFrame durch ein Div zu ersetzen.
Das ermöglicht dir eine Wesentlich leichtere Wartung und einen Wesentlich übersichtlicheren Code.
Zu dem Zugriff nicht erlaubt:
Du hast die Datei mit einem Zugriffsschutz belegt und versuchst sie in dem IFrame zu laden. Das wertet der Server aber (im Gegesatz zu einem Include oder Require) als Web zugriff und Blokiert diesen.
In der PHP Datei sollten eigentlich keine Sensiblen (Zugangs)Daten vorkommen und in Sofern musst du diese nicht schützen.
Wenn du Hilfe beim Überarbeiten brauchst kannst du dich auch gerne per PN bemerkbar machen, dann geb ich dir meine Kontaktdaten. Ansonsten einfach wieder Posten. -
Servus,
dass mein Quelltext scheiße ist weiß ich. Ein Sehbehinderter kauft aber auch kein Handwerkzeug, um des mal so nebenbei zu erwähnen Nächstes Layout in DIV's und so, keine Sorge, aber 'mittm Code habe ich es nicht so, daher krüppel ich mit 'nem Tabellenlayout herum.
Ja genau, denn Teil wo geschrieben wird, dass die Seite verboten ist.Also ich habe den Zugriff auf diese Datein verboten? Wie hab ich denn das gemacht? Wie kriegt man denn diesen Schutz daraus? Ich mein, bewusst habe ich da nichts gemacht.
Wenn ich diesen Zugriffsblock raus habe, sollte es doch dann funktionieren, oder?
Danke euch! -
Das müsste wenn dann irgendwo eim Verwaltungsinterface von 1&1 hinterlegt sein.
Kann ich jetzt nicht mit bestimmtheit sagen.
Wie gesagt, versuche den Inhalt eventuell über Includes einzubinden statt über ein Frame, dass könnte das Zugriffsproblem lößen.
Du kannst auch mal in einem FTP Client schauen welche rechte der Datei gegeben wurden. wenn sie nur der Admin Lesen kann ist das recht ungünstig... -
Jo, da hattest du voll und ganz Recht, denn der Fehler lag in der Administrativen bei 1und1.de!
Danke dir, funzt glaube ich nun Zumindestens kann man jetzt was abschicken etc. Mal gucken was im Postfach ankommt. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage