Warum eine PHP-Seite einmal dies anzeigt und einmal das?

<?php

if(isset($_REQUEST['dont_show_1'])){

...und da kommt jetzt alles von (eigentlich Seite 2 - (PHP-Script))...

?>

... da wurde ein Javascript eingesetzt, welches die genrierte Sitemap zeigt...

<?php }else{ ?>

...und hier wird das Eingabeformular angezeigt...

<?php } ?>

Was Sie oben - gewissermaßen symbolisiert - sehen, ist nichts anderes, als eine ganz normale "if-else-Schleife". Die Aufgabe an das Script dabei: "Prüfe, ob bereits Anforderungen zur Sitemapgenerierung geschickt sind" (if(isset($_REQUEST['dont_show_1'])){) und wenn nicht, dann zeige das Formular zur Eingabe der erforderlichen Variablen.

Im Abschnitt mit dem Formular steht wenig PHP - eine Zeile ist dabei aber besonders wichtig:

<form name="gen_sitemap" method="post" action="<?php echo $PHP_SELF; ?>">

$PHP_SELF fordert die Seite auf, sich selbst wieder zu beschicken und zwar nun mit den Inhalten des ausgefüllten Formulars, damit die Sitemap gemäß der Anforderung des Anwenders / der Anwenderin erzeugt werden kann.

Und nun zum Formular, dem einfacheren Teil des Scripts:

Eingabeformular, welches sich mit $PHP_SELF beim Versand selbst wieder aufruft
<form name="gen_sitemap" method="post" action="<?php echo $PHP_SELF; ?>"> <table align="center"> Tabellenkopf mit den Spaltenbeschriftungen <tr> <td colspan=4 align="center"> Your host (http://www.my_side.de): <input type="text" name="host" style="width:200px;"></input> </td> </tr> <tr> <td valign="top" align="center"><br><b>Exclude Path</b><br><br></td> <td valign="top" align="center"><br><b>Include Filespec</b><br><br></td> <td valign="top" align="center"><br><b>Priority</b><br><br></td> <td valign="top" align="center"><br><b>Frequency</b><br></td> </tr> <tr> Spalte mit den Eingaben für auszublendente Ordner <td valign="top" align="center"> <input type="text" name="dont_show_1"></input><br> <input type="text" name="dont_show_2"></input><br> <input type="text" name="dont_show_3"></input><br> <input type="text" name="dont_show_4"></input><br> <input type="text" name="dont_show_5"></input><br> <input type="text" name="dont_show_6"></input><br> <input type="text" name="dont_show_7"></input><br> <input type="text" name="dont_show_8"></input><br> <input type="text" name="dont_show_9"></input><br> <input type="text" name="dont_show_10"></input><br> </td> Spalte mit den Eingaben für Dateiendungen <td valign="top" align="center"> <input type="text" name="filespec_1"></input><br> <input type="text" name="filespec_2"></input><br> <input type="text" name="filespec_3"></input><br> <input type="text" name="filespec_4"></input><br> <input type="text" name="filespec_5"></input><br> <input type="text" name="filespec_6"></input><br> </td> Spalte für die Eingabe von Gewichtungen der jeweiligen Ebenen <td valign="top" align="center"> Priorities<br> Depth in Path 0: <br><br> <select onchange=document.gen_sitemap.priority_1.value=this.value> <option>select:</option> <option>1.0</option> <option>0.9</option> <option>0.8</option> </select> <br><br> Depth 1: <br><br> <select onchange=document.gen_sitemap.priority_2.value=this.value> <option>select:</option> <option>0.8</option> <option>0.7</option> <option>0.6</option> </select> <br><br> Depth 2: <br><br> <select onchange=document.gen_sitemap.priority_3.value=this.value> <option>select:</option> <option>0.6</option> <option>0.5</option> <option>0.4</option> </select> <br><br> </td> Spalte mit der Eingabe für die Besuchsfrequenz <td valign="top" align="center"> When should<br> robot return back? <br><br> <select onchange=document.gen_sitemap.comeback.value=this.value> <option>select:</option> <option>always</option> <option>hourly</option> <option>daily</option> <option>weekly</option> <option>monthly</option> <option>yearly</option> <option>never</option> </select> </td> </tr> Drei versteckte Felder (Erklärung folgt umgehend) und Versende-Button <tr> <td colspan=4 align="center"> <input type="hidden" name="priority_1" value="0.8"</input> <input type="hidden" name="priority_2" value="0.6"></input> <input type="hidden" name="priority_3" value="0.4"></input> <input type="hidden" name="comeback" value="monthly"></input> <br> <input type="submit" value="send data"></input> </td> </tr> </table> </form>

Zum Eingabeformular gibt es - bis auf die vier versteckten Felder (type="hidden") - eigentlich nichts besonderes zu sagen. Die vier Felder erhalten über eine einfach Javascript-Anweisung den ausgewählten Wert aus den vier Auswahlmenüs, sobald dieser gewechselt wird. Ansonsten beinhalten sie die auf der letzten Seite beschriebenen Standardwerte. Geänderte Werte werden mit der Anweisung: (Beispiel Auswahl "comeback") onchange=document.gen_sitemap.comeback.value=this.value übergeben. Dies nur aus einem Grund: die Arbeit mir Select-Auswahlen und Radio-Buttons hat sich für uns immer wieder als unzuverlässig erwiesen, weshalb wir auf diese Methode zurückgreifen.

und auf der nächsten Seite gehts nun an das eigenliche PHP-Script, welches die Sitemap erzeugt:

<<< Zurück zur letzten Seite       Weiter zum Sitemap-Script >>>