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