php onclick file path

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ilse Callen

Ilse Callen

18/09/2018 09:33:53
Quote Anchor link
Ik probeer een filename toe te voegen aan de label onclick. Via javascript en xhttprequest moet hij dan het file deleten. Als ik de variable van het filename toevoeg aan de onclick geeft hij iedere keer een foutmelding. Als ik de onclick zonder het filename doet komt hij wel gewoon in de javascript function. Ik gebruik deze manier meer in mijn script maar daar doet hij het wel gewoon. Als ik de variable echo geeft hij wel de juiste filename weer. Ik krijg iedere keer de foutmelding unexpected end of input. Als ik de variable weg laat voert hij wel gewoon de javascript functie uit. Ik heb het hele script ook al nagelopen maar ik zie nergens een haakje of ; die ik ben vergeten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>
?>
 
PHP hulp

PHP hulp

25/04/2024 11:31:52
 
Rob Doemaarwat

Rob Doemaarwat

18/09/2018 10:20:46
Quote Anchor link
En waar voeg je die bestandsnaam dan in?

Ik vermoed dat je probleem hier ligt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<label onclick='Exitchat()' name='exitchat' id='exitchat'>Exit chat</label>";

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)
PHP script in nieuw venster Selecteer het PHP script
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?
 
Ilse Callen

Ilse Callen

18/09/2018 10:24:25
Quote Anchor link
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.