Ik wil met PHP een HTML pagina aanmaken en vanuit die HTML zowel eigen Javascript funties als eigen PHP functies aan kunnen roepen. Hieronder staat mijn oefening.php.
Wat doe ik fout, of beter gezegd hoe kan ik met PHP een HTML pagina aanmaken waarin ik eigen Javascripts functies wil gebruiken als ook eigen PHP scripts?

<?php
/*
* Created on 20-sep-2011
*
* oefening.php
*/
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">";;
echo "<html>";
echo "<head>";
echo " <meta http-equiv=\"content-type\"";
echo " content=\"text/html; charset=ISO-8859-1\">";

echo "<title>Oefening HTML / Javascript / PHP</title>\n";

function php_print_regel($waarde)
{
print $waarde;
}


echo "<br>";
echo "<script language=\"javascript\">";

echo "function klik(waarde) {";
echo " alert(waarde);}";

echo "</script>";

echo "</head>\n";

echo "<body>";

echo "<p>Hallo wereld, wie helpt mij met dit probleem?</p>\n";

/* Genereert checkbox, na aanvinken wordt de Javascript functie 'klik' aangeroepen*/

echo "<input name=\"Selecteer\" type=\"checkbox\" onclick=\"klik('Dit is een Javascript function')\">\n";
echo "<p>Vink aan voor een Javascript function</p><br>\n";

/* Genereert checkbox, na aanvinken wordt zou de PHP functie 'php_print_regel' aangeroepen moeten worden.
* Waarom gebeurt dit niet? Hoe kan ik vanuit een door PHP aangemaakte HTML pagina een PHP funtie aanroepen?*/

echo "<input name=\"Selecteer\" type=\"checkbox\" onclick=\"php_print_regel('Dit is een PHP function')\">\n";
echo "<p>Vink aan voor een PHP function</p><br>\n";

/* Hier wordt de PHP functie 'php_print_regel' wel aangeroepen*/

php_print_regel('Dit is een PHP function');

echo "</body> </html>";


?>
Dat werkt niet op die manier. Je zou kunnen overwegen om AJAX te gebruiken met bijv. het jQuery framework.
Hallo Aar,

Dank voor jouw snelle reactie. Eigenlijk wil ik niet met AJAX aan de gang omdatr ik dan opnieuw een nieuwe taal moet gaan aanleren. Het liefst beperk ik mij tot HTML, PHP en een beetje Javascript. Het zou toch mogelijk moeten zijn dat wanneer je bijvoorbeeld op een knop op je HTML pagina drukt je daarmee een PHP functie kunt aanroepen.
- Aar - op 20/09/2011 23:17:42

Dat werkt niet op die manier. Je zou kunnen overwegen om AJAX te gebruiken met bijv. het jQuery framework.


AJAX overwegen? Er is geen andere optie voor wat ie wil.
AJAX is geen taal ;-), het is een onderdeel van Javascript.

Je kan prima met

if ($_SERVER['REQUEST_METHOD']=="POST") {
 //true
} else {
 // false
}
?>

Kijken of er een formulier verstuurd is.
Rob, AJAX is ook javascript en stelt op zich niet zoveel voor.

function getHTTPObject(){
	if (window.ActiveXObject) //if IE8-
		return new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest) // for the rest
		return new XMLHttpRequest();
	else {
		alert("Your browser does not support AJAX.");
		return null;
	}
}



function ajaxpage(url, containerid){
	var page_request = getHTPPObject;
	page_request.onreadystatechange=function(){
		if (page_request.readyState == 4 && page_request.status==200)
		document.getElementById(containerid).innerHTML=page_request.responseText
	}
	page_request.open("GET", url, false);
	page_request.send();
}

Reageren