Mehrere Variablen in URL übergeben

Wie ich in mehreren Mailinglisten von professionelen Buchverkäufern erfahren habe, werden von den Suchmaschinen - auf deren Indexierung man natürlich immer hofft - statische html-Seiten ausgewertet, dynamische aber nicht.

Dieses kann man jedoch mit direktem Eingriff in die Webserverconfig (bei Apache mit mod_rewrite) umgehen oder Beispielsweise für die Wichtigsten Parameter Unterverzeichnisse erstellen. Die IndexDatei in jedem Unterverzeichnis wandelt dann den Baum in die Parameter um und Leitet weiter.

Als Beispiel: http://www.test.de/index.php?cat=auto&motor=diesel
Dann legst du ein Verzeichnis auto und darunter ein Verzeichnis diesel an. Die index-Datei im Verzeichnis Diesel leitet dann entsprechend weiter.
Ist zwar etwas Aufwand, aber mit dem passenden Script einfach realisierbar, vor allem wenn man nicht an der Serverconfig drehen kann.
In irgendeiner Ausgabe von phpArch war diesbezüglich mal ein Artikel drin...
 
hi gudrunS,

also das sind doch schon mal angaben mit denen man alles anfangen kann.

selbst du bist schon auf eine problemlösung gestossen. ;)

nun zu deiner bestellungverarbeitung.

wenn du nun ein buch bestellen möchtest, würde ich das ganze (da mysql-datenbank ja nicht gewünscht wird) mit hidden-tags verarbeiten.

das läuft wie folgt:

du erstellst deine html seiten. legst dann einen form-tag an und in den form-tag legst du wiederum hidden-tags. das ganze in der detailansicht eines buches.

sieht wie folgt aus:

<form action="bestellung.php" method="post">
<input type="hidden" name="autor" value="$autor">
<input type="hidden" name="titel" value="$titel">
<input type="hidden" name="buch_nr" value="$buch">
<input type="hidden" name="preis" value="$preis">

dort wo dein link ist - bestellen - machst du einfach einen

<input type="image" src="pfad_zum_bild" width="breite_des_bildes" height="hoehe_des_bildes" border="0">

ein bildbutton rein.

wenn man nun auf bestellen klickt, werden die variablen an das von dir per link gezeigte bestellformular übermittelt. somit werden die leeren felder gefüllt bzw. autor, titel usw..

jetzt musst du aber darauf achten, das du diese hidden-tags wieder in dem formular http://www.diebuecherwuermer.de/test/bestellung.php einbindest, damit beim absenden der anderen daten auch die buchdaten mit übermittelt werden. und schon hast du alles was du brauchst.

denk auch daran eine fehlerprüfung einzubinden. denn es könnte jemand eine emailadresse angeben die nicht korrekt ist ;)
 
Danke!

Vielen Dank für die ganzen Hilfen.

Ich habe jetzt die Hauptprobleme gelöst, d.h. die Buchseite übergibt die Buchdaten an das Formular und dort landen sie auf allen Plätzen, auf die sie sollen, werden verschickt und landen auch auf der Bestätigungsseite.

Ich habe jetzt noch ein paar kleine, aber eher optische Probleme.
Z.B. werden bei der Fehlerüberprüfung die vorher ausgewählten Radio-Buttons leer zurückgegeben. Das habe ich aber auch schon auf professionellen Seiten gesehen, daher denke ich, dass das nicht so einfach zu lösen ist.

Aber nochmals vielen Dank!

Gruß
GudrunS
 
natürlich ist das zu lösen. wenn das nicht bei professionellen seiten enthalten ist, ist sie auch nicht professionell ;)

es ist recht einfach. es läuft mit if / else ab.

beispiel:

<form name="form1" >
<input type="radio" name="radiobutton" value="1"> ja
<input type="radio" name="radiobutton" value="2"> nein
<input type="radio" name="radiobutton" value="3"> weis nicht
<input type="submit" name="test" value="testen">
</form>

wenn du nun das formular absendest, geht das ganze ja in eine prüfung über. d.h. du prüfst, ob die felder a) richtig (email) ausgefüllt sind oder b) ob die pflichtfelder ausgefüllt sind.

wenn du nun für den bereich radiobutton auch eine prüfung einbeziehen willst - oder auch nicht, muss ja der bereits gewählte wert wieder erscheinen und das geht so:

PHP:
<?php
echo "<form name=\"gleiche_datei.php?test=\" method=\"post\" name=\"radiobutton_test\">
  <input type=\"radio\" name=\"radiobutton\" value=\"1\""; 
  if($radiobutton == 1) { echo "checked"; } echo "> ja 
  <input type=\"radio\" name=\"radiobutton\" value=\"2\"";
  if($radiobutton == 2) { echo "checked"; } echo "> nein 
  <input type=\"radio\" name=\"radiobutton\" value=\"3\"";
  if($radiobutton == 3) { echo "checked"; } echo "> weis nicht 
  <input type=\"submit\" name=\"test\" value=\"testen\">
</form>";?>
 
Zurück