php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.11.2007, 17:42  
Neuer Benutzer
 
Registriert seit: 05.11.2007
Beiträge: 4
starmm2007 befindet sich auf einem aufstrebenden Ast
Standard Einsteiger-Probleme bitte hilfe!

Hallo und guten Abend,
ich bin ganz neu hier und auch neu was das Programmieren in php betrifft.
Daher bitte ich ein wenig um Nachsicht, wenn ich teilweise noch etwas blöde Fragen habe. Ich kenne auch die Suchfunktion, bin aber nicht wirklich bei meinem Problem(en) weiter gekommen:

Folgende Probleme / Fragen habe ich:
1. Wenn ich das Kontaktformular absende ohne eingaben erscheinen die Fehlermeldungen, komischerweise erscheint dann im 1. Textfeld ein "YES" welches nur aus dem formfeld "news" kommen kann. Sehe hier aber leider keinen Zusammenhang. Wer weiß woran es liegen könnte?

2. Anstelle der Textausgabe "Vielen Dank" hätte ich gerne eine Weiterleitung auf eine andere Seite. Mit Header funktioniert dieses ja nicht (Headers already send...) Gibt es da evtl. noch eine Lösung ohne den Code komplett umzustellen? Auf der Seite befindet sich noch jede Menge mehr HTML in der Datei...

Hier mein Quelltext, ich wäre sehr dankbar über Tipps und Hilfe:

PHP-Code:
 <?php
// Define your email address - where to send messages - here
define("MAIL_TARGET","mail@mail.de");
// Here you can redefine error messages
define("errorName","Fehler bei der Eingabe Ihres Namens. Bitte geben Sie Ihren vollständigen Namen ein!");
define("errorEmail","Bitte geben Sie Ihre korrekte E-Mail-Adresse ein!");
define("errorMsg","Leider ist Ihr persönliches Zugangs-Kennwort nicht gültig, bitte kontrollieren Sie Ihre Eingabe!");
function 
createForm($name="",$news="",$email="",$message="",$error1="",$error2="",$error3=""){
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<div class="form1">&nbsp;NAME:</div><div class="form2"><input name="name" type="text" class="input" value="<?php echo $name?>"/></div>
&nbsp;<span class="error"><?php echo $error1?></span><br /><br /><br />
<div class="form1">&nbsp;E-MAIL:</div><div class="form2"><input name="email" type="text" class="input"value="<?php echo $email?>"/></div>
&nbsp;<span class="error"><?php echo $error2?></span><br /><br /><br />
<div class="form1">&nbsp;PASSWORT:</div><div class="form2"><input name="pass" type="text" class="input"value="<?php echo $pass?>" /></div>
&nbsp;<span class="error"><?php echo $error3?></span><br /><br /><br />
<div><input name="news" type="checkbox" value="yes" checked />Ja, ich möchte den exclusiven Newsletter bestellen.</div>
<div><input name="submitBtn" value="DATEN ABSCHICKEN" type="submit" class="formbutton" /></div>
      </form></div></div>
<?php
}   
function 
isValidEmail($email){
   
$pattern "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$";
     
   if (
eregi($pattern$email)){
      return 
true;
   }
   else {
      return 
false;
   }   
}
function 
sendMail($name,$email,$message,$news){
    
    
$subject "Message from CALAMAR";
    
$mailtext "Ein weiterer User hat an der Verlosung teilgenommen. \n\n Newsletter bestellt? $news";
    
$from    "From: $name <$email>\r\nReply-To: $email\r\n"
    
$header  "MIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-1\r\n";
    
$content htmlspecialchars($mailtext);    
    
$content wordwrap($content,70);
    
mail(MAIL_TARGET,$subject,$mailtext,$from.$header,$news);
}
;
if (!isset(
$_POST['submitBtn']))  { 
    
createForm();
} else  { 
      
$name    = isset($_POST['name']) ? $_POST['name'] : "";
      
$email   = isset($_POST['email']) ? $_POST['email'] : "";
      
$message = isset($_POST['pass']) ? $_POST['pass'] : "";
      
$news    = isset($_POST['news']) ? $_POST['news'] : "";
      
      
$error false;
      
      if (
strlen($name)<2) {
          
$error true;
          
$error1 errorName;
      }
      if (!
isValidEmail($email)) {
          
$error true;
          
$error2 errorEmail;
      }
if(
$pass!="100octane")
{
$error true;
$error3 errorMsg;
}
      if (
$error){
         
createForm($news,$name,$email,$message,$error1,$error2,$error3); 
      }
      else {
          
sendMail($name,$email,$message,$news);newsMail($name,$email,$message,$news);ob_start();header("Location:www.google.com");die();
?>
Vielen Dank</br></br>
<?php            
    
}
}
?>
Vielen Dank für die Hilfe!

Viele Grüße
Star

Geändert von starmm2007 (06.11.2007 um 10:55 Uhr).
starmm2007 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.11.2007, 18:15  
Erfahrener Benutzer
 
Registriert seit: 02.11.2007
Beiträge: 106
Lern_HEIKO befindet sich auf einem aufstrebenden Ast
Standard

also das einzige was ich da ma auf ersten blick sehe und bemängeln würde is dass du deine php immer unterbrichst um html einzufügen füg doch die html über echo ein...weil ich weiß nich ob das geht ne { zu schließen nachdem die schon einmal ?> un dann wieder <?php aufmachst...ich weiß es selber nicht aber ich würde sagen dass das nich sehr gut aussieht...ich bin kein profi aber ich würde das eindeutig nich so machen...versuch mal des <?php die ganze zeit von anfang bis ende offen zu halten...aja un tu den html immer über echo dann machen wie z.b.

PHP-Code:
echo "<a href=\"index.php\">startseite</a>" 

also so müsste das aussehen...

weiter hab ich auf den ersten eiligen blick nichts gesehen...werd morgen noch mal schauen...
Lern_HEIKO ist offline  
Alt 06.11.2007, 10:14  
Neuer Benutzer
 
Registriert seit: 05.11.2007
Beiträge: 4
starmm2007 befindet sich auf einem aufstrebenden Ast
Standard Danke 1. Problem gelöst!

Hallo Heiko,
super - danke für Deinen Tipp, jetzt gibt es kein Problem mehr mit dem header, da ich den html code mit echo eingebunden habe.
Allerdings habe ich noch das problem das bei dem versenden des leeren formulars im 1. eingabefeld "yes" angezeigt wird.
Dieses kann nur von der variable $news von der checkbox kommen, welche jedoch niergends ausgegeben werden soll.
Ich weiß es klingt verwirrend, aber anbei noch mal der geänderte quelltext
(zum testen muss die form-action angepasst werden).

Weiß jemand wo mein problem liegt?

LG und schon einmal vielen Dank

Marco


PHP-Code:
<?php ob_start();
echo(
"
<!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' />
<title>Calamar</title>
<link href='css/styles.css' rel='stylesheet' type='text/css' />
</head>
<body>
<table width='100%' height='100%' cellspacing='0' class='layouttab'>
  <tr height='100%'>
    <td class='lefttab'>
    <div class='tabheader1'>&nbsp;IMPRESSUM</div>
    <div align='center'><br /><img src='images/cmlogo.gif' width='142' height='115' /></div>
    <div class='lefttabtxt1'><img src='images/dummypic1.jpg' width='140' height='180' align='right' />Überschrift 1<br /><br />hsgdhgf sdhjgf ds hsdjgf dhsj dsjhgf dsjh dgsjhfg ds jdshgf djhsgf dsjjhfg dsfj dsgfhd  djshgf jdhgf dsjhf  sdhfg dsj dshfgds dsgfd sfgsd</div>
    <div class='leftspace'><img src='images/blank.gif' width='100%' height='10' /></div>
    <div class='lefttabtxt2'><img src='images/dummypic2.jpg' width='140' height='180' align='right' />Überschrift 1<br /><br />hsgdhgf sdhjgf ds hsdjgf dhsj dsjhgf dsjh dgsjhfg ds jdshgf djhsgf dsjjhfg dsfj dsgfhd  djshgf jdhgf dsjhf  sdhfg dsj dshfgds dsgfd sfgsd</div>
    <div class='leftspace'><img src='images/blank.gif' width='100%' height='10' /></div>
    <div class='lefttabtxt1'><img src='images/car3.jpg' width='140' height='180' align='right' />Überschrift 1<br /><br />hsgdhgf sdhjgf ds hsdjgf dhsj dsjhgf dsjh dgsjhfg ds jdshgf djhsgf dsjjhfg dsfj dsgfhd  djshgf jdhgf dsjhf  sdhfg dsj dshfgds dsgfd sfgsd</div>
    <div class='leftspace'></div></td>
    <td class='lefttab2'><img src='images/blank.gif'width='250' /><br /><img src='images/cm.jpg' /></td>
    <td valign='top'>    
    <div align='left' class='content'>
<div align='left' class='contpics'>
<img src='images/start1.jpg' width='383' height='180' hspace='0' vspace='0' align='left'/><img src='images/start2.jpg' width='125' height='180' hspace='0' vspace='0' align='left'/>
</div><br />
<div align='left' class='content2'>
<b>Herzlich Willkommen auf der exlcusiven ... Webseite.</b><br /> <br />Hier können Sie an unserer Verlosung bla bla bla teilnehmen....hkj kldsgf kajdgf kjdaslg fgsadkjgf jlksadgfjkdsga fldsgh fkjasg fkjg dasjkgf j.ks k.jhdaslkjfg hjsdgkj sahgdf gjga vmnf,bdkjsafg hjdsagf mndsa jfgjas dsdjdaghfkj dsa<br /><br />
"
);
define("MAIL_TARGET","marten@agentur-lach.de");
define("errorName","Fehler bei der Eingabe Ihres Namens. Bitte geben Sie Ihren vollständigen Namen ein!");
define("errorEmail","Bitte geben Sie Ihre korrekte E-Mail-Adresse ein!");
define("errorMsg","Leider ist Ihr persönliches Zugangs-Kennwort nicht gültig, bitte kontrollieren Sie Ihre Eingabe!");
function 
createForm($name="",$news="",$email="",$message="",$error1="",$error2="",$error3=""){
echo(
"<form action='index_test2.php'  method='post'>
<div class='form1'>&nbsp;NAME:</div><div class='form2'><input name='name' type='text' class='input' value='"
.$name."'/></div>
&nbsp;<span class='error'>"
.$error1."</span><br /><br /><br />
<div class='form1'>&nbsp;E-MAIL:</div><div class='form2'><input name='email' type='text' class='input'value='"
.$email."'/></div>
&nbsp;<span class='error'>"
.$error2."</span><br /><br /><br />
<div class='form1'>&nbsp;PASSWORT:</div><div class='form2'><input name='pass' type='text' class='input'value='"
.$pass."' /></div>
&nbsp;<span class='error'>"
.$error3."</span><br /><br /><br />
<div><input name='news' type='checkbox' value='yes' checked />Ja, ich möchte den exclusiven Calamar Newsletter bestellen.</div>
<div><input name='submitBtn' value='DATEN ABSCHICKEN' type='submit' class='formbutton' /></div>
      </form></div></div>"
);
}   
function 
isValidEmail($email){
   
$pattern "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$";     
   if (
eregi($pattern$email)){
      return 
true;
   }
   else {
      return 
false;
   }   
}

function 
sendMail($name,$email,$message,$news){
    
    
$subject "Message from CALAMAR";
    
$mailtext "Ein weiterer User hat an der Calamar-Verlosung teilgenommen. \n\n Newsletter bestellt? $news";
    
$from    "From: $name <$email>\r\nReply-To: $email\r\n"
    
$header  "MIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-1\r\n";
    
$content htmlspecialchars($mailtext);    
    
$content wordwrap($content,70);
    
mail(MAIL_TARGET,$subject,$mailtext,$from.$header,$news);
}
function 
newsMail($name,$email,$message,$news){    
    
$newssubject "Ihre Newsletter-Bestellung bei der Scuderia Calamar";
    
$newsmailtext "Vielen Dank für Ihre Teilnahme an unserer Verlosung und dem Abonieren unseres Newsletters.\r\n\r\nBitte bestätigen Sie Ihre E-Mail-Adresse
    mit einem Klick auf folgen den Link: www.dfgfdsasd.sa und erhalten Sie in Zukunft exclusiv alle Neuigkeiten rund um Calamar."
;
    
$newsfrom    "From: SCUDERIA CALAMAR <info@email.com>\r\nReply-To: mail@mail.de\r\n"
    
$newsheader  "MIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-1\r\n";
    
$newscontent htmlspecialchars($newsmailtext);    
    
$newscontent wordwrap($newscontent,70);
    
mail(MAIL_TARGET,$newssubject,$newsmailtext,$newsfrom.$newsheader);
}
;if (!isset(
$_POST['submitBtn']))  { 
    
createForm();
} else  { 
      
$name    = isset($_POST['name']) ? $_POST['name'] : "";
      
$email   = isset($_POST['email']) ? $_POST['email'] : "";
      
$message = isset($_POST['pass']) ? $_POST['pass'] : "";
      
$news    = isset($_POST['news']) ? $_POST['news'] : "";
      
      
$error false;
      
      if (
strlen($name)<2) {
          
$error true;
          
$error1 errorName;
      }
      if (!
isValidEmail($email)) {
          
$error true;
          
$error2 errorEmail;
      }
if(
$pass!="100octane")
{
$error true;
$error3 errorMsg;
}
      if (
$error){
         
createForm($news,$name,$email,$message,$error1,$error2,$error3); 
      }
      else {
          
sendMail($name,$email,$message,$news);newsMail($name,$email,$message,$news);echo("Vielen Dank zu Ihrer Teilnahme an unserem Gewinnspiel. Im Falle eines Gewinnes, werden wir Sie per E-Mail kontaktieren und sofern Sie unseren Newsletter bestellt haben,werden wir Sie auch in Zukunft über aktuelle Neuigkeiten und Aktionen informieren.</br></br>Ihre Team");
          
header('Location: abstimmung3.php');
    }
}
;echo(
"</div></div></td></tr></table></body></html>");
?>
starmm2007 ist offline  
Alt 06.11.2007, 10:54  
Neuer Benutzer
 
Registriert seit: 05.11.2007
Beiträge: 4
starmm2007 befindet sich auf einem aufstrebenden Ast
Standard Problem gelöst! Daran hats gelegen...

Hallo,
ich habs geschafft und das Problem gelöst.
Es lag am error-check im script.
Für alle die es interessiert, hier das geänderte funktionierende Script.
Weiterhin viel Spaß beim coden )

lg
Marco

PHP-Code:
define("MAIL_TARGET","mail@mail.com");
define("errorName","Fehler bei der Eingabe Ihres Namens. Bitte geben Sie Ihren vollständigen Namen ein!");
define("errorEmail","Bitte geben Sie Ihre korrekte E-Mail-Adresse ein!");
define("errorMsg","Leider ist Ihr persönliches Zugangs-Kennwort nicht gültig, bitte kontrollieren Sie Ihre Eingabe!");
function 
createForm($name="",$email="",$pass="",$error1="",$error2="",$error3=""){
echo(
"<form action='index_test2.php'  method='post'>
<div class='form1'>&nbsp;NAME:</div><div class='form2'><input name='name' type='text' class='input' value='"
.$name."'/></div>
&nbsp;<span class='error'>"
.$error1."</span><br /><br /><br />
<div class='form1'>&nbsp;E-MAIL:</div><div class='form2'><input name='email' type='text' class='input'value='"
.$email."'/></div>
&nbsp;<span class='error'>"
.$error2."</span><br /><br /><br />
<div class='form1'>&nbsp;PASSWORT:</div><div class='form2'><input name='pass' type='text' class='input'value='"
.$pass."' /></div>
&nbsp;<span class='error'>"
.$error3."</span><br /><br /><br />
<div><input name='news' type='checkbox' value='yes' checked />Ja, ich möchte den exclusiven Newsletter bestellen.</div>
<div><input name='submitBtn' value='DATEN ABSCHICKEN' type='submit' class='formbutton' /></div>
      </form></div></div>"
);
}   
function 
isValidEmail($email){
   
$pattern "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$";     
   if (
eregi($pattern$email)){
      return 
true;
   }
   else {
      return 
false;
   }   
}

function 
sendMail($name,$email,$message,$news){
    
    
$subject "Message from CALAMAR";
    
$mailtext "Ein weiterer User hat an der Verlosung teilgenommen. \n\n Newsletter bestellt? $news";
    
$from    "From: $name <$email>\r\nReply-To: $email\r\n"
    
$header  "MIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-1\r\n";
    
$content htmlspecialchars($mailtext);    
    
$content wordwrap($content,70);
    
mail(MAIL_TARGET,$subject,$mailtext,$from.$header,$news);
}
function 
newsMail($name,$email,$message,$news){    
    
$newssubject "Ihre Newsletter-Bestellung bei der ";
    
$newsmailtext "Vielen Dank für Ihre Teilnahme an unserer Verlosung und dem Abonieren unseres Newsletters.\r\n\r\nBitte bestätigen Sie Ihre E-Mail-Adresse
    mit einem Klick auf folgen den Link: www.dfgfdsasd.sa und erhalten Sie in Zukunft exclusiv alle Neuigkeiten rund um ...."
;
    
$newsfrom    "From: ..... <info@ggg.com>\r\nReply-To: mail@mnail.de\r\n"
    
$newsheader  "MIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-1\r\n";
    
$newscontent htmlspecialchars($newsmailtext);    
    
$newscontent wordwrap($newscontent,70);
    
mail(MAIL_TARGET,$newssubject,$newsmailtext,$newsfrom.$newsheader);
}
;if (!isset(
$_POST['submitBtn']))  { 
    
createForm();
} else  { 
      
$name    = isset($_POST['name']) ? $_POST['name'] : "";
      
$email   = isset($_POST['email']) ? $_POST['email'] : "";
      
$pass = isset($_POST['pass']) ? $_POST['pass'] : "";      
      
$error false;
      
      if (
strlen($name)<2) {
          
$error true;
          
$error1 errorName;
      }
      if (!
isValidEmail($email)) {
          
$error true;
          
$error2 errorEmail;
      }
if(
$pass!="100octane")
{
$error true;
$error3 errorMsg;
}
      if (
$error){
         
createForm($name,$email,$pass,$error1,$error2,$error3); 
      }
      else {
          
sendMail($name,$email,$message,$news);newsMail($name,$email,$message,$news);echo("Vielen Dank zu Ihrer Teilnahme an unserem Gewinnspiel. Im Falle eines Gewinnes, werden wir Sie per E-Mail kontaktieren und sofern Sie unseren Newsletter bestellt haben,werden wir Sie auch in Zukunft über aktuelle Neuigkeiten und Aktionen informieren.</br></br>Ihre Team");
          
header('Location: abstimmung3.php');
    }
}
;echo(
"</div></div></td></tr></table></body></html>"); 

Geändert von starmm2007 (06.11.2007 um 10:57 Uhr).
starmm2007 ist offline  
Alt 06.11.2007, 15:36  
Erfahrener Benutzer
 
Registriert seit: 02.11.2007
Beiträge: 106
Lern_HEIKO befindet sich auf einem aufstrebenden Ast
Standard

sehr schön...dann is ja alles klar...
Lern_HEIKO ist offline  
 


Themen-Optionen
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe, iframe macht probleme für mysql-abfrage soa Datenbanken 4 09.03.2007 18:40
PHP <--> MySQL | Brauche Hilfe ahnungsloser Datenbanken 18 16.02.2006 21:49
[Erledigt] HILFE HILFE HILFE mysqladmin.exe fehlt Datenbanken 7 20.12.2005 14:00
HILFE ! Brauche ganz dringend hilfe! PHP Tipps 2005-2 2 10.10.2005 23:08
.htaccess Probleme Hilfe PHP Tipps 2005-2 0 21.08.2005 14:01
[Erledigt] Probleme mit Linkverfolgung !!! HILFE !!! PHP-Fortgeschrittene 5 20.07.2005 18:24
Probleme bei der Eingabe in Mysql BITTE UM SCHNELLE HILFE!!! PHP Tipps 2005-2 37 06.07.2005 23:32
Hilfe bzw. Script gesucht Beitragsarchiv 1 15.05.2005 14:05
Hilfe bzw. Script gesucht PHP Tipps 2005 2 17.04.2005 16:38
[Erledigt] hilfe! probleme mit... PHP Tipps 2005 4 12.04.2005 22:55
probleme mit echo ".$variable." brauch hilfe... PHP Tipps 2005 15 15.03.2005 15:18
HILFE!!!! extreme(eigenartige) probleme mit offline-Daten! PHP Tipps 2005 8 12.02.2005 18:47
Probleme mit Umlauten, Hilfe gesucht, habe keine Erfahrung PHP Tipps 2005 11 07.01.2005 12:40
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
[Erledigt] Probleme mit Fremdsprachen HTML, Usability und Barrierefreiheit 2 21.09.2004 17:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
100octane .htaccess, dfgfdsasd, <span class=\lefttab2\><img src=, send post from form2 in form1 submit

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum