php onclick file path
Code (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
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
<?php
[code]<?php
session_start();
?>
<html>
<head>
<link type="text/css" rel="stylesheet" href="style.css"/>
<link type="text/css" rel="stylesheet" href="stijl.css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script src="https://rawgit.com/abdmob/x2js/master/xml2json.min.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
function Exitchat()
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200)
{
var xmlDoc = xhttp.responseXML;
window.close();
}
}
xhttp.open("GET", "chatxml.php?chatfile=" + chatfile, true);
xhttp.send();
}
</script>
</head>
<body>
<div id="chatheader">
<p>Welkom <?php echo $_SESSION["username"];?><br></p>
<p>Chat met <?php echo $_SESSION["chatuser"]; ?></p>
</div>
<div id="wrapper">
<div id="menu">
<?php
$chatfile = $_SESSION["file"];
$xml = new DOMDocument();
$xml->load($chatfile);
echo "<label onclick='Exitchat()' name='exitchat' id='exitchat'>Exit chat</label>";
?>
</div>
<div id="chatbox" style="background-color:white"></div>
<form name="message" action="">
<input name="usermsg" type="text" id="usermsg" size="63" />
<input name="submitmsg" type="submit" id="submitmsg" value="Send" />
</form>
</div>
</body>
</html>
?>
[code]<?php
session_start();
?>
<html>
<head>
<link type="text/css" rel="stylesheet" href="style.css"/>
<link type="text/css" rel="stylesheet" href="stijl.css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script src="https://rawgit.com/abdmob/x2js/master/xml2json.min.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
function Exitchat()
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200)
{
var xmlDoc = xhttp.responseXML;
window.close();
}
}
xhttp.open("GET", "chatxml.php?chatfile=" + chatfile, true);
xhttp.send();
}
</script>
</head>
<body>
<div id="chatheader">
<p>Welkom <?php echo $_SESSION["username"];?><br></p>
<p>Chat met <?php echo $_SESSION["chatuser"]; ?></p>
</div>
<div id="wrapper">
<div id="menu">
<?php
$chatfile = $_SESSION["file"];
$xml = new DOMDocument();
$xml->load($chatfile);
echo "<label onclick='Exitchat()' name='exitchat' id='exitchat'>Exit chat</label>";
?>
</div>
<div id="chatbox" style="background-color:white"></div>
<form name="message" action="">
<input name="usermsg" type="text" id="usermsg" size="63" />
<input name="submitmsg" type="submit" id="submitmsg" value="Send" />
</form>
</div>
</body>
</html>
?>
Ik vermoed dat je probleem hier ligt
Als je aan de Exitchat de $chatfile toe wilt voegen moet je die tussen quotes zetten. Omdat je echter al de dubbele quotes binnen PHP gebruikt om de string aan te duiden, en de enkele quotes binnen HTML om de onclick property af te bakenen moet je binnen de Exitchat functie weer dubbele quotes gebruiken, en deze dan escapen voor PHP. Oftewel:
Code (php)
1
echo "<label onclick='Exitchat(\"$chatfile\")' name='exitchat' id='exitchat'>Exit chat</label>";
Maar als die $chatfile al in de sessie staat, dan hoef je 'm toch niet met AJAX request mee te geven?
ah ja nu doet hij het. Ik had het via '".$chatfile."' gedaan maar die pakte hij hier niet. Bij de vorige deed hij dat wel namelijk