PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Behält SESSION Daten auf Folgefenster nicht? Verzweiflung naht....! (https://www.php-resource.de/forum/php-developer-forum/36268-behaelt-session-daten-auf-folgefenster-nicht-verzweiflung-naht.html)

danmon 30-03-2004 22:55

Behält SESSION Daten auf Folgefenster nicht? Verzweiflung naht....! Warenkorbfunktion
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich bin schon wieder immer noch am selben Problem (und das Verständnis hat sich nicht verbessert:
Ich habe 2 Frameseiten (ich weis, viel sagen das ich nicht so dolle) ist aber auch grad gar nicht mein Problem.
Ich will testen, wie es geht, dass ich mit 2 Button und zwei verschiedenen Eingaben von einer Frameseite auf eine andere Daten rüberbekomme. Das hat wunderbra geklappt. Mein problem. Es speichert aber nicht die Daten der einen Eingabe, wenn ich eine neue Eingabe mit dem weiteren Button dazufügen will. Ich verstehe es nicht. Ich werde zwar noch selber weiter lesen, bin aber langsam echt ratlos. Ich dachte mit Session lese ich ein und mit der anderen Ausgabe lese ich alles, was sich im /tmp befindet wieder aus. Ich habe schon probiert auf der "linken Frameseite" die daten in /tmp einzulese und nur auf der rechten seite wieder auslesen zu lassen. hat nichts gebracht. alles nur weiß im Browser. Jetzt hat das Nachfolgeskript alles im Frame auf der rechten Seite. für etwaiige Anregunge mit welchen Befehlen ich möglicherweiese noch arbeiten muss, bin ich sehr dankbar. Ich möchte nicht mit Cookies und Datenbank arbeiten. Das kommt alles zu einem späteren Zeitpunkt. Das Buch zur Datenbank liegt vor meiner Nase zur "Nochdurcharbietung".
Recht vielen Dak für. evtl. Hilfe im Voraus.


Das war ursprünglich.... jetzt kommt verbesserte Version!!!!!
Danke bereits im Voraus, falls einer helfen möchte und kann.
Daniel:confused: :confused: :confused:

ACHTUNG. Das ist schon die neue funktionierende und ausgebesserte Version. Die urprünglich nicht speichernde aber recnende Funktion ist weiter unten!!!!!!!


Frameeingan index.php
________________________
EDIT:
<? session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>Frameset</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<frameset cols="300,*" frameborder="YES" border="1" framespacing="0">
<frame src="links.php?<?=SID?>" name="leftFrame" scrolling="NO" noresize>
<frame src="rechts.php?<?=SID?>" name="rightFrame">
</frameset>
<noframes><body>
</body></noframes>
</html>




__________________________________
links.php
__________________________________

PHP-Code:

<?
session_start
();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>LEftframe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>


<form name="form1" method="post" action="rechts.php?<?=SID?>" target="rightFrame">
<input name="MengeRohrzange" type="text"> <br>
<input type="submit" name="Rohrzange1" value="senden">
</form>

</body><html>


_________________________________________
rechts.php
_____________________

PHP-Code:

<?
session_start
();
?>

<?php



// Rohrzange



$_SESSION['MengeRohrzange'] = isset($_POST['MengeRohrzange'])?$_POST['MengeRohrzange']:'';
if(
$_SESSION['MengeRohrzange']>0) {

session_register("SummeRohrzange");
$SummeRohrzange=20*$_SESSION['MengeRohrzange'];


echo 
"Gesamtsumme: ";
echo 
$SummeRohrzange;
echo 
"<br>";
echo 
"gesicherte datei";
echo 
$_SESSION['SummeRohrzange'];
echo 
"<br>";
echo 
"Einzelsumme: ";
echo 
$_SESSION['MengeRohrzange'];
if (
$SummeRohrzange>$_SESSION['SummeRohrzange']) {
     
session_unregister("SummeRohrzange");
     }
     if   (!
$_SESSION['SummeRohrzange']) {
        
session_register("SummeRohrzange");
           
$SummeRohrzange=20*$_SESSION['MengeRohrzange'];
     }

if (
$SummeRohrzange<$_SESSION['SummeRohrzange']) {
     
session_unregister("SummeRohrzange");
     }
     if   (!
$_SESSION['SummeRohrzange']) {
        
session_register("SummeRohrzange");
           
$SummeRohrzange=20*$_SESSION['MengeRohrzange'];
     }

}

?>


Für Verbesserungen etc. bin ich absolut offen!!!

marc75 31-03-2004 08:42

PHP-Code:

session_register("Rohrzange");
session_Register("SummeRohrzange"); 

ist veraltet, schau mal ins Online-handbuch nach.

www.php.net

Um auf die Session in der näcsten Seite zugreifen zu können muss die aktuelle Sessionid vorhanden sein, endweder per cookies oder url übergeben.

danmon 31-03-2004 09:12

Ich starte noch einmal einen Versuch. sonst wird es nächet dauern, bsi ich damit klarkomme. Es wird Sommer...:huep:


gut. veraltet ja. ich gebe dir echt. aber dennoch funktionabel. ausser natürlich die Falschrschreibung session_Register.
aber wie gesagt. das löst mein problem alles nicht. ich habe mich gestern zum x-ten mal eingelesen und zusätzlich mit deiner aussage klingte es so, als müsste ich direkt bei der Frameeingangsseite die SID bestimmen lassen und ständig als URL mitführen. Den Rest scheint PHP dann selsbtsäind zu machen.
und die wichigste erkenntnis für mich: ich muss gar nicht stänig <?session_start()?> ausführen? er belibt im Ordenr solange, bis ich entweder zeitlich oder manuell mich auslogge?

Daniel I'm :dontknow: :confused:

Where ist the.....:teach: ????

danmon 31-03-2004 20:14

letzter versuch. im ganzen net gibt es nix
 
letzter Versuch.....:dontknow: <- und das scheint wohl noch lange zu bleiben. :goth:

TobiaZ 31-03-2004 20:22

benutz mal [php]-tags. dann kann man das ganze auch lesen!

danmon 31-03-2004 20:26

mit den tags hast du recht... ich hatte das nur voller verzweiflung hier reingesetzt nach einem langen Tag. Ich werde mich beim nächsten mal dran halten. Zur Übersichtlichkeit fast unentbehrlich. Noch einmal: du hast recht:beer:

TobiaZ 31-03-2004 20:32

es spricht nichts dagegen hier die edit-funktion zu benutzen ;)

BTW: die Ausrede zählt schon längst nicht mehr... :D

danmon 31-03-2004 20:35

Versuch der verbesserten Übersicht(auf die schnelle):

DAS IST DIE URSPRÜNGLICH ALTE, NICHT-FUNKTIONIERENDE VARIANTE: VORNE DIE VARIANTE UND EINS AUF DER NÄCHSTN SEITE GEHT!!!!
__________________________________________________________

Frameeingangsseite.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>Frameset</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<frameset cols="300,*" frameborder="YES" border="1" framespacing="0">
<frame src="links.php" name="leftFrame" scrolling="NO" noresize>
<frame src="rechts.php" name="rightFrame">
</frameset>
<noframes><body>
</body></noframes>
</html>

______________________________________________________

Frame links = links.php


PHP-Code:

<?
session_start
();
?>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>LEftframe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<form name="form1" method="post" action="rechts.php?<?php echo SID?>" target="rightFrame">
<input name="MengeRohrzange" type="text"><br>
<input type="hidden" name="Rohrzange" value="<?php echo session_id(); ?>">
<input type="submit" name="Rohrzange1" value="senden">
</form>


<form name="form1" method="post" action="rechts.php?<?php echo SID?>" target="rightFrame">
<input name="MengeHammer" type="text"><br>
<input type="hidden" name="Hammer" value="<?php echo session_id(); ?>">
<input type="submit" name="Hammer1" value="senden">
</form>
___________________________________________________________

Frame rechts = rechts.php

<?
session_start
();
?>

<?php
//Rohrzange
$MengeRohrzange=$_POST["MengeRohrzange"];
if (
session_id()) 
{
session_register("Rohrzange");
session_Register("SummeRohrzange");
$Rohrzange=20;
$SummeRohrzange$Rohrzange*$MengeRohrzange;
}
?>

<?php
if($SummeRohrzange>0) {
echo 
"Summe: ";
echo 
$SummeRohrzange;
echo 
"<br>";
echo 
"MengeRohrzange: ";
echo 
$MengeRohrzange " Stück zu je: " $Rohrzange " €";
echo 
"<hr>";
}
?>


<?php
// Hammer
$MengeHammer=$_POST["MengeHammer"];
if (
session_id()) 
{
session_register("Hammer");
session_Register("SummeHammer");
$Hammer=10;
$SummeHammer$Hammer*$MengeHammer;
}

?>

<?php
if($SummeHammer>0) {
echo 
"Summe: ";
echo 
$SummeHammer;
echo 
"<br>";
echo 
"MengeHammer: ";
echo 
$MengeHammer " Stück zu je: " $Hammer " €";
}
?>
// bringt zur Speicherung auch nix

<?if (isset($SummeRohrzange)) {
echo 
$SummeRohrzange;
}
?>


danmon 31-03-2004 20:43

aber so langsam scheine ich drauf zu kommen;

1.)Frameeingangsseite bereits mit session_id(); aufrufen und auf einzelne frameseiten übergeben.
2.) $_Session['name']=$name bzw. $_POST['name'] nutzen
3). und Ständig die Übergabe mittels hidden realisieren.

Wie heisst es so schön? (auf mich bezogen);
Denken ist Luxus: man muss sich nur Luxus gönnen wollen....:cool:

Ich werde mal weiter die scripte schreiben. wenn ich die lösung habe, setze ic sie mit rein. sollte jemand ein schwerwiegendes problem und ein lösung dazu haben, bin ich für eine info an begriffen und URL's sehr dankbar.

Schönen Gruß

danmon 31-03-2004 22:53

puh. so langsam kommt Licht ins Wirrwarr (.aps Vergleich und eure Hilfe sei dank)
 
ich glaube, ich habe es so langsam. ich habe mich mit session_register(); und session_start(); total verrant.
die lösung wurde hier schon angesprochen: ich war eben nur der sehende mit einer augenbinde. sorry.

jetzt klappt meine vorstellung zu ca. 60%

ein frameseite registriert lediglich, der andere frame ruft über ausgabe session_start die daten ab.
in dem abrufframe einfach mit (wie wohl auch hier schon gesagt)
$_SESSION['name'] arbeiten. schon ist es da. UND: Es werden die Daten beibehalten!!!! das war das Wichtigste für mich.

zumindest funktioniert es recht gut. bin mit dem script noch nicht fertig, da ich noch ne "menge" einzelprobleme habe, aber sobald es fertig ist, stelle ich es zur "ansicht" , "kritik" , "verbesserung" rein.

(wer meint, ich sei ein depp, da es doch einfach ist: ich nehme mir das zur zeit gerne an. aber in einem monat sprechen wir uns wieder. da weis ich dann schon mehr :rocks: ;) . )

servus daniel

danmon 02-04-2004 02:25

brauche weiter EURE Hilfe!!!
 
Heraus genommen, da ich einen Fehler gemacht habe. Der Beitrag ist jetzt 2 Tabellen weiter unten zu finden.:rolleyes:

danmon 02-04-2004 02:27

wo ist der REST?
 
Wo ist der rest des Scriptes geblieben???????

danmon 02-04-2004 02:33

und noch einmal das skript.
 
da habe ich wohl irgendwo msit gebaut. und die funktion ausbessern getht auch nicht mehr... schrecklich. also!!!


NOCH EINMAL:

Also, ich habe das Script komplett überarbeitet und noch einige Dinge so eingeführt.
Was mich jetzt noch nervt ist diese Meldung. Jetzt verstehe ich überhaupt nicht mehr, wieso die jetzt noch da ist. wohl doch noch die session_register. aber wie ich das skript iohne schreiben soll, entbehrt mir noch die Logik, ohne dass eine Fehlermeldung kommt, das POST..... eine globale Variable sei....):
Woher kommt das?:::

Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0


Also mein skript funktioniert mit einem kleinen Trick (ausgeben lasse ich als Summe vorest über eine normale Variable und die gesicherte Variable soll im Hintergrud mitlaufen. Die SESSION-Summe kann dann ganz normal in weitere Berechnungen mitgeführt werden...

Hier das Skript: (ich bastel an verbesserungen weiter!!!!!!!! und bin für jeden rat sehr dankbar!!!!!!!!!!!)


für jede Verbesserung bin ich offen!!!


Frameeingan index.php
________________________
EDIT:
<? session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>Frameset</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<frameset cols="300,*" frameborder="YES" border="1" framespacing="0">
<frame src="links.php?<?=SID?>" name="leftFrame" scrolling="NO" noresize>
<frame src="rechts.php?<?=SID?>" name="rightFrame">
</frameset>
<noframes><body>
</body></noframes>
</html>




__________________________________
links.php
__________________________________

PHP-Code:

<?
session_start
();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>LEftframe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>


<form name="form1" method="post" action="rechts.php?<?=SID?>" target="rightFrame">
<input name="MengeRohrzange" type="text"> <br>
<input type="submit" name="Rohrzange1" value="senden">
</form>

</body><html>


_________________________________________
rechts.php
_____________________

PHP-Code:

<?
session_start
();
?>

<?php



// Rohrzange



$_SESSION['MengeRohrzange'] = isset($_POST['MengeRohrzange'])?$_POST['MengeRohrzange']:'';
if(
$_SESSION['MengeRohrzange']>0) {

session_register("SummeRohrzange");
$SummeRohrzange=20*$_SESSION['MengeRohrzange'];


echo 
"Gesamtsumme: ";
echo 
$SummeRohrzange;
echo 
"<br>";
echo 
"gesicherte datei";
echo 
$_SESSION['SummeRohrzange'];
echo 
"<br>";
echo 
"Einzelsumme: ";
echo 
$_SESSION['MengeRohrzange'];
if (
$SummeRohrzange>$_SESSION['SummeRohrzange']) {
     
session_unregister("SummeRohrzange");
     }
     if   (!
$_SESSION['SummeRohrzange']) {
        
session_register("SummeRohrzange");
           
$SummeRohrzange=20*$_SESSION['MengeRohrzange'];
     }

if (
$SummeRohrzange<$_SESSION['SummeRohrzange']) {
     
session_unregister("SummeRohrzange");
     }
     if   (!
$_SESSION['SummeRohrzange']) {
        
session_register("SummeRohrzange");
           
$SummeRohrzange=20*$_SESSION['MengeRohrzange'];
     }

}

?>


cia Daniel
:confused: (Übrigens: Das Script habe ich nicht kopiert, sondern mit Hilfe der Fachlyrik meiner Bücher und des Nets geschrieben.....Und für einen ANfänger ist das nicht schlecht!)

danmon 02-04-2004 02:36

mist. <Trinitäts-Operator ?: >also noch meine nächste Frage für die Cracks hier
 
wieso geht in dem Script der Trinitäts-Operator - ?: - nicht?
Gemeint ist damit, dass ich bereits von links.php auf rechts.php eine Übertragung der Variablen $SummeRohrzange hinbekomme, so dass ich sie sie auf rechts.php auswerten lasse, ausschreiben lasse (echo) und damit weiterarbeitn kann. ähnlich dem Text feieingebbaren Text aus links.php.
Ich habe es ausprobiert und kam nicht daruf. Bei mir klappt es nicht!

es ist doch lediglich antwort1 ? antwort2 : antwort 3
->oder? ich werd noch.....

Für diese Antwort liege ich dem Beantworter zu Füßen!!!!

Schönen Gruß
Daniel

danmon 02-04-2004 09:57

???
 
so langsam gewinne ich den eindruck, dass über dieses thema hier auch keiner genau was weis und des halb keine antworten kommen.....
allerdings würde das passen. ich habe im internet nirgendwo die Lösung meines problems gefunden. auch immer nur anfragen, ohne dass etwas dabei rumkam.

also noch einmal. wenn jemand einen tip hat: der könnte für die Net-Community ind Zukunft wirklich Abhife schaffen und wäre die gefragte person hier....

Daniel:dontknow:


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:16 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG