![]() |
[PHP] Variablen ohne <form> übergeben
Hallo,
nochmals eine Frage zu PHP. Variablen mittels <form method="post"> zu übergeben ist kein thema. Doch wie kann ich Variablen an eine andere Seite übergeben, wenn diese nicht in dem <form></form>-Tag steht? ISt das überhaupt möglich? Mit Sessions möchte ich allerdings nicht arbeiten... Danke im Voraus |
Re: [PHP] Variablen ohne <form> übergeben
Stichwort Session... zu Beginn deiner PHP Seite kannst du Session Variablen registrieren, mittels
Code:
Danach solltest du auf den folgenden Seite, welche innerhalb der gleichen Session aufgerufen werden, mittels $Varname1 rsp $Varnam2 auf den Variableninhalt zugreifen können.
session_start ;
session_register('Varname1') ; session_register('Varname2') ; etc. |
Re: [PHP] Variablen ohne <form> übergeben
Naja...
wenn's nur mit Sessions geht, dann werde ich sie doch wohl benutzen müssen. Aber ich habe im php-resource gelesen, dass man session_register('ya') nicht mehr benutzen sollte.. warum?!? - Keine Ahnung... |
Re: [PHP] Variablen ohne <form> übergeben
Ja, man sollte es nicht nutzen, einfach einmal sesion_start() aufrufen und dann per $_SESSION['der_name'] drauf zugreifen. Guck dir für eine Begründung den Kasten "Achtung" an:
![]() Wie wäre es per Url, also GET-Parameter, wenn du nicht per Session arbeiten willst? MfG Pr0g |
Re: [PHP] Variablen ohne <form> übergeben
Hm, es ist etwas komplizierter.
Ich habe eine MySQL-Tabelle. Diese wird ausgelesen und in Tabellen untereinander eingetragen. Es soll um Reisen gehen (habe ich mir jetzt mal so ausgesucht). Habe jetzt folgenden Code (Css-Styles kommen noch):
Delphi-Quellcode:
Wenn der Interessen nun auf "Reise buchen!" klickt, sollen die Daten von der ausgewählten Reise nochmal angezeigt werden. Kann ja jetzt nicht mehr die Variable "$ziel" nehmen, da diese ja die letzte Reise in der Tabelle enthält und nicht die, die der User anklickt.
<? $result=mysql_query("SELECT * FROM termine WHERE monat LIKE '".$HTTP_POST_VARS["monat"]."'");
while($row = mysql_fetch_object($result)) { $ziel = $row -> ziel; $monat = $row -> monat; $vonbis = $row -> vonbis; $preis = $row -> preis; $tage = $row -> tage; $hkat = $row -> hkat; $unterkunft = $row -> verpflegung; $rbesch = $row -> rbesch; $leistung = $row -> leistung; ?> <table border="1" width="100%" bordercolor="#316EAF" cellpadding="0" style="border-style:solid; padding:5 5 5 5"> <tr> <td width="100%" colspan="5"><?php echo $ziel ?></td> </tr> <tr> <td width="40%" align="left"><?php echo $vonbis ?></td> <td width="20%" align="center"><?php echo $tage ?> Tage</td> <td width="40%" align="right"><?php echo $preis ?> €</td> </tr> <tr> <td width="70%" colspan="2"><?php echo $hkat ?></td> <td width="30%"><?php echo $unterkunft ?></td> </tr> <tr> <td width="60%" colspan="2" valign="top" style="text-align:justify; padding:5 5 5 5"><?php echo nl2br($rbesch) ?></td> <td width="40%" valign="top" style="text-align:justify; padding:5 5 5 5">[b]Unsere Leistungen: [/b] <?php echo nl2br($leistung); ?></td> </tr> <tr bordercolor="#FFFFFF"> <td> <form action="reisebuchen.php" method="post"> <input type="submit" value="Reise buchen!"/></form></td> </tr> </table> <? } ?> Jetzt wollte ich nach einer Lösung fragen. Ich lerne ja noch, wie ihr wahrscheinlich unschwer erkennen könnt ;-) Danke BYe |
Re: [PHP] Variablen ohne <form> übergeben
Du kannst auch versteckte Formulare verwenden.
|
Re: [PHP] Variablen ohne <form> übergeben
Ja, aber was ist, wenn ich jetzt in einem Monat 5 Reisen habe. Da kann ich doch nicht 35 versteckte Formulare haben. Außerdem, wie registriere ich denn, welchen "Reise buchen!"-Button der User denn überhaupt gedrückt hat?
|
Re: [PHP] Variablen ohne <form> übergeben
Gib den Buttons namen und überprüfe auf isset($_POST['button_name'])
übrigens: HTTP_POST_VARS ist veraltet, nimm lieber die neuere superglobale variable $_POST. Du brauchst eig. keine 35 Formulare...gib einfach unterschiedliche namen wie xxx_1, xxx_2 und dann yyy_1 und yyy_2 und je nach gedrücktem button holst du dir die elemente mit ner anderen zahl hitnen. Übrigens: Wenn du auf einen festen string prüfst, nimm doch: WHERE monat = ... und nicht LIKE. Evtl. könntest du auch auf injections achten :) (mysql_escape_string()) air |
Re: [PHP] Variablen ohne <form> übergeben
Ich weiß nich tob es noch aktuell ist aber haben deine einträge in der table termine keine IDs ?
dann könntest du im <input type="hidden" name="terminid" value="<?php echo $terminid ?>"> mit ins form einfügen ein eetwas schlechtere methode wäre ein $terminid++ mit einzubauen und das <input type="hidden" name="terminid" value="<?php echo $terminid ?>"> einfügen bei der weiteren anzeige kannst du dann ja auch ein $count++ mitlaufen lassen und wenn if($count++ == $_REQUEST['terminid']){ // hier die anzeige ausgeben } aber das ist dann halt etwas unsauber |
Re: [PHP] Variablen ohne <form> übergeben
Hi,
also wenn ich Dich richtig verstehe, könntest Du folgendes probieren <?php header("Location: http://www.host.tld/script.php?var1=val1&var2=val2........."); ?> so würde ich von einem Script Namen an anderes Script übergeben: <?php $vorname='dead'; $name='kennedies'; header("Location: http://www.host.tld/script.php?vorname=$vorname&name=$name"); ?> mfg strophi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz