Use html to call/use php function [duplicate] - php

This question already has answers here:
Execute PHP function with onclick
(9 answers)
Closed 7 years ago.
I'm having some trouble getting my HTML and php to work together.
I've made a onClick that should run a PHP function i have in the top of the PHP file. But every time i click it, it says: ReferenceError: deleteSub is not defined. Can someone tell me what I've done wrong?
HTML:
<?php
if(mysql_num_rows($sql_select_delete) > 0){
while($row = mysql_fetch_assoc($sql_select_delete)){
?><div class="abo_box">
<label class="abo_navn" id="<? echo $row["id"]; ?>"><? echo $row['abo_name']; ?></label>
<label class="delete" onclick="deleteSub();">Delete</label>
</div>
<?php
}
}
?>
PHP:
function deleteSub(){
echo "deleted";
}

You can't call directly a PHP code like this
What you can do is to create a javascript function and you need to use Ajax witch will send a request to your re server and here you can call your PHP function
Remember : PHP is server side code and HTML, JS is client side code, the only way to make them work together is using HTTP requests.

you could do something like this. But to use server side information you should use AJAX and http requests. This example is just for changing DOM elements.
<p id="demo" onclick="myFunction()">Click me to change my text color.</p>
<script>
function myFunction() {
document.getElementById("demo").style.color = "red";
}
</script>

Related

Php parameterized function call from html [duplicate]

This question already has answers here:
How to call a PHP function on the click of a button
(13 answers)
Closed 7 years ago.
I have a problem with calling a phpfunction from a onclick() event.
<button onclick=delete($a) >click here</button>
<?php
Function delete($a)
{
----statements----
}
?>
Please help me solving this functiom call
You cannot call a php function from a javascript onclick event that way. php is strictly server side, the only way is to make an ajax call to a script that will run the function and return the result. Once the page is served, all trace of php disappears, there is no reference or anything of php left in the client side.

is it possible to prevent php code loading on page load? [duplicate]

This question already has answers here:
What is the difference between client-side and server-side programming?
(3 answers)
Closed 8 years ago.
i dont know what to say but, i have a banner with a session variable, if that session variable is set and have a value 1 then i have displayed that banner. i also have a button to hide that banner and i have called a javascript function onclick that button.
so i have created a simple javascript function and added some php code with php tag to unset the session variable. I can also use ajax to unset the session variable. but i was thinking to do that with that function why to do ajax call.
i have some code:
<?php if($_SESSION['SHOW_BANNER']==1){ ?>
<div id="banner">Banner goes here</div>
<button onclick="hideit()">Hide</button>
<?php } ?>
Here is jquery function:
<script>
function hideit()
{
<?php unset($_SESSION['SHOW_BANNER']); ?>
$("#banner").hide();
}
</script>
Each time when i reload the page, the session variable is unset.
Any Help..
You can't execute PHP code directly from JavaScript. PHP code is executed when page is rendering on server side, and if you have syntax like:
function hideit()
{
<?php unset($_SESSION['SHOW_BANNER']); ?>
$("#banner").hide();
}
It executes every time unset when page is loaded and result of this code is returned to JavaScript. Only way to unset session variable is to execute code on server side, you can do this with simply ajax call.
function hideit()
{
$("#banner").hide();
$.get("hideBanner.php");
}
And in hideBanner.php just execute
<?php unset($_SESSION['SHOW_BANNER']); ?>

Call a php function when clicks on a html tag within the same page [duplicate]

This question already has answers here:
What is the difference between client-side and server-side programming?
(3 answers)
Closed 8 years ago.
/*
//Want to call a php function when on clicking a tag
// Want to call a php function when on clicking a tag
//Want to call a php function when on clicking a tag
// Want to call a php function when on clicking a tag
*/
<?PHP
//starting of a function
function callfun(id)
{
//prints the parameter of the function
echo id;
}
//call a php function when clicks on a paragraph
echo '<p id="xyz" onClick="callfun(id)">Click Me </p>';
?>
/*Want to call a php function when on clicking a tag
Want to call a php function when on clicking a tag
Want to call a php function when on clicking a tag
Want to call a php function when on clicking a tag
*/
You can use some technology to do this. One way is to call another script using ajax call for example. If you don't know what ajax is here is an explanation http://bg.wikipedia.org/wiki/Ajax
Another think you can try is just using javascript and translate your function in javascript.
PHP is not working like that.
I suggest you to watch some tutorials about the language technique.
First of all you need to understand the difference between the server side and the client side.
PHP is not running on the client side!
For your need you must use AJAX function which will call a request to the server.That request will execute the PHP function and return the answer to the clients browser.After that you can handle it for your needs.

how to run php code onclicking an image [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
How do I run PHP code when a user clicks on a link?
I have an image .
<image name="" src="">
I have a php code that needs to be run only after the image has been clicked.
<?php
$var = somthing;
if(condition)
{
sql stmts;
}
?>
like that.
Both are in the same php page. PLease help me to sort out this problem.
Thanks..
You can send a request with javascript. With jQuery that would look like this:
$.get("yourfile.php?function=imageClick", function(data){});
In your php somewhere at the top add:
if($_GET['function'] == 'imageClick'){
// do your php stuff
}
You can't run PHP code on the client side.
You can do that through an AJAX call: http://www.w3schools.com/ajax/default.asp

How to transfer select value to php?

I want to display the photos according to the album selected. But, I don't want to post the page, I want to just change the div.
This is my script:
<script type="text/javascript">
function replaceContent(divName, contentS) {
document.getElementById(divName).innerHTML = <?php echo get_pictures_from_album($fb, $albums, contentS); ?>;
}
</script>
And this is the select tag that invokes it:
<select name="album" size= "1" style="width:210;" onchange="replaceContent('photos', this.options[this.selectedIndex].value);">
<?php get_albums_select_list($albums); ?>
</select>
<div id = "photos">
<?php echo get_profile_pictures($fb, $albums); ?>
</div>
I understand from a reading that I have done that the problem might be connected to javascript Vs php variable types.
Please advise.
Looks like you are looking for an AJax call to an PHP script that retrives the data for the appropriate album selected and THEN update the div with the callback function.
Ajax + PHP basics
You are mixing Clientside and Serverside Code here. The function replaceContent is called after the page (and the php code) was loaded. You would need an Ajax Call for that if you need more information about that:
Ajax Tutorials on Google
What you are doing is not possible because PHP code runs before (on the server because PHP is server-side language) javascript code.
You will have to resort ot AJAX for that.

Categories