|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |||
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 375
|
roblema nel HTML oppure nel form PHP?
Salve ragazzi avrei bisogno di un vostro consiglio,
ho creato questa script in html: http://www.museocorraine.com/prova/html/contatti.html sino a qui tutto ok, il problema sorge nella compilazione dello stesso.. L email arriva regolarmente, ma le voci presenti sulle tendine non vengono visualizzate.. Vengono riportate le stesse cose evidenziate di rosso.. Come mai non appaiono i contenuti presenti nelle tendine?? Quote:
Potete dirmi dove sbaglio?? Il problema sta nel codice html: Quote:
Oppure nel form php?? Quote:
Vespalonga!! Ultima modifica di Vespalonga76 : 23-03-2008 alle 15:23. |
|||
|
|
|
|
|
#2 | |
|
Junior Member
Iscritto dal: Mar 2008
Città: Bolgare(BG)
Messaggi: 23
|
Quote:
cosi all'istante ti posso dare 1 consiglio veloce.... prova temporaneamente a cambiare il method della form da POST a GET, cosi vedi nella url chiamata che parametri passi cosi capisci al volo se il problema è nell'html o nel php...
__________________
---Ci sono 10 categorie di persone... chi conosce il binario e chi no--- |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 375
|
Per brigoly
Ciao e grazie della risposta,
mi spiace comunicarti che non sono tanto ferrato in materia... Cosa sarebbe il: method della form da POST a GET?? CVome faccio a cambiarlo?? Cos aintendi con URL Chiamata?? Spero in una tua delucidazione
|
|
|
|
|
|
#4 | |
|
Junior Member
Iscritto dal: Mar 2008
Città: Bolgare(BG)
Messaggi: 23
|
Quote:
nella pagina HTML, sostituisci Codice:
<form name="form" action="mail.php" method="post"> Codice:
<form name="form" action="mail.php" method="GET">
__________________
---Ci sono 10 categorie di persone... chi conosce il binario e chi no--- |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 375
|
Questo è cio che vedo dalla barra degli indirizzi..
http://www.museocorraine.com/prova/h...gnome=&citt%E0 =&permanenza=&Condizioni+Immobile=&Disponibilit%E0+Proprietario=&Pulizia =&Ubicazione=&Lo+Consiglieresti=&mail=&oggetto=&messaggio=&Invia=Invia+richiesta Cosa dovrei fare?? Io non ci sto capendo piu nulla!! |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
suggerisco un semplice
print_r($_POST);
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 375
|
.
Cosa ci faccio con quest: print_r($_POST);
Dove va inserito?? Cosa mi permette di vedere?? Che casino !!!
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 375
|
.
http://www.museocorraine.com/prova/html/mail.php?
nick=Mario& cognome=Rossi& citt%E0=Milano& permanenza=01-08-2008+al+15-08-2008& Condizioni+Immobile=SUFFICENTE& Disponibilit%E0+Proprietario=BUONO& Pulizia=ECELLENTE&Ubicazione=OTTIMO& Lo+Consiglieresti=SI& mail=pippo%40gmail.com& oggetto=Feedback& messaggio=& Invia=Invia+richiesta Questo è cio che vedo, cosi facendo sembra che tutto funzioni.. Allora qual è il problema?? |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
E' un po' arduo usare html e php se non si conoscono almeno le basi...è mio suggerimento trovare una guida online che ti aiuti a migliorare le tue conoscenze.
print_r è un'istruzione che permette di stampare a video tutto il contenuto di un array, nel caso sopraccitato il contenuto dell'array $_POST atto a contenere tutti i dati che inseriti al'interno del form, vengono inviati al server. Il mio era un suggerimento su come visualizzare i dati inviati in postback senza andare a modificare il metodo di invio nel form. Il tutto perchè cambiando il metodo da post a get, per utilizzare le informazioni inserite nel form si deve andare a modificare il file mail.php laddove si fà riferimento alla variabile $_POST. Inserendo come prima istruzioni all'interno del mail.php un print_r($_POST), ottieni lo stesso risultato, ovvero vedi se le informazioni inserite nel form vengono inviate correttamente al file mail.phpcol duplice vantaggio che non devi andare a modificare altro codice. Aldilà di questo il problema mi sembra abbastanza banale. In queste righe: Quote:
Ma...le variabili $pulizia, $disponibilità, $ubicazione, ecc... non sono state inizializzate con le rispettive controparti presenti nel $_POST. Tutto qui.
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 375
|
.
Ti ringrazio,
ma ti chiedo cortesemtne se potresti farmi un esempio!! |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
Nel codice, ad un certo punto, scrivi:
Quote:
Non contiene nulla in quanto non è stata inizializzata con alcun valore. Al 99,9% verrà vista come una stringa vuota. La vogliamo inizializzare. Dove si trova il valore corretto? Si trova nell'array di dati $_POST, array che viene popolato da tutti i valori passati dal form creato nell'altro file. Basterebbe quindi scrivere $permanenza=$_POST['permanenza']; Se vogliamo utilizzare lo stesso iter adottato per le altre variabili, possiamo scrivere: $permanenza = trim(strip_tags(stripslashes($_POST['permanenza']))); dove trim(), strip_tags() e stripslashes sono funzioni particolariche lavorano sulle stringhe. http://it.php.net/manual/it/function.trim.php http://it.php.net/manual/it/function.strip-tags.php http://it.php.net/manual/it/function.stripslashes.php
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 375
|
Ti ringrazio tantissimo per la pazienza mostratami, so che programmare in php non è per tutti, io mi sono imbattutto giusto stamattina e quel form è stato creato seguento un tutorial..
Io sono riuscito a farlo funzionare in parte, ossia tutto chio che riguarda: Nome Cognome Città permanenza oggetto lascia commento, riesco a farlo funzionare, perfettamente e cio che scrivo lo riesco a leggere nell e-mail.. Il mio problema è che le altre voci: Pulizia: Ubicazione Qualità Prezzo: Lo Consiglieresti: Ossia tutte quelle voci con la funzione di scegliere l aggettivo presente nelle finestre a tendina, quelle voci non le vedo proprio, vedo solamente pulizia ubicazione cc, ma senza nessun aggettivo presente nelle finestre a tendina.. Sicuramente il problema sta solo nel MAIL:PHP, ho fatto diverse prove anche inserendo le voci: $nome = trim(strip_tags(stripslashes($_POST['nick']))); esempio: $Pulizia = trim(strip_tags(stripslashes($_POST['pulizia]))); Ma non cambia nulla e a volta da errore di stringa ecc... Vedro un po i link che mi hai passato, ma credo sia dura... Nell ringraziarti nuovamente, spero in qualche tua magia
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
Quote:
1) hai scritto ['pulizia] invece di ['pulizia'] non chiudendo la stringa; 2) il php è case sensitive, quindi fa distinzione fra lettere maiuscole e minuscole. Quindi se tu scrivi $Pulizia=... e più avanti usi la variabile $pulizia, è normale che il risultato finale non sia quello sperato.
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
|
|
|
|
|
|
#14 | ||
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 375
|
.
Il problema persiste, ho provato ad inserire qualche stringa $ ecc..
Ma non funge, almeno in parte, tutto cio che riguarda le indicazione presenti nelle finestre a tendine non si vedono.. Allego il file mail.php e soto la mail ricevuta.. Quote:
Quote:
Help-meeeeeeeeeeeeeeeee |
||
|
|
|
|
|
#15 | ||
|
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
Occhio alle minuscole/maiuscole...
Se nel codice html scrivi Quote:
Quote:
Se scrivi $_POST['Pulizia'] con la p maiuscola vedrai che funziona. Stessa cosa per ubicazione...il name definito nell'html è 'Ubicazione' mentre il riferimento dentro la variabile $_POST l'hai scritto con la 'u' minuscola.
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
||
|
|
|
|
|
#16 | ||
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 375
|
x bsummer
Ti ringrazio di cuore per le dritte e la pazienza mostratami..
Finalmente ho risolto, anche se ho dovuto battagliare con il codice php e con l html per far funzionare tutto... Perche sino a che si trattava di parola songola come "pulizia" o "ubicazione" è stato semplice, mentre con la doppia parola come "disponibilità proprietario" o "qualità prezzo" la musica è cambiata, ma dopo sbatterci la testa ho risolto.. Posto qui lo script, se puo in futuro servire a qualcuno... Quote:
Quote:
Ancora grazie... Ps: ma nelle risposte ricevuto per mail, è possibile cambiare colore delle risposte?? tipo: Disponibilità Proprietario: BUONO Invece che: Disponibilità Proprietario: BUONO Anche se fosse il contrario: Disponibilità proprietario: BUONO E' possibile? Ultima modifica di Vespalonga76 : 24-03-2008 alle 15:25. |
||
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
Tecnicamente è possibile, si tratta di inviare il corpo del messaggio in formato html piuttosto che testo semplice. In questo modo si possono formattare le pagine come meglio si crede.Esistono classi php gratuite che permettono l'invio di email di questo tipo in modo semplice. Io uso phpmailer.
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Feb 2003
Messaggi: 375
|
.
Lasciamo perdere, basta quanto ho dovuto sudare per questa roba
Ora vedo $ parentesi ovunque, le sogno anche la notte Se volessi che questo script venga inserito direttamente sul sito, invece che passare per mail, e inseguito inserito da me sulla pagina.. Cosa dovrei fare?? E complicato e macchinoso?? Ciao Vespalonga!! |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
emh...non ho ben capito cosa vuoi fare
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: May 2004
Città: Roma
Messaggi: 539
|
Quote:
$header = "From: Inviante <[email protected]>\n"; $header .= "CC: Altro Ricevente <[email protected]>\n"; $header .= "X-Mailer: Il nostro Php\n"; // costruiamo le intestazioni specifiche per il formato HTML $header .= "MIME-Version: 1.0\n"; $header .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; $header .= "Content-Transfer-Encoding: 7bit\n\n"; e poi la mail la invii con: mail($receiverMail, $subject, $msgformat, $header); ovviamente in questo modo la variabile $receiverMail invece che in formato testo PUò, NON DEVE, essere in formato html se non ti fosse chiaro puoi farla del tipo $receiverMail = '<html> <body> <p style="color: red;">ciao</p> </body> </html>'; |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:10.




















