Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problema con form mail

  1. #1

    problema con form mail

    ciao,
    per piacere qualche anima pia riesce a scoprire perchè lo stesso script non funziona nel primo server e invece va a meraviglia sul secondo?
    è un semplice mail form con controllo dei campi, ma sul primo server restituisce sempre 'inserire nome' anche se questo è inserito!
    sembra quasi che non riesca a leggere le variabili.
    voglio dire: c'è un altro modo per scrivere
    codice:
    $campo1 = "Nome";
    ??


    http://www.bigfishalghero.it/prova/contatti-cc.php
    http://www.bluedolphinalghero.com/prova/contatti-cc.php

  2. #2
    non è che hai un problema di register_global?

    Nella pagina che riceve il form i campi li recuperi con $_POST (o $_GET a dipendenza del metodo)?

  3. #3
    ciao e grazie della risposta, innanzitutto.

    nella pagina che dici tu c'è:

    codice:
     <form name="modulo" method="post" action="invia-cc.php">
    devo, per caso cambiarla in $_POST ?

  4. #4
    il tuo form lo invii con POST, dunque i valori che ricevi li leggi con $_POST['nome_campo'] , è così che fai?

    Se non è così che fai ma usi semplicemente $nome_campo penso che il tuo problema sia che su un server il register_global è on e sull'altro off.

    Ovviamente se poi posti qualche linea di codice non dovremo tirar ad indovinare ...

  5. #5
    Se non è così che fai ma usi semplicemente $nome_campo penso che il tuo problema sia che su un server il register_global è on e sull'altro off.
    penso che tu abbia ragione;

    ecco il codice:
    codice:
    <?php
    
    
    $tua_email = "***@alice.it";
    
    $campo1 = "Nome"; 
    $campo2 = "Cognome";
    $campo3 = "Indirizzo";
    $campo4 = "Città";
    $campo5 = "Paese";
    $campo6 = "Cap";
    $campo7 = "Telefono";
    $campo8 = "Email";
    $campo9 = "Persone";
    $campo10 = "arrivo giorno";
    $campo11= "arrivo mese";
    $campo12 = "arrivo anno";
    $campo13 = "partenza giorno";
    $campo14= "partenza mese";
    $campo15 = "partenza anno";
    $campo16 ="Richieste";
    
    $messaggio_inviato="grazie per aver compilato il form" ;
    // È il messaggio mostrato quando l'invio è riuscito
    
    $ora = date ("h:i:s A"); 
    $data = date ("d:m:Y");
    $messaggio = stripslashes($messaggio); 
    /*$campo1 = stripslashes($campo1);*/
    $primo = stripslashes($primo);
    $secondo = stripslashes($secondo);
    /*$campo2 = stripslashes($campo2);*/
    
    ?>

    come posso risolvere? devo contattare l'amministratore del server e chiedere che il register_global venga attivato?
    grazie ancora.

  6. #6
    Da oramai varie versioni di PHP il register_global è a off per motivi di sicurezza.

    La miglior soluzione è che cambi il tuo codice per usare $_POST, se pensi che non sia fattibile da qualche parte avevo qualche riga di codice che "simulava" un register_global a on definendo tutte le variabili ricevute dal form, se vuoi posso andar a ricercarlo.

    Ma ti consiglio di correggere lo script per usare $_POST.

  7. #7
    ok grazie mille ho risolto

    ciao!!

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.