AIUTO per configurazione file PHP

volodos

Nuovo Utente
1 Set 2006
28
0
0
Ciao a tutti,

ho bisogno di una piccola dritta per un problema che, vista la mia pressochè totale inesperienza, non riesco a risolvere con PHP. Vi chiedo di scaricare questo zip:

www.carhirewithdriver.org/php.zip

contiene all'interno 4 file:

1) contatti.html (il quale punta al file captcha.php)
2) captcha.php
3) captcha_image.php (per la verifica dell'immagine captcha)
4) confcontatti.html (pagina di conferma che compare se tutto è andato a buon fine)

Così come sono i file, inviando il modulo da contatti.html si ottiene SEMPRE la pagina di conferma, anche se l'immagine captcha inserita non è corretta, ne deduco che c'è qualcosa di sbagliato nel captcha.php. Quello che vorrei ottenere in tale file è che, una volta verificata l'esattezza dell'immagine e una volta che l'invio mail dei campi $indirizzo_dest, $oggetto, $informazioni e $header è riuscito, venga mostrata la pagina di conferma confcontatti.html.

C'è qualcosa di sbagliato nella sintassi credo, mi potete aiutare in proposito ?

Grazie infinite
Fabio
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
guarda che cliccandi sul link da pagina inesistente (almeno con li mio bw)
comunque e meglio che posti il codice o alleghi il file zip al post senza farlo richiamera da un sito remoto
 

volodos

Nuovo Utente
1 Set 2006
28
0
0
ciao grazie per la ripsosta, il link ora funziona, avevo sostituito le minuscole con le maiuscole. Ho postato un link perchè non tutti i forum accettano allegati zip....
Il codice del php:


<html>
<head>
<title>Invio richiesta informazioni</title>
</head>
<body>
<?php
//*******************************************************************************************
//***********************************RIGHE DA MODIFICARE*************************************
$oggetto = "Richiesta informazioni"; //L'oggetto con cui vuoi che tiarrivi la mail
$indirizzo_dest ="[email protected]"; //L'indirizzo di posta a cui arriveranno i messaggi inviati dal form
//***********************NON MODIFICARE NIENTE AL DI SOTTO DI QUESTA RIGA*********************

$header .="From: <".$_POST['email'].">"; //qsta riga serve per fare in modo che $email sia visto cm mittente
$informazioni = $_POST['informazioni']. "

Nome: ".$_POST['nome']."
Azienda: ".$_POST['azienda']."
Città: ".$_POST['citta']."
Nazione: ".$_POST['nazione']."
E-mail: ".$_POST['email']."
Telefono: ".$_POST['telefono']; //seconda parte dell'header

if ($_SERVER["REQUEST_METHOD"] <> "POST")
die("You can only reach this page by posting from the html form");

if ($_POST["captcha_input"] == $_SESSION["pass"]);

if (mail($indirizzo_dest, $oggetto, $informazioni, $header))

{

include 'confcontatti.html';
}
else
{
print("<center><br><br><br><font size='5' color='#FF0000'>Errore invio E-mail, si prega di tornare indietro e riprovare</center></font>");

}

?>
</body>
</html>
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
visto così mi sembrerebbe che manchino delle parentesi graffe di apertura e chiusura if

if ($_SERVER["REQUEST_METHOD"] <> "POST")
die("You can only reach this page by posting from the html form");

if ($_POST["captcha_input"] == $_SESSION["pass"]);{

if (mail($indirizzo_dest, $oggetto, $informazioni, $header))

{

include 'confcontatti.html';
}
else
{
print("<center><br><br><br><font size='5' color='#FF0000'>Errore invio E-mail, si prega di tornare indietro e riprovare</center></font>");

}
}

prova in questa maniera, comunque verifica meglio le parentesi, io per abitudine apro e chiudeo le parentesi prima di scrivere le istruzioni anche sugli if di una sola riga
 

volodos

Nuovo Utente
1 Set 2006
28
0
0
niente da fare, continua a non funzionare il controllo del captcha. Così com'è, posso anche NON inserire l'immagine captcha e l'invio del modulo parte comunque. Qualche altra idea ??
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
io farei una prova
appena prima del if captcha == session
inserirei le righe (poi da commentare o eliminare)

echo "imput capt = ".$_POST["captcha_input"]."<br>";

echo "session capt = ".$_SESSION["pass"]."<br>";

per vedere cosa ti trasmettono dato che ti da sempre l'autorizzazione a spedire e verificare perchè i due valori sono uguali
 

volodos

Nuovo Utente
1 Set 2006
28
0
0
allora, forse è meglio che ti invio sia il codice del mio php originale (quando era SENZA il controllo captcha), sia quello del php dal quale ho preso alcune righe per implementare tale controllo.

PHP originale senza CAPTCHA:

=====================================================

<html>
<head>
<title>Invio richiesta informazioni</title>
</head>
<body>
<?php
//*******************************************************************************************
//***********************************RIGHE DA MODIFICARE*************************************
$oggetto = "Richiesta informazioni"; //L'oggetto con cui vuoi che tiarrivi la mail
$indirizzo_dest ="[email protected]"; //L'indirizzo di posta a cui arriveranno i messaggi inviati dal form
//***********************NON MODIFICARE NIENTE AL DI SOTTO DI QUESTA RIGA*********************

$header .="From: <".$_GET['email'].">"; //qsta riga serve per fare in modo che $email sia visto cm mittente
$informazioni = $_GET['informazioni']. "

Nome: ".$_GET['nome']."
Azienda: ".$_GET['azienda']."
Città: ".$_GET['citta']."
Nazione: ".$_GET['nazione']."
E-mail: ".$_GET['email']."
Telefono: ".$_GET['telefono']; //seconda parte dell'header

if(mail($indirizzo_dest, $oggetto, $informazioni, $header))

{
include 'confcontatti.html';
}
else
{
print("<center><br><br><br><font size='5' color='#FF0000'>Errore invio E-mail, si prega di tornare indietro e riprovare</center></font>");

}

?>
</body>
</html>


=====================================================


PHP con captcha dal quale ho estrapolato alcune righe per ottenere il mio definitivo che trovi nel post sopra:


<?
// *** The CAPTCHA comparison - http://frikk.tk ***
// *** further modifications - http://www.captcha.biz ***

session_start();

// *** We need to make sure theyre coming from a posted form -
// If not, quit now ***
if ($_SERVER["REQUEST_METHOD"] <> "POST")
die("You can only reach this page by posting from the html form");

// *** The text input will come in through the variable $_POST["captcha_input"],
// while the correct answer is stored in the cookie $_COOKIE["pass"] ***
if ($_POST["captcha_input"] == $_SESSION["pass"])
{
// *** They passed the test! ***
// *** This is where you would post a comment to your database, etc ***
echo "Correct! You have passed the captcha test. <br><br>";
echo "You information input has been sent <br><br>";

echo "This is what you sent <br><br>";


echo "Your Company: \"" . $_POST["company"] . "\" <br>";

echo "Your Name: \"" . $_POST["name"] . "\" <br>";

echo "Your Surname: \"" . $_POST["surname"] . "\" <br>";

echo "Your Address: \"" . $_POST["address"] . "\" <br>";

echo "Your Zip: \"" . $_POST["zip"] . "\" <br>";

echo "Your City: \"" . $_POST["city"] . "\" <br>";

echo "Your Address: \"" . $_POST["address"] . "\" <br>";

echo "Your email: \"" . $_POST["email"] . "\" <br>";


echo "Your Telephone: \"" . $_POST["telephone"] . "\" <br>";

echo "Your Mobile: \"" . $_POST["mobile"] . "\" <br>";

echo "Your Comments: \"" . $_POST["comments"] . "\" <br>";


//sends email via php to the following address
$mailuser = "[email protected]";

//echo 'default chosen address: '.$mailuser;

$header = "Return-Path: ".$mailuser."\r\n";
$header .= "From: form with captcha <".$mailuser.">\r\n";
$header .= "Content-Type: text/html;";

$mail_body = '
The User: '.$_POST[company].' has sent his input.
Your Name: '. $_POST[name] . '<br>
Your Surname: '. $_POST[surname] . '<br>
Your Address: '. $_POST[address] . '<br>
Your Zip: '. $_POST[zip] . '<br>
Your City: '. $_POST[city] . '<br>
Your email: '. $_POST . '<br>
Your Telephone: '. $_POST[telephone] . '<br>
Your Mobile: '. $_POST[mobile] . '<br>
Your Comments: '. $_POST[comments] . '<br>'
;
mail ($mailuser, 'Form sent', $mail_body, $header);
echo 'THANKS ';


} else {
// *** The input text did not match the stored text, so they failed ***
// *** You would probably not want to include the correct answer, but
// unless someone is trying on purpose to circumvent you specifically,
// its not a big deal. If someone is trying to circumvent you, then
// you should probably use a more secure way besides storing the
// info in a cookie that always has the same name! :) ***
echo "Sorry, you did not pass the CAPTCHA test.<br><br>";
echo "You said " . $_POST["captcha_input"];
echo " while the correct answer was " . $_SESSION["pass"];

echo " - Please click back in your browser and try again <br><br>";

}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
un piccolo dubbio
nella pagina hai inserito come primISSIMA istruzione

session_start();

o megio ancora

if(!isset($_SESSION)){
session_start ();
}

altrimenti non ti trasmette $_SESSION
prova e sappimi dire
 

volodos

Nuovo Utente
1 Set 2006
28
0
0
niente da fare, il controllo captcha non funziona ancora. Ho provato con entrambe le soluzioni da te proposte nell'ultimo post, non va.
La stringa l'ho inserita come qui sotto:

<html>
<head>
<title>Invio richiesta informazioni</title>
</head>
<body>
<?php
session_start();
//*******************************************************************************************
//***********************************RIGHE DA MODIFICARE*************************************
$oggetto = "Richiesta informazioni"; //L'oggetto con cui vuoi che tiarrivi la mail
$indirizzo_dest ="[email protected]"; //L'indirizzo di posta a cui arriveranno i messaggi inviati dal form
//***********************NON MODIFICARE NIENTE AL DI SOTTO DI QUESTA RIGA*********************


ecc..............
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non dove l'hai messa tu ma

PHP:
<?php session_start(); ?>

<html>
<head>
<title>Invio richiesta informazioni</title>
</head>
<body>
eccetera.......

e poi è meglio comunque che tu utilizzi l'if
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
scusa, ma hai guardato con echo cosa ti tramette $_SESSION["pass"] e $_POST["captcha_input"] ? perchè l'errore può essere a monte dell'if

in quanto se fai la verifica con l'if e invii l'email qualsiasi numero/lettera di capt vuol dire che l'errore è a monte, o nel form (dove richiedi di digitare il codice) o nello script di capt, comunqe se hai un

if($_post['pinco'] == $_session['caio']{
echo "pinco e caio sono uguali";
}else{
echo "pinco e caio sono diversi";
}

e indipendentemente da quello chi inputi risulta sempre che 'pinco' = a 'caio', l'errore non è nell'if ma a monte, per il calcolo delle probabilità dati gli infiniti valori che possono assumere, l'unica possibilità che siano sempre uguali è che

$_post['pinco'] = stringa vuota
$_session['caio'] = stringa vuota

quindi l'errore come detto è a monte
fammi sapere
ciao
 

volodos

Nuovo Utente
1 Set 2006
28
0
0
mi trasmette:

input capt =
session capt = 8cd7a

8cd7a era il codice captcha da inserire, non l'ho inserito e l'invio è avvenuto cmq...
 

volodos

Nuovo Utente
1 Set 2006
28
0
0
se hai un server dove poter caricare i file, è più semplice se scarichi il mio zip e provi tu stesso...se la cosa non ti porta via troppo tempo ovviamente...sono sicuro che è una cavolata, magari una parentesi che manca da qualche parte, ma vai a capire dove....! Grazie in ogni caso per l'aiuto che mi stai dando....
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
immagino che nel form tu abbia un pulsante submit.

elimina

if ($_SERVER["REQUEST_METHOD"] <> "POST")
die("You can only reach this page by posting from the html form");
perchè (immagino) nel form avrai metod="post" se non l'hai metticelo

e sostituisci li tutto con

is($_POST['nome_submit']{
if ($_POST['captcha_input'] == $_SESSION['pass']);{
//tutto quello che ti serve per l'email
if(mail($indirizzo_dest, $oggetto, $informazioni, $header))
{
include 'confcontatti.html';
}//email inviata
else{//errore nell'invio
print("<center><br><br><br><font size='5' color='#FF0000'>
Errore invio E-mail, si prega di tornare indietro e .../center></font>");
}//fine if else invio
}else{//non iserito codice o errato
echo "non hai inserito il codice di sicurezza
}//fine verifica codice
}//fine if dato l'invio

resisti, a forza di provare si arriva alla fine:fonzie:
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Da captcha.php contenuto nel file php.zip togli il punto e virgola ;
Non è necessario inserire parentesi graffe:

PHP:
if ($_POST["captcha_input"] == $_SESSION["pass"]);

diventa:

PHP:
if ($_POST["captcha_input"] == $_SESSION["pass"])
 

volodos

Nuovo Utente
1 Set 2006
28
0
0
CI SIAMO QUASI ! Allora togliendoil punto e virgola, mettendo il codice giusto l'invio avviene correttamente, mettendo il codice sbagliato compare una pagina tutta bianca con niente dentro
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
E Aiuto per query PHP 8
I aiuto urgente per thunderbird Posta Elettronica 0
I aiuto per outlook Posta Elettronica 0
T aiuto per trasformare un quiz fatto in JS in un quiz in JQUERY jQuery 0
M Fullcalendar in Codeigniter, un aiuto per la chiamata $ajax ? jQuery 0
P Aiuto per rendere un Bot Telegram Privato PHP 1
A Aiuto per pagina php PHP 0
T cercasi aiuto per file d1 (open-edge db) Database 0
L Aiuto per programma web php/mySQL PHP 2
claudio_lorenzo [Javascript] aiuto su jquery per calcolo altezze dom Javascript 1
T Aiuto per php7 e mysqli PHP 3
T mysql tutorial per importare tabelle access in mysql aiuto MySQL 2
wildcity9 aiuto per sbloccare account instagram bannati Social Media Marketing 0
A Aiuto per configurare il banner di Iubenda su un sito in html HTML e CSS 0
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
Z [HTML] aiuto per visualizzazione su tablet Offerte e Richieste di Lavoro e/o Collaborazione 6
W [PHP] Un aiuto per il mio primo "Multithread" PHP 0
G Vuoi fare successo? Abbiamo bisogno di aiuto per un app! Offerte e Richieste di Lavoro e/o Collaborazione 1
K [javascript] Aiuto per programma subnetting Javascript 0
F ciao, sono ferro e ho bisogno di aiuto per problemi con la mail di alice.it Presentati al Forum 1
L [PHP] aiuto per installazione mrbs PHP 0
1 Aiuto per nuovo sito SEO e Posizionamento 4
K Server per sito di annunci: aiuto nella scelta Hosting 4
P [Javascript] Aiuto per recupero variabili da script Javascript 10
P [PHP] Aiuto per gestione file CSV PHP 24
A scambio lavoro per aiuto con android Sviluppo app per Android 0
A aiuto per un codice... PHP 1
ecosito Aiuto con la traduzione in italiano per capire come installare questo JavaScript jQuery 0
StelladelSud Cerco aiuto per una demo Offerte e Richieste di Lavoro e/o Collaborazione 3
G Piccolo aiuto per php mail PHP 2
G aiuto per semplice menu onclick HTML e CSS 6
F aiuto per funzionamento sito responsive e form contatti HTML e CSS 29
A AIUTO per impostazione doppia cifra in tabella HTML e CSS 6
G Passaggio variabili tra pagine- Aiuto per maturità 2015 PHP 3
G Passaggio variabili tra pagine- Aiuto per maturità 2015 PHP 0
A Aiuto per Flash player Flash 0
J Aiuto per localstorage con jquery/js/json Javascript 4
M Cerco aiuto per una modifica di un codice Javascript 2
A Aiuto per ordine cronologico lista file all'interno di una cartella protetta PHP 2
G Aiuto! Studente cerca aiuto per un codice PHP PHP 1
S Aiuto per 2 codifiche java Java 4
G Aiuto per creare chat stile Facebook Javascript 7
Sevenjeak Aiuto e consigli su adattamento sito per dispositivi mobile HTML e CSS 2
S aiuto per script PHP/OOP PHP 2
J Aiuto per un sitema di upload per un progetto PHP 0
K Aiuto per sito Discussioni Varie 0
D Richiesta aiuto siti per indirizzamento forum HTML e CSS 1
M Aiuto per una libreria per generare grafici PHP 1
B Saluti ed aiuto per pagina web html HTML e CSS 11
I Aiuto per modificare gruppo buddypress WordPress 0

Discussioni simili