SELFPHP: Version 5.7.0 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



iOS DevCon 2013



Software Architecture Summit 2013


Deine Leidenschaft ist die Unterwasserfoto-grafie?


Dann ist Qozido genau das Richtige für Dich!

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler ist da!

www.qozido.de

 

CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 


Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 29.03.2006, 16:34:40
Steffi_P Steffi_P ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 5
Steffi_P befindet sich auf einem aufstrebenden Ast
Kontaktformular

Hallo,

Ich bin ein absoluter php-Neuling und habe es nach einigem Herumprobieren endlich geschafft,
ein eigenes Kontaktformular zu programmieren.

Mein Problem: Auf meinem Laptop funktioniert alles bestens, aber wenn ich die Seite auf einem
anderen Rechner betrachte, passiert folgendes:

Sobald auf den Senden-Button geklickt wird, obwohl noch nicht alle Formularfelder ausgefüllt sind,
verschwindet das komplette Formular und es erscheint eine weiße Seite. Normalerweise sollte in
dieser Situation über dem Formular die Meldung erscheinen “Bitte xy ausfüllen“. Wie gesagt, auf
meinem Laptop funktioniert alles…
Sind alle Felder ausgefüllt, funktioniert die Übertragung der Formulardaten übrigens.

Hier mein Skript:

<?php
$submit= $_POST['submit'];
$name= $_POST['name'];
$email= $_POST['email'];
$text= $_POST['text'];

//testen, ob das Formular abgeschickt wurde
if ($submit=="abschicken")
{
//Entfernen von Leerzeichen
$name=trim ($name);
$email=trim ($email);

//Testen, ob alle Felder ausgefüllt wurden und ggf. Fehlermeldungen ausgeben
//und $submit löschen, damit das Formular erneut angezeigt wird
if (!$name AND $email AND $text)
{echo "Bitte geben Sie Ihren Namen an!"; unset($submit);}
if (!$email AND $name AND $text)
{echo "Bitte geben Sie Ihre Email-Adresse an!"; unset($submit);}
if (!$text AND $name AND $email)
{echo "Bitte geben Sie Ihre Nachricht an!"; unset($submit);}
if (!$text AND !$name AND !$email)
{echo "Bitte geben Sie Ihen Namen, Ihe Email-Adresse und Ihre Nachricht an!"; unset($submit);}
if (!$name AND !$email AND $text)
{echo "Bitte geben Sie Ihren Namen und Ihre Email-Adresse an!"; unset($submit);}
if (!$name AND !$text AND $email)
{echo "Bitte geben Sie Ihren Namen und Ihre Nachricht an!"; unset($submit);}
if (!$email AND !$text AND $name)
{echo "Bitte geben Sie Ihre Email-Adresse und Ihre Nachricht an!"; unset($submit);}
}
?>

<?php
//Testen, ob alle Felder ausgefüllt wurden. Wenn ja, die Email vorbereiten und versenden
if ($name AND $email AND $text)
{
//den Nachrichtentext der Email für HTML-Mail zusammenbauen
$message="<html><body>";
$message.="<p>Name: ";
$message.=$name;
$message.="<br>Email: ";
$message.=$email;
$message.="<br>Nachricht: ";
$message.=$text;
$message.="</b></p></body></html>";

//den Header der Email erstellen
$header="\n Content-Type: text/html";

//Email versenden. Wenn kein Fehler auftritt, wird eine Erfolgsmeldung ausgegeben, andernfalls eine Fehlermeldung
if (mail("info@stephaniepankalla.de", "Email von meiner Website", $message, $header))
{
//Erfolgsmeldung ausgeben
echo "<strong><br>Vielen Dank f&uuml;r Ihre Nachricht!</strong><br><br>Ich werde mich schnellstm&ouml;glich bei Ihnen melden.";
}
else
{
//Fehlermeldung ausgeben
echo "<strong>Die Informationsübermittlung ist fehlgeschlagen, bite versuchen Sie es später noch einmal.</strong>";
//$submit löschen, damit das Formular erneut angezeigt wird
unset($submit);
}
}

if (!$submit)
{
?>
<div id="formular">
<form action="kontakt.php" method="post">
<input type="hidden" name="sent" value="1">
<fieldset><legend>Ansprechpartner</legend>
Name<br><input type="text" name="name" value="<?php echo $name; ?>" size="20"><br>
Email<br><input type="text" name="email" value="<?php echo $email; ?>"size="20">
</fieldset>
<fieldset id="nachricht"><legend>Text</legend>
Ihre Nachricht<br><textarea input type="text" name="text" rows="10" cols="40"></textarea>
</fieldset>
<fieldset id="senden"><legend>Mail senden</legend>
<button type="submit" name="submit" class="submit" value="abschicken" >Senden</button>
</fieldset>
</form>
</div>

Das Formular findet ihr unter www.stephaniepankalla.de/kontakt.php

Ich hoffe, ihr könnt mir weiterhelfen!

Vielen Dank und Grüße,
Steffi
Mit Zitat antworten
  #2  
Alt 29.03.2006, 17:02:35
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 874
Heinrich befindet sich auf einem aufstrebenden Ast
AW: Kontaktformular

Hi Steffi,

nur mal auf den ersten Blick (auf den unteren Teil des Scripts):
PHP-Code:
if (!$submit)
{
?> 
Da geht's dann mit HTML weiter. Wieso sollte PHP diese if-Bedingung auch richtig ausführen, wenn es gleich beendet wird (?>), bevor was kommt. Wenn's nicht beendet wäre, würde es überigens meckern, weil die "{" nirgends abgeschlossen wird. Oder fehlt da nur was in deinem Posting?

Gruß aus Darmstadt
Heinrich
Mit Zitat antworten
  #3  
Alt 30.03.2006, 09:08:42
Steffi_P Steffi_P ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 5
Steffi_P befindet sich auf einem aufstrebenden Ast
AW: Kontaktformular

Hi Heinrich,

Sorry, ich habe im Posting den schließenden php Tag vergessen. In meinem Skript steht nach dem HTML-Teil:
<php
}
?>

Grüße
Steffi
Mit Zitat antworten
  #4  
Alt 30.03.2006, 12:05:38
Benutzerbild von z0iD
z0iD z0iD ist offline
Junior Member
 
Registriert seit: Mar 2006
Beiträge: 415
z0iD befindet sich auf einem aufstrebenden Ast
z0iD eine Nachricht über ICQ schicken
AW: Kontaktformular

@Heinrich:
wieso? folgende codes haben doch das gleiche ergebniss:
PHP-Code:
<?
if ($bla)
{
?>
hello world!
<?}
und
PHP-Code:
if ($bla)
{
 echo 
"hello world!";

Mit Zitat antworten
  #5  
Alt 30.03.2006, 22:20:28
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 874
Heinrich befindet sich auf einem aufstrebenden Ast
AW: Kontaktformular

Hi Steffi,

dann bringt mir auch das Fernrohr keinen Fehler. Also du testest das von verschiedenen PC's auf dem (gleichen) Server? Vielleicht könnten dann Browsereinstellungen (Cache, klingt aber nicht überzeugend) verschieden sein.

Mit dem unset() habe ich noch nichts probiert. Ich biete halt alternativ einen Link an, um zurück zu kommen (hier halt, die gleiche Seite neu zu laden).

Wenig Erhellendes - sorry.

Viele Grüße
Heinrich
Mit Zitat antworten
  #6  
Alt 30.03.2006, 22:43:09
Benutzerbild von z0iD
z0iD z0iD ist offline
Junior Member
 
Registriert seit: Mar 2006
Beiträge: 415
z0iD befindet sich auf einem aufstrebenden Ast
z0iD eine Nachricht über ICQ schicken
AW: Kontaktformular

ich bin grad dabei nochmal nach dem fehler zu suchen (habe heute mittag schon einemal einen blick drauf geworfen aber nix hilfreiches gefunden, daher nicht soviel gepostet ... allerdings erstmal zwei dinge vorweg...
bitte bitte editier deinen post und pack da [ P H P ] und [ / P H P ] tags drum ... dann kann man das besser lesen.

der fehler könnte hiermit zusammenhängen (warum es auf dem client geht und auf dem anderen nicht ist mir dennoch schleierhaft):
PHP-Code:
?>

<?php
ich bin nicht mehr echt sicher was das betrifft aber ich meine mich erinnern zu können dass php dazwischen die variablen freigibt ... nimms doch mal raus ...

sorry mehr seh ich jetzt erstmal auch nicht, vllt morgen ;)
Mit Zitat antworten
  #7  
Alt 31.03.2006, 00:23:17
Opendix Opendix ist offline
Senior Member
 
Registriert seit: Oct 2004
Ort: Werdenberg / Schweiz
Alter: 25
Beiträge: 1.474
Opendix befindet sich auf einem aufstrebenden Ast
Opendix eine Nachricht über MSN schicken
AW: Kontaktformular

hmm.... ich glaub ich hab das problem nicht verstanden...
also wenn ich auf deine seite gehe, dann funktioniert das formular so wie du das oben beschrieben hast... füllt man nicht alle felder aus kommt ein fehler und das formular, füllt man alle aus so kommt formular versendet bla bla...

wo liegt den das Problem? :S

einzig was nicht funktioneirt ist, dass wenn man namen oder email leer lässt, dass dann wohl der fehle rkommt aber der eingegebene text verloren geht!
__________________
Opendix lehnt jegliche Haftung für evtl. vorhandene Fehler in der Grammatik sowie der Satzstellung ab! Bitte wenden Sie sich an die Tastatur!

Betatester gesucht:
Skiclub Gams / CEVI Grabs
Mit Zitat antworten
  #8  
Alt 31.03.2006, 16:27:05
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 874
Heinrich befindet sich auf einem aufstrebenden Ast
AW: Kontaktformular

Tja, bei mir funktioniert es auch (müsstest eine Nachricht von mir haben).

Gruß
Heinrich
Mit Zitat antworten
  #9  
Alt 01.04.2006, 09:36:22
Steffi_P Steffi_P ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 5
Steffi_P befindet sich auf einem aufstrebenden Ast
AW: Kontaktformular

Danke für eure vielen Posts!

@ Opendix:
Mein Problem ist, dass diese Fehlermeldung (wenn nicht alle Felder ausgefüllt sind) nicht immer und nicht auf allen Rechnern erscheint. Du scheinst einer von den glücklichen zu sein, bei denen es funktioniert... ;-)

@ Heinrich:
Ja, ich teste das Formular von verschiedenen PC´s auf dem gleichen Server. Auf manchen PC´s funktioniert es, auf anderen nicht.
Erscheint bei dir die Fehlermeldung, wenn du nicht alle Felder ausfüllst?
Deine Nachricht ist übrigens angekommen=)

Also wenn es bei euch beiden funktioniert, dann liegt es vielleicht wirklich einfach an den Browsereinstellungen von meinem Testrechner...?
Mit Zitat antworten
  #10  
Alt 01.04.2006, 11:01:49
Opendix Opendix ist offline
Senior Member
 
Registriert seit: Oct 2004
Ort: Werdenberg / Schweiz
Alter: 25
Beiträge: 1.474
Opendix befindet sich auf einem aufstrebenden Ast
Opendix eine Nachricht über MSN schicken
AW: Kontaktformular

es kann nicht sein, dass verschiedene clients andere meldungen bekommen... das script läuft ja auf dem server... :S
__________________
Opendix lehnt jegliche Haftung für evtl. vorhandene Fehler in der Grammatik sowie der Satzstellung ab! Bitte wenden Sie sich an die Tastatur!

Betatester gesucht:
Skiclub Gams / CEVI Grabs
Mit Zitat antworten
Antwort


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

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme Kontaktformular JossHH PHP Grundlagen 1 21.12.2005 20:06:44
Spam-Versand über Kontaktformular (PHP-Skript) verhindern ericsturm PHP Grundlagen 10 08.12.2005 23:57:34
Statusnachricht vom kontaktformular?! koerschgen2001 PHP Grundlagen 8 16.09.2005 11:01:49
Kontaktformular - erste Schritte... Pixelmaster PHP für Fortgeschrittene und Experten 5 20.04.2003 20:26:45
PHP Kontaktformular versenden cyberchris PHP für Fortgeschrittene und Experten 2 10.04.2003 17:53:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:49:19 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.


© 2001-2013 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt