php actie aanroepen vanuit html
Ik probeer met de volgende html regel het onderstaande php script aan te roepen, zoals jullie weten werkt dit niet. Wat is de oplossing?
HTML
<li><a href="schakelen.php?kanaal=a4&actie=uit&optie=0">Spot Uit</a></li>
PHP schakelen.php
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
<?php
//Info: PHP schakelscript v1.0.0.0 voor KAKUcli
//Datum: 2012-09-15
//Door: Sebastiaan Ebeltjes
//Voorbeeld: http://www.website.nl/schakelen.php?kanaal=100&actie=17&optie=0
$kanaal = $actie = $optie = 0;
if(isset($_GET['kanaal'])) $kanaal = $_GET['kanaal'];
if(isset($_GET['actie'])) $actie = $_GET['actie'];
if(isset($_GET['optie'])) $optie = $_GET['optie'];
if(!file_exists("KAKUcli.exe")) {
die("ERROR1: Het bestand KAKUcli.exe is niet gevonden!");
}
if(!file_exists("TPC200L10.dll")) {
die("ERROR2: Het bestand TPC200L10.dll is niet gevonden!");
}
if(!file_exists("TPC300A.dll")) {
die("ERROR3: Het bestand TPC300A.dll is niet gevonden!");
}
if(checkArrayForEmpty(Array($kanaal, $actie))) {
die("ERROR4: Een belangrijke parameter is niet opgegeven!");
}
exec("KAKUcli.exe ".$kanaal." ".$actie." ".$optie);
print("KAKUcli.exe ".$kanaal." ".$actie." ".$optie." uitgevoerd!");
function checkArrayForEmpty($array) {
foreach($array AS $value) {
if(!$value) {
return 1;
}
}
return 0;
}
?>
//Info: PHP schakelscript v1.0.0.0 voor KAKUcli
//Datum: 2012-09-15
//Door: Sebastiaan Ebeltjes
//Voorbeeld: http://www.website.nl/schakelen.php?kanaal=100&actie=17&optie=0
$kanaal = $actie = $optie = 0;
if(isset($_GET['kanaal'])) $kanaal = $_GET['kanaal'];
if(isset($_GET['actie'])) $actie = $_GET['actie'];
if(isset($_GET['optie'])) $optie = $_GET['optie'];
if(!file_exists("KAKUcli.exe")) {
die("ERROR1: Het bestand KAKUcli.exe is niet gevonden!");
}
if(!file_exists("TPC200L10.dll")) {
die("ERROR2: Het bestand TPC200L10.dll is niet gevonden!");
}
if(!file_exists("TPC300A.dll")) {
die("ERROR3: Het bestand TPC300A.dll is niet gevonden!");
}
if(checkArrayForEmpty(Array($kanaal, $actie))) {
die("ERROR4: Een belangrijke parameter is niet opgegeven!");
}
exec("KAKUcli.exe ".$kanaal." ".$actie." ".$optie);
print("KAKUcli.exe ".$kanaal." ".$actie." ".$optie." uitgevoerd!");
function checkArrayForEmpty($array) {
foreach($array AS $value) {
if(!$value) {
return 1;
}
}
return 0;
}
?>
Nee, het php script op zichzelf is goed. Werkt perfect wanneer het aangehaald wordt vanuit een php bestand.
Zet op regel 1 van schakelen.php eens:
exit('test');
Staat er dan "test" op je scherm?
Nee niets, ook niets als ik een test php file maak met alleen exit('test'); erin.
<li><a href="/schakelen.php?kanaal=a4&actie=uit&optie=0">
Geprobeerd maar helpt niet. Wanneer ik de link in een `kale` html file zet werkt hij wel.
laat de code uit de html file eens zien
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Kaku</title>
<meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
<style type="text/css" media="screen">@import "iphonenav.css";</style>
<script type="application/x-javascript" src="iphonenav.js"></script>
</head>
<body>
<h1 id="pageTitle"></h1>
<a id="homeButton" class="button" href="#home">KaKu</a>
<a class="button" href="#uit">Alles uit!</a>
<ul id="home" title="KaKu" selected="true">
<li><a href="#Keuken">Keuken</a></li>
<li><a href="#Woonkamer">Woonkamer</a></li>
<li><a href="#Tuin">Tuin</a></li>
<li><a href="#schakelen.php?kanaal=a11&actie=uit&optie=0">Spot Aan</a></li>
</ul>
<ul id="Keuken" title="Keuken">
<li><a href="#schakelen.php?kanaal=a11&actie=uit&optie=0">Spot Aan</a></li>
<li><a href="#schakelen.php?kanaal=a11&actie=uit&optie=0">Spot Uit</a></li>
<li><a href="#schakelen.php?kanaal=b1&actie=aan&optie=0">Led Aan</a></li>
<li><a href="#schakelen.php?kanaal=b1&actie=uit&optie=0">Led Uit</a></li>
</ul>
<ul id="Woonkamer" title="Woonkamer">
<li><a href="/#schakelen.php?kanaal=a3&actie=aan&optie=0">Spot bank aan</a></li>
<li><a href="/#schakelen.php?kanaal=a3&actie=uit&optie=0">Spot bank uit</a></li>
<li><a href="#schakelen.php?kanaal=a1&actie=aan&optie=0">Spot plafond aan</a></li>
<li><a href="#schakelen.php?kanaal=a1&actie=uit&optie=0">Spot plafond uit</a></li>
<li><a href="#schakelen.php?kanaal=a2&actie=aan&optie=0">Living Colours aan</a></li>
<li><a href="#schakelen.php?kanaal=a2&actie=uit&optie=0">Living Colours uit</a></li>
</ul>
<ul id="Tuin" title="Tuin">
<li><a href="#schakelen.php?kanaal=a9&actie=aan&optie=0">Spots kast aan</a></li>
<li><a href="#schakelen.php?kanaal=a9&actie=uit&optie=0">Spots kast uit</a></li>
<li><a href="#schakelen.php?kanaal=a10&actie=aan&optie=0">Spots potten aan</a></li>
<li><a href="#schakelen.php?kanaal=a10&actie=uit&optie=0">Spots potten uit</a></li>
<li><a href="#schakelen.php?kanaal=a11&actie=aan&optie=0">Spots boom aan</a></li>
<li><a href="#schakelen.php?kanaal=a11&actie=uit&optie=0">Spots boom uit</a></li>
</ul>
<form id="uit" class="dialog" action="#sleepwell">
<fieldset>
<h1 id="pageTitle">Sleep well!</h1>
<a class="button toolButton goButton" href="#sleepwell">Hoofdmenu</a>
</fieldset>
<table height="380" width="320"
background="pinstripes.png" >
<tr><td><center><font size="5px">Don`t forget to set your alarm.</font></center></td></tr>
</table>
</form>
</body>
</html>
Toevoeging op 19/09/2012 22:05:59:
Het werkt trouwens via Safari op de Iphone, misschien niet geheel onbelangrijk.
<a href="#schakelen.php?kanaal=a11&actie=uit&optie=0">
die hekjes in al die links horen daar helemaal niet!
Ik heb het ook zonder geprobeerd
<a href="http://www.mijnsite.nl/schakelen.php?kanaal=a11&actie=uit&optie=0">klik</a>
Ook al geprobeerd lukt ook niet :(
hmmm, dan weet ik het ook ff niet...
Probleem opgelost, vraag me niet hoe maar als <script type="application/x-javascript" src="iphonenav.js"></script> eruit haal doet die het wel.
Ah oké, mooi :)