javarea.de Forum » PHP, MySQL & CGI
SESSION html-to-php
Antworten Neues Thema eröffnen

Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Sie müssen sich vermutlich nicht registrieren, um Beiträge verfassen zu können. Als angemeldetes Mitglied haben Sie jedoch die Möglichkeit anderen Benutzern eine Private Nachricht zu hinterlassen, oder aber die vielen Funktionen des Forums zu nutzen, die nur registrierten Benutzern vorbehalten ist. Klicken Sie oben auf Registration, um den Registrierungsprozess zu starten. Sie können auch jetzt schon Beiträge lesen. Suchen Sie einfach das Forum aus, das Sie am meisten interessiert.

Seiten (1/2): [1] 2 nächste » ... Letzte » Nächste Seite
Autor Thema
publication2006
Jungspund



Registriert seit: 16.02.2007
Beiträge: 8

Rang:


16.02.2007 - 17:05 SESSION html-to-php
SESSION html-to-php

Hallo da draußen,

hab ein kleinens Problem. Habe eine Html Auswahlliste id="xxx" name="xxx" , option value etc. Bin bisher mit 'onchange="userfunction(this.form)"' in eine JAVAfunction gesprungen. Die entsprechende Variable kann ich dann durch form.lang.selectedIndex ermitteln. Möchte jetzt aber eine PHP Session-Variable $_Session['xyz'] mit dem Parameter aus onchange füllen. Hat da einer 'ne gute Lösung???

Thanks Jörg
 zitieren 
#top
René
in Gedenken



Registriert seit: 20.03.2001
Beiträge: 4520

Rang:


16.02.2007 - 17:40 AW: SESSION html-to-php

Kommt drauf an wie du das Formular sendest:

<form ... method="get">

$_SESSION['xyz'] = $_GET['xxx'];

-----

<form ... method="post">

$_SESSION['xyz'] = $_POST['xxx'];
 zitieren 
#top
publication2006
Jungspund



Registriert seit: 16.02.2007
Beiträge: 8

Rang:


16.02.2007 - 19:09 AW: SESSION html-to-php
Vielen Dank, aber ????

Hi René,
vielen Dank für Deine Antwort. Leider krieg ich das immer noch nicht hin. Habe ja einen onchange Funktionsaufruf. Leider kriege ich die Variable nicht gelesen? Irgendeine Idee. Hier mal der Code, wobei die eigentliche Auswahl aus einer Datenbank gelesen wird.

<form name="form1">
<select id="lang" name="lang" class="Auswahl1" onchange="surfto1(this.form)">
<?php $xxtype=" ";$languages->Move(0);while ( !$languages->EOF )
{if($languages->fields["lang_id"] == $_SESSION['lang']) { $xxtype= " SELECTED";} else {$xxtype =" ";}
echo "<option value=\"" . $languages->fields["lang_id"]. "\" " . $xxtype . ">" . $languages->fields["lang_describtion"] . "</option>";$languages->MoveNext(); } ?></select></form>

Was muß anschließend in der JAVA oder PHP-Function surfto1 stehen, um den Wert auszulesen?

Vielen Dank
 zitieren 
#top
René
in Gedenken



Registriert seit: 20.03.2001
Beiträge: 4520

Rang:


16.02.2007 - 19:56 AW: SESSION html-to-php

PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 

<?php

session_start
();

$_SESSION['lang'] = (!empty($_POST['lang'])) ? $_POST['lang'] : '';

?>

<form name="form1" action="<?= $_SERVER['PHP_SELF']; ?>" method="post">
    <input name="<?= session_name(); ?>" type="hidden" value="<?= session_id(); ?>" />

    <select class="Auswahl1" id="lang" name="lang" onchange="surfto1(this.form);">
<?php

$languages
->Move(0);

while (!
$languages->EOF)
{
    echo 
'        <option value="' $languages->fields['lang_id'] . '"' . (($languages->fields['lang_id'] == $_SESSION['lang']) ? ' selected="selected"' '') . '>' $languages->fields['lang_describtion'] . '</option>' "\n";

    
$languages->MoveNext();
}

?>    </select>
</form>



Das Formular muß natürlich auch gesendet werden sonst bekommst du die Daten ja nicht zu PHP.


Beitrag geändert von René am 16.02.2007 - 20:13

 zitieren 
#top
publication2006
Jungspund



Registriert seit: 16.02.2007
Beiträge: 8

Rang:


16.02.2007 - 21:52 AW: SESSION html-to-php
Html->PHP to René

Hey René echt Klasse,

hast ja alles überarbeitet. Hätte ich schon lange mal machen müssen. Tja jetzt kommt das mit dem Senden. Da geht es nähmlich los!!! Ich habe das jetzt gekürzt, weil dort einige Sachen passieren müssen. Deshalb auch php und nicht direkt Java. Der Wert der Variable wird einwandfrei ausgelesen und myindex zugewiesen . Also bei onchange, das den eigentlichen Sendevorgang darstellt gehts zu surfto1. Da liegt bei mir der Hammer.

<?php echo '<script language="JavaScript" type="text/javascript"><!--function surfto1(form){var myindex=form.lang.selectedIndex ;}// --></script>';?>


Gruß

Jörg
 zitieren 
#top
René
in Gedenken



Registriert seit: 20.03.2001
Beiträge: 4520

Rang:


17.02.2007 - 08:32 AW: SESSION html-to-php

Hallo Jörg,

mir ist noch nicht klar was du möchtest aber das Formular bei onchange bzw. durch die Funktion surfto1 zu senden findest du unten.

PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 

<?php

echo '<script type="text/javascript">
<!--
function surfto1(form)
{
    var myindex = form.lang.selectedIndex;

    form.submit();
}
//-->
</script>'
;

?>

 zitieren 
#top
publication2006
Jungspund



Registriert seit: 16.02.2007
Beiträge: 8

Rang:


17.02.2007 - 11:19 AW: SESSION html-to-php
Muchas Gracias René

Hi, denke das ich jetzt weiterkomme. Auf jeden Fall wird der Wert jetzt korrekt zugewiesen. Wenn die Site fertig ist schicke ich Dir die URL. Aber viellecht treten bis dahin noch weitere Probleme auf.

Gruß Jörg
 zitieren 
#top
JDEmp
Freak



Registriert seit: 29.04.2002
Beiträge: 156

Rang:


20.02.2007 - 15:47 AW: SESSION html-to-php

Hallo, Ich habe ein ähnliches Problem. Und zwar bin ich dabei meine alten Scripte umzuschreiben in PHP4 bzw 5.
Aber irgendwie bekomme ich das mit der Session nicht hin. Und ich weiß einfach nicht wieso.
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 

<?php
    
if($_GET["about"] == "home")
    {
        
session_start();
        if(!
Session_is_registered('id'))
        {
            
$result mysql_query("select * from user");
            while(
$row mysql_fetch_array($result))
            {

                if(
$_POST["nickname"] == $row["nickname"] && md5($_POST["passwort"]) == $row["passwort"])
                {
                    
session_start();
                    
$_SESSION['id'] = $row["id"];
                    
header ("Location:index.php?section=user&about=home");
                }
                echo 
$row["nickname"]." ".$row["passwort"]."<br>";
            }
            echo 
$_POST["nickname"]." ".md5($_POST["passwort"])." (".$_POST["passwort"].")<br>".$_SESSION["id"];
            echo 
"<form action=\"index.php?section=user&about=home\" method=\"post\">\n";
            echo 
" Nickname:<input type=\"text\" name=\"nickname\"><br>\n";
            echo 
" Password:<input type=\"password\" name=\"passwort\"><br>\n";
            echo 
" <input type=\"submit\"><br>\n";
            echo 
" <a href=\"login.php?about=password\" target=\"_self\">lost password?</a>\n";
            echo 
"</form>\n";
        }
        else
        {
            echo 
"Hello ".$_POST["nickname"]."!\n";
        }

    }
    elseif(
$_GET["about"] == "registrierungsformular")
    {
        echo 
"<form action=\"index.php?section=user&about=registrieren\" method=\"post\">\n";
        echo 
" Nickname:<br><input type=\"text\" name=\"nickname\"><br>\n";
        echo 
" E-Mail:<br><input type=\"text\" name=\"email\"><br>\n";
        echo 
" Passwort:<br><input type=\"password\" name=\"passwort\"><br>\n";
        echo 
" <input type=\"submit\">\n";
        echo 
"</form>\n";
    }
    elseif(
$_GET["about"] == "registrieren")
    {
        
mysql_query("insert into user
        (nickname,
         email,
         passwort,
         zeit)
        values
        ('"
.$HTTP_POST_VARS["nickname"]."',
         '"
.$HTTP_POST_VARS["email"]."',
         '"
.md5($HTTP_POST_VARS["passwort"])."',
         '"
.time()."')");
        
mail($HTTP_POST_VARS["email"],"Password","Hello ".$HTTP_POST_VARS["nickname"].",\nHere are your login informations.\n\nNickname: ".$HTTP_POST_VARS["nickname"]."\nPassword: ".$HTTP_POST_VARS["passwort"]."","From: Webmaster <webmaster@jdinside.de>");
        
header ("Location:index.php?section=news");
    }
    elseif (
$_GET["about"] == "logout")
    {
        
session_start();
        
session_destroy();
        
header ("Location:index.php?section=news");
    }
    else
    {
        echo 
"<form action=\"index.php?section=user&about=home\" method=\"post\">\n";
        echo 
" Nickname:<br><input type=\"text\" name=\"nickname\"><br>\n";
        echo 
" Password:<br><input type=\"password\" name=\"passwort\"><br>\n";
        echo 
" <input type=\"submit\">\n";
        echo 
"</form>\n";
    }
?>



Ich hab das auch mal mit zwischenschritten gemacht um zu sehen welche Variablen bis wohin vorhanden sind. Und ob diese überhaupt mit der auder Datenbank übereinstimmen. Dabei ist rausgekommen, dass alles stimmt nur die Session wird halt aus irgendeinem Grund nicht geschrieben.
 zitieren 
#top
René
in Gedenken



Registriert seit: 20.03.2001
Beiträge: 4520

Rang:


20.02.2007 - 16:08 AW: SESSION html-to-php

Du kannst nicht 3 mal ein session_start(); einmal ganz am Anfang der Seite reicht aus.
 zitieren 
#top
JDEmp
Freak



Registriert seit: 29.04.2002
Beiträge: 156

Rang:


20.02.2007 - 16:12 AW: SESSION html-to-php

Daran liegt es nicht, hab es jetzt mal auf einen reduziert und die abfrage ob die Session vorhanden ist abgeänert. Ich glaub das liegt an der weiterleitung. oO Kann das sein?
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 

<?php
    
if($_GET["about"] == "home")
    {
        
session_start();
        if(!isset(
$_SESSION['id']))
        {
            
$result mysql_query("select * from user");
            while(
$row mysql_fetch_array($result))
            {

                if(
$_POST["nickname"] == $row["nickname"] && md5($_POST["passwort"]) == $row["passwort"])
                {
                    
$_SESSION['id'] = $row["id"];
                    
header ("Location:index.php?section=user&about=home"); //Kann es sein, dass hier die Variablen nicht weitergegeben werden warum auch immer?
                
}
                echo 
$row["nickname"]." ".$row["passwort"]."<br>";
            }
            echo 
$_POST["nickname"]." ".md5($_POST["passwort"])." (".$_POST["passwort"].")<br>".$_SESSION["id"];
            echo 
"<form action=\"index.php?section=user&about=home\" method=\"post\">\n";
            echo 
" Nickname:<input type=\"text\" name=\"nickname\"><br>\n";
            echo 
" Password:<input type=\"password\" name=\"passwort\"><br>\n";
            echo 
" <input type=\"submit\"><br>\n";
            echo 
" <a href=\"login.php?about=password\" target=\"_self\">lost password?</a>\n";
            echo 
"</form>\n";
        }
        else
        {
            echo 
"Hello ".$_POST["nickname"]."!\n";
        }

    }
    elseif(
$_GET["about"] == "registrierungsformular")
    {
        echo 
"<form action=\"index.php?section=user&about=registrieren\" method=\"post\">\n";
        echo 
" Nickname:<br><input type=\"text\" name=\"nickname\"><br>\n";
        echo 
" E-Mail:<br><input type=\"text\" name=\"email\"><br>\n";
        echo 
" Passwort:<br><input type=\"password\" name=\"passwort\"><br>\n";
        echo 
" <input type=\"submit\">\n";
        echo 
"</form>\n";
    }
    elseif(
$_GET["about"] == "registrieren")
    {
        
mysql_query("insert into user
        (nickname,
         email,
         passwort,
         zeit)
        values
        ('"
.$HTTP_POST_VARS["nickname"]."',
         '"
.$HTTP_POST_VARS["email"]."',
         '"
.md5($HTTP_POST_VARS["passwort"])."',
         '"
.time()."')");
        
mail($HTTP_POST_VARS["email"],"Password","Hello ".$HTTP_POST_VARS["nickname"].",\nHere are your login informations.\n\nNickname: ".$HTTP_POST_VARS["nickname"]."\nPassword: ".$HTTP_POST_VARS["passwort"]."","From: Webmaster <webmaster@jdinside.de>");
        
header ("Location:index.php?section=news");
    }
    elseif (
$_GET["about"] == "logout")
    {
        
session_destroy();
        
header ("Location:index.php?section=news");
    }
    else
    {
        echo 
"<form action=\"index.php?section=user&about=home\" method=\"post\">\n";
        echo 
" Nickname:<br><input type=\"text\" name=\"nickname\"><br>\n";
        echo 
" Password:<br><input type=\"password\" name=\"passwort\"><br>\n";
        echo 
" <input type=\"submit\">\n";
        echo 
"</form>\n";
    }
?>

 zitieren 
#top
René
in Gedenken



Registriert seit: 20.03.2001
Beiträge: 4520

Rang:


20.02.2007 - 16:20 AW: SESSION html-to-php

Wenn beim Besucher (Browser) keine Cookies erlaubt sind dann mußt du die Session_id mitschleifen entweder per POST oder Get also auch bei deinen header(....); . Schau dir mal oben den Code mit dem Formular an.

Beitrag geändert von René am 20.02.2007 - 16:26

 zitieren 
#top
Matneu
Foren As



Registriert seit: 14.04.2003
Beiträge: 1036

Rang:


20.02.2007 - 16:31 AW: SESSION html-to-php

Zumindest ist
Zitat
 Location:index.php?section=user&about=home
in HTTP/1.1 kein zulässiger Header, siehe http://de.php.net/manual/de/function.header.php
Das Mitschleifen der SID macht PHP allerdings AFAIK automatisch.

So far...
Matthias
 zitieren 
#top
René
in Gedenken



Registriert seit: 20.03.2001
Beiträge: 4520

Rang:


20.02.2007 - 16:55 AW: SESSION html-to-php

Aber nur wenn es eingestellt ist.
 zitieren 
#top
Matneu
Foren As



Registriert seit: 14.04.2003
Beiträge: 1036

Rang:


20.02.2007 - 17:32 AW: SESSION html-to-php

Zitat
 Original geschrieben von René am 20.02.2007 - 16:55
Aber nur wenn es eingestellt ist.

Dachte immer, dass das die Standardeinstellung ist.

So far...
Matthias
 zitieren 
#top
René
in Gedenken



Registriert seit: 20.03.2001
Beiträge: 4520

Rang:


20.02.2007 - 17:54 AW: SESSION html-to-php

php.ini

Zitat
 ; trans sid support is disabled by default.
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
; to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
; in publically accessible computer.
; - User may access your site with the same session ID
; always using URL stored in browser's history or bookmarks.
session.use_trans_sid = 0
 zitieren 
#top
Zeige Beiträge 1 bis 15 von 19
Seiten (1/2): [1] 2 nächste » ... Letzte »
Antworten Neues Thema eröffnen
Ähnliche Themen
PHP, MySQL & CGI --> Session Script
 
von foxi (05.06.2001 - 14:19) --> 18.2%
PHP, MySQL & CGI --> Session
 
von xabbuh (18.01.2005 - 16:08) --> 15.4%
PHP, MySQL & CGI --> Session???
 
von Andy (03.08.2001 - 14:10) --> 13.8%
PHP, MySQL & CGI --> Login via Session
 
von Matneu (04.03.2007 - 18:43) --> 11.1%
PHP, MySQL & CGI --> Globale Variable erzeugen & abfragen (Sessionproblem)
 
von sobi (16.10.2005 - 12:03) --> 5.3%
Optionen
Themen & Beitragstools
[ Druckbare Version zeigen ]
[ Dieses Thema abonnieren ]
Themenbewertung:

Gehe zu:
Alle Zeitangaben in WEZ. Es ist 22:07 Uhr. Forumregeln:
Es ist Ihnen erlaubt, neue Beiträge zu schreiben.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen erlaubt, Anhänge anzufügen.
Es ist Ihnen erlaubt, Ihre Beiträge zu bearbeiten.

RSS Feed

Powered by: JBB v.2.0.4
Copyright © javarea.de.