[PHP / JS] Sessies en window.open

Pagina: 1
Acties:

  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

Topicstarter
Ik heb een script gescrheven dat een window.open bevat.

In mozilla geen probleem,
in explorer lijkt mijn sessie elke keer kwijt te zijn,
althans: hij vraagt om nogmaals in te loggen.

Daarna: dan werkt het wel goed!
Opent hij nog een window ZONDER moeilijk te doen.

Is dit bekend?

Ik ben nog geen echt goede scripter. Maar hier is mijn code,
er zijn nog twee andere bestanden, die kan ik op verzoek wel tonen.

PHP:
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?

// Start session.
session_start();

// import MySQL connection
require_once("extend/mysql.connect.inc.php");
// import session connect
require_once("extend/secure.connect.inc.php");


?>

<html>
    <head>
        <title> uu.sources.php </title>
        <link rel="Stylesheet" href="style.css" type="text/css" title="Stylesheet">
        <script type="text/javascript">
            
            // define what should be wrapped behind the URL for the $_GET scope     
            function _act() {

                window.open('uu.item.php?action=insert','','width=680,height=375,location=no,scrollbars=no,resizeable=no,toolbar=no,menubar=no');
            }

            // delete item
            function _act2(action, id, url, description) {

                if(action == "delete") {
                    if(window.confirm("Are you sure you want to delete this item?"))
                        document.location.href="action.php?action="+action+"&id="+id;
                } else      
                    window.open('uu.item.php?id='+id+'&url='+url+'&action='+action+'&description='+description+'','','width=680,height=375,location=no,scrollbars=no,resizeable=no,toolbar=no,menubar=no,directories=no');
            }

        </script>           
    </head>

    <body>
        
        <table border="0">
            <tr>
                <td colspan="2">
                    [img]"images/logo.small.jpg"[/img]<br>
                    [img]"images/spacer.gif"[/img]
                </td>
            </tr>
            <tr class="line">
                <td> 
                    &nbsp; <a href="uu.sources.php">home</a> >
                </td>
                <td class="logout">
                    [img]"images/logout.gif">[/img] uitloggen </a> &nbsp;&nbsp;&nbsp;&nbsp;
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    [img]"images/spacer.gif"[/img]
                    <ol>
                        <li>
                            <a href="Javascript:_act();">Add new source </a>
                        </li>
                    </ol>
                </td>
            </tr>
        </table>
        

<?

// fetch all items from DB
$count = mysql_query("SELECT COUNT(id) AS result FROM items")
    or die("query items:" . mysql_error());
$fetch_count = mysql_fetch_array($count);

// fetch all items from DB
$items = mysql_query("SELECT * FROM items")
    or die("query items:" . mysql_error());

// check if there are items stored
if(!$fetch_count["result"] > 0)
{
    print "<div class=uu_small> &nbsp; <br><br> No items are currently stored </div>";
    exit();
}

?>

<br>
<table border="1">
    <tr class="line">
        <td><b>                 </b></td>
        <td><b>                 </b></td>
        <td><b>URL:             </b></td>
        <td><b>Description:     </b></td>
    </tr>

<?

// fetch data
$actions = array("edit", "delete");
    
while ($fetch_items = mysql_fetch_array($items)) 
{
            
        print "<tr> \n";

        // print icons
        foreach ($actions as $action)
        {   
            if($action == "edit")
            {                   
                print "<td width=20> \n";
                print "<center> \n <a href=\"Javascript: _act2('edit', " . $fetch_items["id"] . ",'$fetch_items[url]','$fetch_items[description]'); \">";
                print "[img]\"images/$action.png\">[/img]\n";
                print "</center> \n </td> \n </form>";
            } 
            if($action == "delete")
            {
                print "<td width=20> \n <center> \n <a href=Javascript:_act2(\"$action\",";
                print $fetch_items["id"] .");> \n ";
                print "[img]\"images/$action.png\"></a>[/img]\n </td> \n";
            }
        }
        
        
        print "</td><td> <a href=". $fetch_items["url"] ." target=_blank>" . $fetch_items["url"] . "</a> </td><td>" . $fetch_items["description"] . "</tr>";        
}

print "</table>";

?>

[ Voor 23% gewijzigd door Zoolander op 17-09-2004 19:24 ]

mijn naam slaat nergens op, althans niet op mij :P


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:24

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 gokt dat ze er in Webdesign & Graphics wat beter raadt mee weten, aangezien het in mozilla wel werkt en in IE niet.

>> Webdesign & Graphics

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Roa
  • Registratie: December 2002
  • Laatst online: 03-07-2024

Roa

Om te beginnen, zet even [ php ] tags om die code. Leest wat lekkerder. Verder is er heel veel code die niets te maken heeft met je probleem. Waarschijnlijk gaat het erom dat je nieuwe window de session niet herkent in IE.

Research is what I'm doing when I don't know what I'm doing.


  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

Roa schreef op 17 september 2004 @ 19:21:
Waarschijnlijk gaat het erom dat je nieuwe window de session niet herkent in IE.
Blijkbaar de tweede keer wel.....

Maar ik zou je cache uitzetten in je php, waarschijnlijk neemt IE een cache mee van wat eerder. Zover ik weet zou window.open wel de sessie mee moeten nemen namelijk. (tip: header cache zoeken op php.net)

disjfa - disj·fa (meneer)
disjfa.nl


  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

Topicstarter
Gedaan.
Ik denk het ook ja dat de sessie niet herkent wordt.
Maar het gekkie is dus dat als ik opnieuw het inlogscherm krijg, inlog en en weer probeer hij wederom een window opent maar dan gewoon doet wat hij moet doen!
Wat is het verschil tussen mijn hoofdvenster en de ander?

mijn naam slaat nergens op, althans niet op mij :P


  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

Topicstarter
Ik snap er niks van!
Ik heb een hele zooi oplosingen als deze geprobeert
PHP:
1
session_cache_limiter('private, must-revalidate');


En nog werkt het niet.
Bij mijn eigen browser (IE6) is het nu zo dat de sessie gelijk weg is, hij KAN hem niet eens authenitcaten.
Bij een vriend van mij gaat dit prima!
Daarnaast blijft het vreemd dat hij na 1x de popuppen WEL gewoon werkt.
Mozilla: nergens last van natuurlijk

Ik ga bijna huilen.

pfffff, dit heb ik nog nooit gehad in al mijn 1.5 jaar scripten ;)

mijn naam slaat nergens op, althans niet op mij :P

Pagina: 1