Formular wird nicht ausgewertet, stattdessen Fehlermeldung

So, nun hab ichs geschafft, nach ewigen hin und her, habe ich nun eine für mich vernünftige Lösung. Ist zwar ein riesen durcheinander, aber egal, es funktioniert. Zudem sind die Meldungen noch nicht korekt.

Hier die PHP-Datei:
PHP:
<?
$tempname   = $_FILES['file']['tmp_name']; 
$type       = $_FILES['file']['type']; 
$size       = $_FILES['file']['size']; 
$filename   = $_POST['bildname']; 
$filename  .= strrchr($_FILES['file']['name'], "."); 

if($type != "image/gif" && $type != "image/pjpeg") { 
    $err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden."; 
} 

if($size > "20000") { 
    $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 20 KB!"; 
} 

if(empty($err)) { 
    move_uploaded_file($tempname, './'.$filename); 
    echo 'Die Datei '.$filename.' wurde erfolgreich hochgeladen!<br /><br />'; 
} else { 
    foreach($err as $error) 
    echo "$error<br>"; 
} 

$webmaster = "info@solomat-berlin.de";

$absender = "info@solomat-berlin.de";

$betreffwebmaster = "DJ-Pool Solo:Mat";
$koerperwebmaster = "
Name: $name
Alter: $alter
Stadt / Land: $stadt

DJ-Name: $dj-name
DJ-seit: $djseit
Musikrichtung/Stil: $stil
Referenzen/Clubs: $clubs

e-Mail: $mail
Homepage: $homepage

Bildname: $bildname

kurze Beschreibung: $nachricht";
	
$mailfalsch = "<p>Fehler</p><p>Du hasst deine e-Mail Adresse falsch angegeben</p><p>Kontrolliere deine Eingabe und sende das Formular erneut ab.";

$felderleer = "<p>Fehler</p><p>Es müssen alle Felder ausgefüllt werden. Ausgenommen ist das Feld Homepage</p>";

$abgesandt = "<p>Danke,</p><p>Deine Angaben werden ausgewertet und du wirst dich, wenn alles i. O. ist in kurzer Zeit im DJ-Pool stehen sehen.</p>";

if ($name == "ja" || $alter =="ja" || $stadt =="ja" || $djname =="ja" || $djseit =="ja" || $stil =="ja" || $clubs =="ja" || $mail =="ja" || $homepage == "nein" || $bildname == "ja" || $nachricht =="ja")

{echo "$felderleer";}
else{if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$", $mail))
{mail("$webmaster","$betreffwebmaster","$koerperwebmaster\n","FROM: $absender\n");if ($kopie == "ja") 
{mail("$mail","$betreffabsender","$koerperabsender","FROM: $absender\n");
echo "$abgesandt";}
else{echo "$abgesandt";}}
else{echo "$mailfalsch";}}
?>

und hier die html-Datei:
Code:
<html>
<head>
<title>DJ-Pool</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../tbl.css" rel="stylesheet" type="text/css">
<link href="../tbl1.css" rel="stylesheet" type="text/css">
<link href="../tbl2.css" rel="stylesheet" type="text/css">
<link href="../layout.css" rel="stylesheet" type="text/css">
<link href="../scroll.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" height="100%"  border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="5%" height="5%" valign="top"><p>&nbsp;</p>    </td>
    <td width="90%" height="5%" valign="top">&nbsp;</td>
    <td width="5%" height="5%" valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td width="5%" height="90%" valign="top">&nbsp;</td>
    <td width="90%" height="90%" valign="top"><p>/ 
        DJ-Pool // Formular</p>
      <table width="100%"  border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td align="right" class="tbl"><form enctype="multipart/form-data" action="danketest.php" method="post">
            <table width="100%" border="0" cellpadding="0" cellspacing="0">
              <tr align="right">
                <td valign="top">Name* |</td>
                <td width="20" valign="top">&nbsp;</td>
                <td width="180" align="right"><input type="text" name="name" size="40"></td>
              </tr>
              <tr align="right">
                <td valign="top">Alter* |</td>
                <td width="20" valign="top">&nbsp;</td>
                <td width="180" align="right"><input type="text" name="alter" size="40"></td>
              </tr>
              <tr align="right">
                <td valign="top">Stadt / Land* |</td>
                <td width="20" valign="top">&nbsp;</td>
                <td width="180" align="right"><input type="text" name="stadt" size="40"></td>
              </tr>
              <tr align="right">
                <td valign="top"><p></td>
                <td width="20" valign="top">&nbsp;</td>
                <td width="180" align="right">&nbsp;</td>
              </tr>
              <tr align="right">
                <td valign="top">DJ-Name* |</td>
                <td width="20" valign="top">&nbsp;</td>
                <td width="180" align="right"><input type="text" name="djname" size="40"></td>
              </tr>
              <tr align="right">
                <td valign="top">DJ seit* |</td>
                <td width="20" valign="top">&nbsp;</td>
                <td width="180" align="right"><input type="text" name="djseit" size="40"></td>
              </tr>
              <tr align="right">
                <td valign="top">Musikrichtung/Stil* |</td>
                <td width="20" valign="top">&nbsp;</td>
                <td width="180" align="right"><input type="text" name="stil" size="40"></td>
              </tr>
              <tr align="right">
                <td valign="top">Referenzen/Clubs* |</td>
                <td width="20" valign="top">&nbsp;</td>
                <td width="180" align="right"><input type="text" name="clubs" size="40"></td>
              </tr>
              <tr align="right">
                <td valign="top">&nbsp;</td>
                <td width="20" valign="top">&nbsp;</td>
                <td width="180" align="right">&nbsp;</td>
              </tr>
              <tr align="right">
                <td valign="top"><p>E-Mail-Adresse* |</td>
                <td width="20" valign="top"></td>
                <td width="180" align="right"><input type="text" name="mail" size="40"></td>
              </tr>
              <tr align="right">
                <td valign="top">Homepage |</td>
                <td width="20" valign="top">&nbsp;</td>
                <td width="180" align="right"><input name="homepage" type="text" id="homepage" value="http://" size="40"></td>
              </tr>
              <tr align="right">
                <td valign="top">&nbsp;</td>
                <td width="20" valign="top"></td>
                <td width="180" align="right">&nbsp;</td>
              </tr>
              <tr align="right">
                <td valign="top">Bild |</td>
                <td width="20" valign="top"></td>
                <td width="180" align="right"><input name="file" type="file"></td>
              </tr>
              <tr align="right">
                <td valign="top">Bildname | </td>
                <td width="20" valign="top"></td>
                <td width="180" align="right"><input name="bildname" type="text" value="z.B. DJ-Name max. 10 Zeichen" size="40" maxlength="10"></td>
              </tr>
              <tr align="right">
                <td valign="top">&nbsp;</td>
                <td width="20" valign="top"></td>
                <td width="180" align="right">&nbsp;</td>
              </tr>
              <tr align="right">
                <td valign="top">kurze Beschreibung* |</td>
                <td width="20" valign="top"></td>
                <td width="180" align="right"><textarea name="nachricht" rows="5" cols="30"></textarea></td>
              </tr>
              <tr align="right">
                <td colspan=3>Die Felder, die mit * gekennzeichnet sind, m&uuml;ssen ausgef&uuml;llt werden. </td>
              </tr>
              <tr>
                <td colspan=2></td>
                <td align="right">
                    <input name="submit" type="submit" value="Abschicken">
                    <input name="reset" type="reset" value="Daten l&ouml;schen"></td>
              </tr>
            </table>
          </form></td>
        </tr>
      </table>      </td>
    <td width="5%" height="90%" valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td width="5%" height="5%" valign="top">&nbsp;</td>
    <td width="90%" height="5%" valign="top">&nbsp;</td>
    <td width="5%" height="5%" valign="top">&nbsp;</td>
  </tr>
</table>
</body>
</html>


Ich möchte für die Meldungen jeweils Extra Seiten machen, wie kann ich das einfügen?
Beispielsweise soll sich bei
Code:
$felderleer = "<p>Fehler</p><p>Es müssen alle Felder ausgefüllt werden. Ausgenommen ist das Feld Homepage</p>";
die Seite fehler.htm öffnen. Wie bekomm ich das hin? Kann mir jemand helfen?
 
Musst Du eigentlich in 2 Threads eines Forums haargenau den gleichen Beitrag posten?

Wenn Du im Fehlerfall eine neue Seite öffnen willst, dann musst Du die Ausgabe der eigentlichen Seite verhindern und entweder stattdessen die Fehlerseite ausgeben, oder Du leitest auf die Fehlerseite weiter:
PHP:
header('Location: http://www.meinserver.de/fehler.html');

--> http://de.php.net/header

Möchtest Du stattdessen die Fehlerseite in einem Extera-Fenster öffen, so musst Du zusätzlich zur Ausgabe des eigentlichen HTML-Codes JavaScript-Code ausgeben, der Dir ein Popup-Fenster erzeugt.


// EDIT: Habe den PHP-Code nochmal überarbeitet. Das Forum hat die URL in einen A-Tag eingebettet.

snuu
 
Zuletzt bearbeitet:
Original geschrieben von Chino
Sag mal gehts noch? Erst postest Du Zeilenweise Quelltext und dann gleich zwei mal. Achte Doch bitte auf die Netiquette!

Ja, ist richtig, werd es ändern und ein Verweis zu diesem Thread machen. Nächstes mal gehts auch ein wenig freundlicher. Würde mich freuen hier nicht so angefahren zu werden.

Trotzdem allen helfenden auch dir Chino vielen dank für die Hilfe.

@ snuu
Vielen Dank, werds gleich mal ausprobieren.
 
Fehlermeldungswirrwarr

Zu früh gefreut.

Mein jetziges Problem zeugt aus der Zusammenstellung zweier Scripte.
Einmal das normale Formular und das Bilder-Upload-Formular.

Dadurch habe ich jetzt in meinem Script die Fehlermeldungen aus beiden Formularscripts. Die Harmonieren leider nicht so gut wie gewünscht, kann mir da einer Abhilfe schaffen. Kenn mich leider mit den Befehlen zu wenig aus, zu wenig ist gut, so gut wie garnicht. Also wenn jemand bereit ist, schonmal vielen Dank.

Hab hier mal die Datei mit Dem Formular, das Php Script und die Meldungen mit angehangen.
 

Anhänge

Zurück