Stiki: seite gibt nichts wieder

hallo ich bin gerade dabei meine seite von vielem javascript auf php zu ändern.

jedoch gibt mir die seite wenn ich sie hochlade nichts wieder und im quelltext steht dann nur 

zu meinem code:

<?php

if(isset($_POST['anrede'])
 && isset ($_POST['name'])
 && isset ($_POST['vorname'])
 && isset ($_POST['strasze'])
 && isset ($_POST['ort'])
 && isset ($_POST['plz'])
 && isset ($_POST['familie'])
 && isset ($_POST['od'])
 && isset ($_POST['geburtstag'])
 && isset ($_POST['geburtsmonat'])
 && isset ($_POST['geburtsjahr'])
 ){

/*Auslesen der angegebenen Daten*/

$anrede = $_POST['anrede'];
$name = $_POST['name'];
$vorname = $_POST['vorname'];
$strasze = $_POST['strasze'];
$ort = $_POST['ort'];
$plz = $_POST['plz'];
$familie = $_POST['familie'];
$od = $_POST['od'];
$geburtstag = $_POST['geburtstag'];
$geburtsmonat = $_POST['geburtsmonat'];
$geburtsjahr = $_POST['geburtsjahr'];

/*Alter berechnen*/

$jetzt = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
$gebur = mktime(0, 0, 0, $geburtsmonat, $geburtstag, $geburtsjahr);
$alter   = intval(($jetzt - $gebur) / (3600 * 24 * 365));

/*Abfrage der Postleizahl*/

if($plz == "01067"){ $zone = 1 ;}
......

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

<head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>AVS-Service</title>
        <meta name="language" content="de" />
        <link href="basic.css" rel="stylesheet" type="text/css" media="all" />
        <link href="navigation.css" rel="stylesheet" type="text/css" media="all" />
        <link rel="shortcut icon" href="favicon.ico" />
        <link rel="icon" type="image/gif" href="animated_favicon1.gif" />

<script type="text/javascript">
            function angaben_pruefen(){

if (isNaN(plz)) {fehler += "\nDas ist eine fehlerhafte Postleizahl ";}
if (anrede == ""){fehler = "\nAnrede angeben";}
if (name == ""){fehler = fehler + "\nName angeben";}
if (vorname == ""){fehler = fehler + "\nVorname angeben";}
if (strasze == ""){fehler = fehler + "\nStraße angeben";}
if (ort == ""){fehler = fehler + "\nWohnort angeben";}
if (plz == ""){fehler = fehler + "\nPostleizahl angeben";}
if (geburtstag == ""){fehler = fehler + "\nGeburtstag angeben";}
if (geburtsmonat == ""){fehler = fehler + "\nGeburtsmonat angeben";}
if (geburtsjahr == ""){fehler = fehler + "\nGeburtsjahr angeben";}
if (familie == ""){fehler = fehler + "\nFamilienstatus angeben";}
if (od == ""){fehler = fehler + "\nBefinden Sie sich im Öffentlichen Dienst?";}

if (fehler !=""){
alert(fehler);
return false;

	}  

}

</script>

</head>

<body>  
	<div id="container">  

		  
		<div id="content">  
		<div id="wrapper">  
		  
		<!-- Anfang bereich Mitte -->  

<div id="mainContent" >

<br />
            <p align="center"><span class="dunkle_schrift">Die</span></p>
            <br />
            <p align="center"> <span class="blaue_schrift">A</span>
            <span class="dunkle_schrift">llumfassend - </span>
            <span class="blaue_schrift">V</span>
            <span class="dunkle_schrift">erständlich - </span>
            <span class="blaue_schrift">S</span>
            <span class="dunkle_schrift">icher</span>
            </p><br /><br />
            <p align="center" class="blaue_schrift">
            All In One
            </p><br /><br />
            <b>Um Ihre Anfrage bearbeiten zu können, benötigen wir von Ihnen einige Angaben.</b>
             <br />

<div id="allgemeine_angaben" >
<div class="inputfelder_links">
<form method="post">
<table border="0">

<tr>
  <td width="120px" height="25px">Anrede:</td>
  <td>
  <select name="anrede" id="anrede"  >

<option value="">Bitte Wählen</option>
  <option value="Herr">Herr</option>
  <option value="Frau">Frau</option>
</select>
</td>

</tr>
  <tr>
    <td>Name:</td>
    <td><input type="text" name="name" id="name" /></td>
  </tr>
  <tr>
  <tr>
    <td>Vorname:</td>
    <td><input type="text" name="vorname" id="vorname" /></td>
  </tr>
  <tr>
    <td>Straße:</td>
    <td><input type="text" name="strasze" id="strasze" /></td>
  </tr>
  <tr>
    <td>Ort:</td>
    <td><input type="text" name="ort" id="ort" /></td>
  </tr>
  <tr>
    <td>Postleitzahl:</td>
    <td><input type="text" name="plz" id="plz" /></td>
  </tr>
  <tr>
  </table>
  <table border="0">
    <td width="120px" height="25px">Geburtsdatum:</td>
    <td>
    <select name="geburtstag" id="geburtstag" >
    <option value="">Bitte Wählen</option>
<option value='1'>1</option>
  <option value='2'>2</option>
    <option value='3'>3</option>
    <option value='4'>4</option>
    <option value='5'>5</option>
    <option value='6'>6</option>
    <option value='7'>7</option>
    <option value='8'>8</option>
    <option value='9'>9</option>
    <option value='10'>10</option>
    <option value='11'>11</option>
    <option value='12'>12</option>
    <option value='13'>13</option>
    <option value='14'>14</option>
    <option value='15'>15</option>
    <option value='16'>16</option>
    <option value='17'>17</option>
    <option value='18'>18</option>
    <option value='19'>19</option>
    <option value='20'>20</option>
    <option value='21'>21</option>
    <option value='22'>22</option>
    <option value='23'>23</option>
    <option value='24'>24</option>
    <option value='25'>25</option>
    <option value='26'>26</option>
    <option value='27'>27</option>
    <option value='28'>28</option>
    <option value='29'>29</option>
    <option value='30'>30</option>
    <option value='31'>31</option>
    </select>
    </td>
    <td>
    <select name="geburtsmonat" id="geburtsmonat" >
    <option value="">Bitte Wählen</option>
    <option value='1'>Januar</option>
    <option value='2'>Februar</option>
    <option value='3'>März</option>
    <option value='4'>April</option>
    <option value='5'>Mai</option>
    <option value='6'>Juni</option>
    <option value='7'>Juli</option>
    <option value='8'>August</option>
    <option value='9'>September</option>
    <option value='10'>Oktober</option>
    <option value='11'>November</option>
    <option value='12'>Dezember</option>
    </select>
    </td>
    <td>
    <select name="geburtsjahr" id="geburtsjahr" >
    <option value="">Bitte Wählen</option>
    <option value='2011'>2011</option><option value='2010'>2010</option><option value='2009'>2009</option><option value='2008'>2008</option><option value='2007'>2007</option><option value='2006'>2006</option>
....

</select>
        </td>
  </tr>
  </table>
  <table>
  <tr>
    <td width="120px" height="25px">Familienstand:</td>
    <td><select name="familie" id="familie"  >

<option value="">Bitte Wählen</option>
  <option value="ledig">Ledig</option>
  <option value="ledig_mit_kind">Ledig mit Kind</option>
  <option value="verheiratet">Verheiratet</option>
  <option value="lebensgemeinschaft">Lebensgemeinschaft</option>
  </select></td>
  </tr>
  <tr>
    <td>Öffentlicher Dienst:</td>
    <td><select name="od" id="od">

<option value="">Bitte Wählen</option>
  <option value="nein">Nein</option>
  <option value="ja">Ja</option>
</select></td>
  </tr>

</table>

<input type="submit"  onclick="angaben_pruefen();" value="weiter" />
</form>
</div>
  <div class="angaben_rechts">
  <blockquote>Jedes dieser Felder ist ein Pflichtfeld und wird zur Berechnung benötigt.</blockquote>
  </div>
  </div>

</div>

		<!-- Ende bereich Mitte -->  

</div>
</div>

		<div class="clearfloat"></div>  
		</div>  
		  
	</div>  
</body>  

</html>

mir ist nicht klar warum eine leere seite erscheint.
aber ich denke das ich mal wieder einen groben fehler habe den ich mal wieder übersehe -.-

  1. @@Stiki:

    nuqneH

    jedoch gibt mir die seite wenn ich sie hochlade nichts wieder und im quelltext steht dann nur 

    Die Suche nach eben dieser Zeichenkette in der Suchmaschine deiner Wahl ergab was?

    /*Auslesen der angegebenen Daten*/

    $anrede = $_POST['anrede'];
    --8<--
    $geburtsjahr = $_POST['geburtsjahr'];

    Das Umkopieren der Werte ist sinnlos. Verwende weiterhin $_POST['anrede'] etc.

    if($plz == "01067"){ $zone = 1 ;}
    ......

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    Wofür stehen die Punkte?

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Die punkte stehen einfach dafür das da noch mehr abfragen kommen, xd

      1. @@Stiki:

        nuqneH

        Die punkte stehen einfach dafür das da noch mehr abfragen kommen, xd

        Aha.

        Fehler: Der PHP-Block ist also nicht mit ?> geschlossen.

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. @@Qapla:

          Das schließende ?> ist da habe ich anscheinend bei meinem post vergessen -.-

          ich wundere mich auch warum ich wenn ich mir eine vorschau via dreamweaver machen lasse der quelltext anstatt der meiner normalen seite erschein.

  2. Hallo,

    da ich ja PHP frei lebe, will ich zu deinem Code nichts sagen.
    Aber bei "" tippe ich auf ein BOM-Problem.

    Kay

    1. Was ist denn ein BOM problem und wie kann ich es dann beheben?

      Danke für antworten.

      1. @@Stiki:

        nuqneH

        Was ist denn ein BOM problem und wie kann ich es dann beheben?

        Was ist Wikipedia? Was ist Google? Was ist Jeopardy?

        Zur Behebung des Problems siehe Leerzeichen in Komposita, Das BOM (byte-order mark) in HTML und Darstellungsprobleme durch das UTF-8-BOM.

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
  3. Hi!

    jedoch gibt mir die seite wenn ich sie hochlade nichts wieder und im quelltext steht dann nur 

    Also ist wenigstens etwas Ausgabe vorhanden. Nun solltet du die Ursache suchen gehen. Dazu kann man beispielsweise ein

    die("foo");

    einbauen, zunächst mal am Anfang. Das foo muss dann in der Ausgabe zu sehen sein. Nun verschiebt man das immer weiter nach hinten. Wenn es nicht mehr auftaucht, ist davor der Fehler zu finden. Weitere Helfer sind auch immer wieder ein error_reporting, das auf E_ALL steht (nebst display_errors auf on) und die Kontrollausgabe der Werte beteiligten Variablen mittels var_dump().

    $jetzt = mktime(0, 0, 0, date('m'), date('d'), date('Y'));

    Ein einfaches time() liefert auch einen Timestamp der aktuellen Zeit.

    $gebur = mktime(0, 0, 0, $geburtsmonat, $geburtstag, $geburtsjahr);
    $alter   = intval(($jetzt - $gebur) / (3600 * 24 * 365));

    Das time() kann man gleich statt $jetzt einbauen.

    /*Abfrage der Postleizahl*/

    if($plz == "01067"){ $zone = 1 ;}
    ......

    Nun, vielleicht steckt der Fehler hier drin. Mit dem zwar geposteten aber überflüssig langen HTML-Code und dem abgeschnittenen PHP-Code kann ihn ein Außenstehender nicht finden.

    Lo!

  4. if($plz == "01067"){ $zone = 1 ;}
    ......

    Und da hast du 15000 if-Statements?

    switch/case oder in_array kennst du?

    1. Hi!

      if($plz == "01067"){ $zone = 1 ;}
      ......
      Und da hast du 15000 if-Statements?
      switch/case oder in_array kennst du?

      Wenn, dann hätte ich die Daten ausgelagert, in eine Datei oder Datenbank. Die von dir genannten Alternativen sind nicht wirklich besser.

      Lo!

      1. Wenn, dann hätte ich die Daten ausgelagert, in eine Datei oder Datenbank. Die von dir genannten Alternativen sind nicht wirklich besser.

        Das sowieso - ein dickes Array wo die Zuordnung der Postleitzahlen drin steht und dann wird im script nur noch ausgewertet.

        $zonen = array(  
          1 => array(  
            '01067',  
            ...  
          ),  
          2 => array(  
            ...  
          ),  
        );
        

        Noch schöner ist natürlich eine Postleitzahlenliste/-tabelle wo in einem 2. Feld die Zone steht - das ist einfacher wartbar, da man nicht eine Postleitzahl mehreren Zonen zuordnen kann - außer natürlich, das ist gewünscht, wenn es Überschneidungen gibt - z.B. bei Zuständigkeitsbetreichen von Außendienstmitarbeitern oder wie auch immer.