Includes aus php direkt
obidan
- php
Hallo zusammen,
ich habe folgendes Problem:
Ich binde eine PHP-Datei in einen statischen HTML-Rahmen ein, genauer gesagt in eine Zelle einer Tabelle dieses Rahmens. Die PHP-Datei liest Daten aus einer MySQl-DB und erzeugt dynamisch eine Tabelle mit Bestellposten.
Nach einer Bestell-Auswahl soll per Druck eines Buttons oder durch anklicken eines als Hyperlink referenzierten Image ein neues include stattfinden, dass in die selbe Tabellenzelle nun eine Übersicht der bestellten Posten zur Bestätigung lädt.
Mein Problem ist, wie ich zwei verschiedene includes je nach Bedarf an derselben Stelle ausführe. Ich habe es mit einem Hidden-Feld probiert (<input type='hidden' name='send' value='1'>), dass am Ende des PHP-Konstrukts steht und wollte im HTML-Dokument eine Isset-Abfrage machen. Allerdings war die Variable $send nicht bekannt.
Zur Veranschaulichung hier noch die entscheidenden Auszüge des Quellcodes:
DER HTML-RAHMEN:
<html>....
<?php
include("test.php");
include("pruefung.php");
/*Diese beiden Includes sollen je nach Abhängigkeit ausgeführt werden. test.php wird immer zuerst geladen. Wenn innerhalb von test.php auf das Bild für den Warenkorb geklickt wird soll pruefung.php (aus test.php heraus) in die selbe Zelle geschrieben werden*/
?>
Ich habe bisher folgendes versucht:
HTML:
<?php
if(isset($send)) {
include("pruefung.php");
}
else {
include("test.php");
}
?>
PHP:
(in test.php)
...
echo "<input type='hidden' name='send' value='1'>";
//--> hierbei war $send unbekannt, auch wenn wenn als global deklariert.
und
PHP:
...
echo "<form name='form1' action='pruefung.php' method='post'>
//-->dann wird es nicht in dieselbe TB-Zelle geladen
Bin momentan echt ratlos und für Vorschläge dankbar.
PS: Hoffe ich habe mich verständlich ausgedrückt, ansonsten bitte noch mal nachfragen!
Hallo Obidan,
Mein Problem ist, wie ich zwei verschiedene includes je nach Bedarf an derselben Stelle ausführe. Ich habe es mit einem Hidden-Feld probiert (<input type='hidden' name='send' value='1'>), dass am Ende des PHP-Konstrukts steht und wollte im HTML-Dokument eine Isset-Abfrage machen. Allerdings war die Variable $send nicht bekannt.
Nimm, wenn Du den Request-Type kennst, $_GET['send'] bzw.
$_POST['send'], und im Zweifelsfalle $_REQUEST['sent']. Für weitere
Informationen kannst Du einen Aufsatz von Kristian Köhntopp
ergoogeln.
Ich habe bisher folgendes versucht:
HTML:
<?php
if(isset($send)) {
include("pruefung.php");
}
else {
include("test.php");
}
?>
Ich persönlich würde dafür einfach eine zweite PHP-Datei schreiben
und diese beim Klicken des Links aufrufen lassen, oder per Parameter
à la ?send=1 prüfen, ob (bool)$_GET['send'] wahr ist.
Ciao,
Peter
Hallo,
Versuchs mal so (falls bei dir register_globals aus is in der php.ini muss das so sein):
In deiner HTML Datei:
[...]
<?php
if($_POST["send"] == "1") { // nimm statt $_POST $_GET wenn das formular als method GET hat
include("pruefung.php");
}
else
{
include("test.php");
}
?>
[...]
In deinter PHP-Datei (wohl test.php)
[...]
echo "<input type='hidden' name='send' value='1'>";
[...]
Mit freundlichen Grüßen,
Michael Nagler