AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Variablen ohne <form> übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Variablen ohne <form> übergeben

Ein Thema von TheMiller · begonnen am 4. Apr 2005 · letzter Beitrag vom 25. Apr 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

[PHP] Variablen ohne <form> übergeben

  Alt 4. Apr 2005, 22:53
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
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: [PHP] Variablen ohne <form> übergeben

  Alt 4. Apr 2005, 22:56
Stichwort Session... zu Beginn deiner PHP Seite kannst du Session Variablen registrieren, mittels
Code:
session_start ;
session_register('Varname1') ;
session_register('Varname2') ;
etc.
Danach solltest du auf den folgenden Seite, welche innerhalb der gleichen Session aufgerufen werden, mittels $Varname1 rsp $Varnam2 auf den Variableninhalt zugreifen können.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#3

Re: [PHP] Variablen ohne <form> übergeben

  Alt 4. Apr 2005, 22:58
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...
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#4

Re: [PHP] Variablen ohne <form> übergeben

  Alt 4. Apr 2005, 23:24
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: Link.


Wie wäre es per Url, also GET-Parameter, wenn du nicht per Session arbeiten willst?


MfG Pr0g
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#5

Re: [PHP] Variablen ohne <form> übergeben

  Alt 4. Apr 2005, 23:31
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:
<? $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>
      


       <? }

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

Jetzt wollte ich nach einer Lösung fragen. Ich lerne ja noch, wie ihr wahrscheinlich unschwer erkennen könnt

Danke

BYe
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
bigg
(Gast)

n/a Beiträge
 
#6

Re: [PHP] Variablen ohne <form> übergeben

  Alt 4. Apr 2005, 23:34
Du kannst auch versteckte Formulare verwenden.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#7

Re: [PHP] Variablen ohne <form> übergeben

  Alt 4. Apr 2005, 23:38
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?
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#8

Re: [PHP] Variablen ohne <form> übergeben

  Alt 5. Apr 2005, 05:01
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
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#9

Re: [PHP] Variablen ohne <form> übergeben

  Alt 25. Apr 2005, 17:56
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
Jens
  Mit Zitat antworten Zitat
Strophi

Registriert seit: 15. Okt 2004
Ort: Recklinghausen
33 Beiträge
 
#10

Re: [PHP] Variablen ohne <form> übergeben

  Alt 25. Apr 2005, 20:01
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz