AphX
asked on
New to xajax/javascript = problem
Hello!
I'm trying to put a javascript variable into a PHP variable using xajax. But I can´t get it to work.
Error msg:
Fatal error: Class 'xajaxResponse' not found in /home/web9905/domains/doma in.com/pub lic_html/x ajax/multi ply.php on line 23
What am I doing wrong?
I'm trying to put a javascript variable into a PHP variable using xajax. But I can´t get it to work.
Error msg:
Fatal error: Class 'xajaxResponse' not found in /home/web9905/domains/doma
What am I doing wrong?
<?php
require("xajax/xajax_core/xajax.inc.php");
echo '<?xml version="1.0" encoding="UTF-8"?>'
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<script language="javascript">
var testVar = 5;
</script>
</head>
<body>
<?
MyPHPFunction(testVar);
function MyPHPFunction($jsVar) {
$variable = strtoupper($jsVar);
$objResponse = new xajaxResponse();
$objResponse->script("PHPvar = '$variable';");
return $objResponse;
}
?>
<div id="someID"><p></p></div>
</body>
</html>
ASKER
Hi again and thank you! :)
Now I get this pop-up error msg:
Error: the xajax Javascript component could not be included. Perhaps the URL is incorrect? URL: xajax_js/xajax_core.js
I dont know why =(
the require path at line 2 is correct... one of the xajax example's worked so there is no file missing in the framework.
Now I get this pop-up error msg:
Error: the xajax Javascript component could not be included. Perhaps the URL is incorrect? URL: xajax_js/xajax_core.js
I dont know why =(
the require path at line 2 is correct... one of the xajax example's worked so there is no file missing in the framework.
<?php
require("xajax/xajax_core/xajax.inc.php");
$xajax = new xajax();
$xajax->registerFunction("MyPHPFunction");
$xajax->processRequest();
echo '<?xml version="1.0" encoding="UTF-8"?>'
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<script language="javascript">
var testVar = 5;
</script>
<?php $xajax->printJavascript(); ?>
</head>
<body>
<?
MyPHPFunction(testVar);
function MyPHPFunction($jsVar) {
$variable = strtoupper($jsVar);
$objResponse = new xajaxResponse();
$objResponse->script("PHPvar = '$variable';");
return $objResponse;
}
?>
<div id="someID"><p></p></div>
</body>
</html>
ASKER
If I remove line 17, the msg doesn't show up...
Line 17 must be there.
Because xajax is not stored directly in the folder where your script is located, you need to configure the path. Try this:
$xajax = new xajax();
$xajax->configure('javascr ipt URI','xajax/');
$xajax->registerFunction(" MyPHPFunct ion");
$xajax->processRequest();
Because xajax is not stored directly in the folder where your script is located, you need to configure the path. Try this:
$xajax = new xajax();
$xajax->configure('javascr
$xajax->registerFunction("
$xajax->processRequest();
Your line 22 is wrong... you are calling the PHP function from PHP.
Put this in the HTML instead:
<button onclick="xajax_MyPHPFuncti on('Hello world!');">Test</button>
<button onclick="alert(PHPvar);">S how result</button>
Also, line 21 should be "<?php", not just "<?". It might work on your server, but some servers does not accept the short start tag.
Put this in the HTML instead:
<button onclick="xajax_MyPHPFuncti
<button onclick="alert(PHPvar);">S
Also, line 21 should be "<?php", not just "<?". It might work on your server, but some servers does not accept the short start tag.
ASKER
Thanks a lot! All of that worked like a charm!
Last thing...
I have a lot of PHP code, how do I actually put the testVar variable to a PHP variable?
Sorry for being a noob!
Your help really means a lot to me!
Last thing...
I have a lot of PHP code, how do I actually put the testVar variable to a PHP variable?
Sorry for being a noob!
Your help really means a lot to me!
<?php
require("xajax/xajax_core/xajax.inc.php");
$xajax = new xajax();
$xajax->configure('javascript URI','xajax/');
$xajax->registerFunction("MyPHPFunction");
$xajax->processRequest();
echo '<?xml version="1.0" encoding="UTF-8"?>'
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<script language="javascript">
var testVar = 5;
</script>
<?php $xajax->printJavascript(); ?>
<script language="javascript">
var test = 5;
</script>
</head>
<body>
<?php
function MyPHPFunction($jsVar) {
$variable = strtoupper($jsVar);
$objResponse = new xajaxResponse();
$objResponse->script("PHPvar = '$variable';");
return $objResponse;
}
?>
<button onclick="xajax_MyPHPFunction('testVar');">Test</button>
<button onclick="alert(PHPvar);">Show result</button>
<div id="someID">
<?php
$varFromJs = "?";
?>
</div>
</body>
</html>
Just remove the quotes:
<button onclick="xajax_MyPHPFuncti on(testVar );">Test</ button>
...but now the strtoupper() PHP function does not make much sense... for testing, change it like this:
$variable = $jsVar * 2;
...and remove the quotes in the PHP response, because it is now an integer, not a string:
$objResponse->script("PHPv ar = $variable;");
<button onclick="xajax_MyPHPFuncti
...but now the strtoupper() PHP function does not make much sense... for testing, change it like this:
$variable = $jsVar * 2;
...and remove the quotes in the PHP response, because it is now an integer, not a string:
$objResponse->script("PHPv
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I know these are strong words... But. I LOVE YOU!!! <3
You just helped me complete a 1-month project.
I really need to practice JavaScript :)
Thank you thank you thank you!
You're my god!
You just helped me complete a 1-month project.
I really need to practice JavaScript :)
Thank you thank you thank you!
You're my god!
ASKER
!!! You're really a Genius
$xajax = new xajax();
$xajax->registerFunction("
$xajax->processRequest();
Within HTML HEAD you need this:
<?php $xajax->printJavascript();
This sets up the xajax javascript helper functions.