Hallo,
könnte mir jemand weiterhelfen? Ich sehe vor lauter Bäumen den Wald nicht mehr. Ich bin PHP-Anfänger. Ich möchte mit php meine Html-Seite ein bißchen dynamisieren. Ich möchte meine Index.php Seite mit Parametern aufrufen, die z.B. festlegen, welche Punkte eines Menüs aufgeblättert oder geschlossen werden. Welche Inhalte und Includes eingebunden werden, etc. pp. Die Parameter sollen bei den entsprechenden Links natürlich verändert werden.
Ein Beispiel: Ein Klick auf einen Obermenüpunkt mit der Id n schaltet das Flag n collapsed/expand um. Das heißt, die Seite wird per Link mit dem Parameter neu aufgerufen und beim Laden wird der Parameter und der Link umgesetzt und die Unterpunkte je nach Flag angezeigt oder ausgeblendet.
Mit Get würde ich das glaube ich problemlos hinkriegen, aber das ganze soll nicht mit der GET-Methode, sondern über POST passieren. Ich möchte nicht, daß man meine Flags über die URL auslesen oder setzen kann. Ich liebe zwar Javascript, aber auf Javascript möchte ich bewußt komplett verzichten, da die Seite auch dann funktionieren soll, wenn Javascript deaktiviert ist.
Nach einigem googeln habe ich eine Funktion gefunden, die einen Postrequest simuliert (s.u.). Ich raff aber nicht, wie ich diese Funktion aufrufen muss. Wie kann ich sie in einen link setzen? Normalerweise würde ich ja schreiben: "<a href="index.php?flag1=wert1&flag2=wert2 etc. pp.
Wie kann ich mit der untenstehenden Funktion meine Werte über einen Link an die Seite übergeben? Das ist mir nicht ganz klar.
http://www.php-center.de/faq/faq-scripts.html#scripts-3
#! ./php -q
<?php
function PostToHost($host, $path, $referer, $data_to_send) {
$fp = fsockopen($host,80);
printf("Open!\n");
fputs($fp, "POST $path HTTP/1.1\n");
fputs($fp, "Host: $host\n");
fputs($fp, "Referer: $referer\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
fputs($fp, "Content-length: ".strlen($data_to_send)."\n");
fputs($fp, "Connection: close\n\n");
fputs($fp, "$data_to_send\n");
printf("Sent!\n");
while(!feof($fp)) {
$res .= fgets($fp, 128);
}
printf("Done!\n");
fclose($fp);
return $res;
}
$data = "pid=14&poll_vote_number=2";
printf("Go!\n");
$x = PostToHost(
"www.linux.com",
"/polls/index.phtml",
"http://www.linux.com/polls/index.phtml?pid=14",
$data
);