Newsgroup: it.comp.lang.javascript
Titolo: dritte ad un neoacquisto modello di oggetti interdev

Salve al news è la prima volta che posto e spero di non sparare c*te. Il mio
problema è riuscire a capirci qualcosa nel modello di oggetti di interdev
per utilizzare il codice javascript e richiamare funzioni PHP invece che
ASP, questo perchè sono costretto a migrare sotto linux e utilizzare php per
mie ragioni.
In pratica vorrei sapere da che parte iniziare per richiamare funzioni lato
server attraverso click lato client.
P.S. il newsgroup di PHP mi ha spedito qui ! non cacciatemi anche voi
Daniele

 server attraverso click lato client.
Come avresti fatto esattamente con ASP.
PHP e ASP sono entrambi linguaggi server side. Quindi, per poter essere
eseguiti, hanno bisogno di una chiamata al server.
Questo significa che per richiamare una "funzione" PHP, tu devi mandare dei
dati al server, aspettare la risposta, e visualizzarne i risultati. Questo
si traduce della chiamata e visualizzazione di una nuova pagina (o del
caricamento dell'attuale pagina).
Puoi inviare i dati tramite querystring o form con metodo POST, e puoi fare
tale richiesta in un frame nascosto, nella pagina attuale o in una nuova
finestra.
Volendo, con alcuni browser, e' possibile utilizzare l'oggetto xmlhttp per
fare chiamate al server in XML senza ricaricare la pagina, ma al momento te
lo sconsiglio. Prima ti conviene imparare i meccanismi dell'interazione
"classica" tra server e client.
--------------------------------
Inviato via 
http://usenet.libero.it

 Inviato via 
http://usenet.libero.it
Ok ti ringrazio per le informazioni generali ora però ho bisogno di un
consiglio su qualche risorsa internet ho manuale che mi spieghi
correttamente i meccanismi di cui parli. In effetti ho provato ad usare una
tecnica di chiamata alla funzione php lato server attraverso un post dove in
un campo hidden era nascosta il nome della funzione da chiamare poi nello
script php ho inserito un if che verifichi il valore della variabile e che
quindi richiami la funzione corretta. Il tutto funziona purtroppo nell'if mi
dà sempre un errore di variabile non definita la prima volta che carico la
pagina ecco il codice:
<?php
session_start();
$HTTP_SESSION_VARS['id'] = session_id();
//$HTTP_SESSION_VARS['sub'] = ""; ho provato così ma non và
?>
<html>
<head>
<title>Autenticazione Utenti</title>
</head>
<body>
<FORM id=FORM1 name=FORM1 action="" method=post>
<P>&nbsp;</P>
</P>
<P><INPUT id=text1 name=nome>
<INPUT id=text2 name=pass></P>
<INPUT type=hidden name=sub value=verifica>
<P><INPUT id=submit1 type=submit value=Submit name=submit1></P>
<P></FORM>
<?php
function verifica($user,$pass,$ids){
if ($user=="daniele" and $pass=="ok")
{
echo "Ti sei autenticato il tuo session id è: ".$ids;
$GLOBALS['username']=$user;
$GLOBALS['password']=$pass;
$GLOBALS['sessione']=$ids;
}
else
{
echo "Non puoi loggarti con questi codici !";
}
}
if ($HTTP_POST_VARS['sub']=="verifica") {
verifica($HTTP_POST_VARS["nome"],$HTTP_POST_VARS["pass"],$HTTP_SESSION_VARS[
'id']);
}
else
{
echo "Nessuna funzione eseguita";
}
?>
</body>
</html>

 ha scritto:
Questa e' la versione riveduta e corretta (un po' alla buona, ma il concetto
di base e' quello).
Quello che ti mancava era essenzialmente capire quando la pagina proveniva
da un post o meno (per questo ti dava errore di variabile nn definita la
prima volta.. la variabile nn esisteva, non era stato fatto un post).
Per correttezza, ho messo nell'action della form il nome della pagina stessa
(che ho chiamato test.php), alcuni browser non digeriscono il campo vuoto
nei post (mi pare qualche versione di NS4.x, di sicuro).
<?php
session_start();
$HTTP_SESSION_VARS['id'] = session_id();
function verifica($user,$pass,$ids){
	if ($user=="daniele" and $pass=="ok")
	{
		echo "Ti sei autenticato il tuo session id č: ".$ids;
		$GLOBALS['username']=$user;
		$GLOBALS['password']=$pass;
		$GLOBALS['sessione']=$ids;
	}
	else
	{
		echo "Non puoi loggarti con questi codici !";
	}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<title>Autenticazione Utenti</title>
</head>
<body>
<?php
	if ($_SERVER["REQUEST_METHOD"]=="POST"){
		verifica($HTTP_POST_VARS["nome"],$HTTP_POST_VARS["pass"],$HTTP_SESSION_VARS['id']);
	}
?>
<FORM id="FORM1" name="FORM1" action="test.php" method="post">
<P></P>
<P>
	<INPUT type="text" name="nome" value="">
	<INPUT type="password" name="pass" value="">
</P>
<P><INPUT type="submit" value="Login" name="login"></P>
</FORM>
</body>
</html>
