Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    12

    Form PHP e Caratteri Speciali

    Ciao ragazzi,
    ho un problemino con un form PHP.

    Ho questo piccolissimo e semplicissimo form (MAIL - OGGETTO - TESTO) scritto in PHP montato su Flash, che funziona perfettamente.
    L'unico problema è che non mi riconosce i caratteri speciali (come per esempio l'underscore) nel campo mail.

    Qualcuno sà aiutarmi?
    Vi posto il codice.

    Grazie!!

    Questo è il codice che ho utilizzato per l'invio da Flash:

    Codice PHP:
    on (release) {     
          
    URL "form.php?MAIL*="+MAIL+"&OGGETTO*="+OGGETTO+"&TESTO*="+TESTO;
          
    loadVariablesNum(URL0);
          if (
    MAIL != "" && OGGETTO != "" && TESTO) {         
              
    MAIL "";         
              
    OGGETTO "";           
              
    TESTO "";     
          } 

    Questo invece il codice del file PHP che gestisce il form:

    Codice PHP:
    <?

    // Iniziamo subito con il recupero dei dati inviati dal form:
    $a=0;
    foreach(
    $_GET as $var => $val){
    // verifica dei campi obbligatori:
      
    IF (eregi("\*",$var) AND empty($val)) {
    // setup delle risposte da PHP a FLASH:
             
    die("invio=Campi richiesti non compilati");             
        }
             
    $chiave[$a] = $var;
             
    $valore[$a] = $val;
             
    $a++;
    }

    // Corpo del messaggio per il proprietario del sito (prima parte):
    $messaggio2 "Sito Web ([url]www.sitoweb.com[/url])\n\n";
    $messaggio2 .= "E' stata inoltrata una richiesta dal Modulo Online di Contatti del Sito.\n";
    $messaggio2 .= "I dati relativi sono:\n\n";

    // Corpo del messaggio comune (parte seconda):
    $a=0;
    while (isset(
    $chiave[$a])) {
        if (
    eregi("Email",$chiave[$a]) || eregi("e-mail",$chiave[$a]) || eregi("mail",$chiave[$a])) { $email "$valore[$a]"; }
        
    $form .= "$chiave[$a]$valore[$a] \n";
        
    $a++;
    }

    // Rimozione dei caratteri speciali: 
    $form eregi_replace("_"" "$form);
    $form eregi_replace("\*"" "$form);

    //Setup destinatario
    $destinatario "info@sitoweb.com";

    // Setup dell'oggetto della mail:
    $oggetto "Modulo Contatti";

    // setup della risposta all'utente per presa consegna del feedback:
    $messaggio "Il vostro modulo è stato preso in consegna,\n";
    $messaggio .= "sarete ricontattati al più presto.\n\n";
    $messaggio .= "I Dati da voi inseriti sono:\n\n";
    $messaggio .= "$form\n\n\n";

    // se l'utente non ha inserito la propria mail e non è obbligatoria allora la risposta torna a voi: 
    if (!isset($email) or empty($email)) { 

         
    $email $destinatario;
         
    $messaggio "Nessuna Mail di ricezione inserita per il form sottostante\n";
         
    $messaggio .= "DATI RELATIVI:\n\n";                            
         
    $messaggio .= "$form\n\n\n";
    }

    // creazione degli Header della mail:
    $headers "From: $destinatario\n";
    $headers .= "X-Sender: $destinatario\n"
    $headers .= "X-Mailer: WeB\n";  
    $headers .= "X-Priority: 2\n"
    $headers .= "Return-Path: $destinatario\n";  

    // assemblaggio del messaggio:
    $messaggio2 $messaggio2 $form;

    // MESSAGGIO PER IL PROPRIETARIO DEL SITO:
    mail  $destinatario $oggetto $messaggio2 $headers ) or die("invio=Problemi tecnici durante l'invio, riprovare in seguito.");
    //-----------------------------------------------------------------^Qui potete inserire l'eventuale messaggio d'errore al comando Mail:

    // MESSAGGIO PER IL MITTENTE DEL FEEDBACK:
    mail $email $oggetto $messaggio $headers );

    // RISPOSTA POSITIVA:
    Print "invio=Invio effettuato con successo";

    ?>
    Un bacio ai Pupi!
    Il Mau

  2. #2
    Metti questo all'inizio del file php

    Codice PHP:
    header("Content-type: text/html; charset=ISO-8859-1"); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    12
    Esattamente dove lo dovrei mettere?

    Perchè io attualemente l'ho inserito così (vedi sotto) ma non funziona lo stesso.

    Codice PHP:
    <?
    header
    ("Content-type: text/html; charset=ISO-8859-1");
    // Iniziamo subito con il recupero dei dati inviati dal form:
    $a=0;
    foreach(
    $_GET as $var => $val){
    // verifica dei campi obbligatori:
      
    IF (eregi("\*",$var) AND empty($val)) {

    ...
    Un bacio ai Pupi!
    Il Mau

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.