Newsgroup: it.comp.www.php
Titolo: La gestione di "recaptcha".

Ciao a tutti
sto installando e testando "recaptcha".
A tal fine ho creato questa pagina in cui l'utente che si registra riempie i 
campi poi trascrive la parola disegnata da "recaptcha" e lancia la form
Non riesco a portare il valore di ritorno di "recaptcha" ad una pagina 
chiamata da action insieme ai dati dell'utente e non riesco a mantenere i 
dati già scritti nella form se "recaptcha" torna un errore
Cosa sbaglio secondo voi?
Grazie
<html>
<body>
<h2></h2><br><br>
<?php
if (isset($_POST['username']))
$username=$_POST['username'];
if (isset($_POST['username2']))
$username2=$_POST['username2'];
if (isset($_POST['password']))
$password=$_POST['password'];
if (isset($_POST['password2']))
$password2=$_POST['password2'];
if (isset($_POST['cognome']))
$cognome=$_POST['cognome'];
if (isset($_POST['nome']))
$nome=$_POST['nome'];
if (isset($_POST['indirizzo']))
$indieizzo=$_POST['indirizzo'];
if (isset($_POST['cap']))
$cap=$_POST['cap'];
if (isset($_POST['pcitta']))
$citta=$_POST['citta'];
if (isset($_POST['provincia']))
$provincia=$_POST['provincia'];
if (isset($_POST['telefono']))
$telefono=$_POST['telefono'];
if (isset($_POST['mobile']))
$mobile=$_POST['mobile'];
if (isset($_POST['pfax']))
$fax=$_POST['fax'];
?>
<form action="" method="post" id="tryregister"><br><br>
Attenzione l'indirizzo email sarà il suo nome utente<br><br>
<table><tr><td>
Nome utente ovvero indirizzo email<td><input type="text" name="username" 
id="usernameì" size=50>
<tr><td>Ripetere Nome utente<td><input type="text" name="username2" 
id="username2" size=50>
<tr><td>Password<td><input type="password" name="password" id="password" 
size=50><tr><td>
Ripetere la password<td>
<input type="password" name="password2" id="password2" size=50>
<tr><td>
Cognome<td>
<input type="text" name="cognome" id="cognome" size=50>
<tr><td>
Nome<td>
<input type="text" name="nome" id="nome" size=50>
<tr><td>CAP<td>
<input type="text" name="cap" id="cap" size=5>
<tr><td>Indirizzo<td>
<input type="text" name="indirizzo" id="indirizzo" size=50>
<tr><td>Città<td>
<input type="text" name="citta" id="citta" size=50>
<tr><td>Provincia<td>
<input type="text" name="provincia" id="provincia" size=50>
<tr><td>Telefono<td>
<input type="text" name="telefono" id="telefono" size=50>
<tr><td>Mobile<td>
<input type="text" name="mobile" id="mobile" size=50>
<tr><td>Fax<td>
<input type="text" name="fax" id="fax" size=50>
<input type='hidden' name='respomse' id='respomse'>
</table>
<script type="text/javascript">
document.getElementById('username').value="<?=$username?>";
document.getElementById('username2').value="<?=$username2?>" ;
document.getElementById('password').value="<?=$password?>" ;
document.getElementById('password2').value="<?=$password2?>" ;
document.getElementById('cognome').value="<?=$cognome?>" ;
document.getElementById('nome').value="<?=$nome?>" ;
document.getElementById('indirizzo').value="<?=$indirizzo?>" ;
document.getElementById('cap').value="<?=$cap?>";
document.getElementById('citta').value="<?=$citta?>" ;
document.getElementById('provincia').value="<?=$provincia?>" ;
document.getElementById('telefono').value="<?=$telefono?>" ;
document.getElementById('mobile').value="<?=$mobile?>" ;
document.getElementById('fax').value="<?=$fax?>" ;
</script>
<br><br><br><?php
require_once('recaptchalib.php');
$publickey = "qUI CI METTO LA CHIAVEPUBBLICA CHE HO GIà";
$privatekey = "CHIAVE PRIVATA CHE HO GIà";
# the response from reCAPTCHA
$resp = null;
# the error code from reCAPTCHA, if any
$error = null;
# are we submitting the page?
if ($_POST["submit"]) {
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if ($resp->is_valid) {
echo "ESATTO";
# in a real application, you should send an email, create an account, etc
} else {
# set the error code so that we can display it. You could also use
# die ("reCAPTCHA failed"), but using the error message is
# more user friendly
$error = $resp->error;
echo $error;
}
}
echo recaptcha_get_html($publickey, $error);
?>
<br/>
<input type="submit" name="submit" value="submit" />
</form>
<br><br><br><br><br><br>
</body>
</html>

 sto installando e testando "recaptcha".
C'e' un motivo particolare per aver scelto recaptcha invece che uno
script stand alone tipo kaptcha o freecap?
Vista la dimensione della form, non ti converrebbe utilizzare una
classe di gestione delle form tipo FormHandler?
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

 -- 
Mi è sembtrato un ottimo strumento
Funziona benissimo ma per ora mi SFUGGE come cpmposcere il risultato una 
volta giunto alla pagina chiamata dalla form
Tu lo sai?

 Mi h sembtrato un ottimo strumento
Certo, ma si tratta comunque di un web service. Se il suo server e'
down, ci sono problemi di DNS o di connessione, il tuo sito non
funzionera'.


 --
L'ho scelto come soluzione iniziale tanto per partire siccome l'altra 
soluzione mi sembrava piů complessa
Poi ebentualmente la cambio
Adesso perň mi servirebbe sapere come capire come l'utente ha risposto
Nella pagina che mi riceve il form atraverso print_r($_POST) ricevo questa 
strinmga
[respomse] => [recaptcha_challenge_field] => 
02AV4NCPN7phzV3LJLa772w3ci1NMCcG7OTzsKwwCuk-ttocCRV4-5W_YLnXBwJDf05_7p1m1Curj2FvuD-g5lzv0uo4X53vIq_03w5RjTB_8XFSacF8QU2KKYVotk_VXRlWzzMRyDe6tHGxN1wvQTSGELA1Gd7Mr0t0_mb9hOM-vp1CJaAwMD 
[recaptcha_response_field] => [submit] => submit )
ma non capisco se l'utente ha digitato giusto o sbagliato (in questo caso 
sbagliato perchč io ho digitato una stringa vuota)
mentre in questa la RISPOSTA ERA CORRETTA es era la parola and
Array ( [username] => [username2] => [password] => [password2] => [cognome] 
=> [nome] => [cap] => [indirizzo] => [citta] => [provincia] => [telefono] => 
[mobile] => [fax] => [albo] => [dove] => [respomse] => 
[recaptcha_challenge_field] => 
02JyafYxh1aFW6ucZPIHMna1dCLGlMIQv9n_2m77luc4RnLz4tOXUhhA3eN27RoEVdjXVX9svht84TQ01IHAAFBHiDXw0A3G1htxtT3GfGw_rJUcG3T2n7T-qSAlRHNPT--zc0QFlm7AuBTiqUPX078NGT0SHAi4Z0hpW8cC_G8XMskM2OAwMD 
[recaptcha_response_field] => and [submit] => submit )