Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [PHP + HTML] invio dati con FORM

    Un saluto a tutti,
    scusate sarà una banalità ma non ne vengo a capo...

    Preparo un form:

    Codice PHP:
    echo "<form name=\"firma_form\" /* enctype=\"text/plain\" */ method=\"post\" action=\"".$indirizzo.".php\" onsubmit=\"return valida(this);\"\">

     <fieldset>
      <legend>Dati Utente</legend>
      <label>Firma: 
    <input name=\"firma\" type=\"text\" size=\"20\" maxlength=\"40\"/></label>
      

      

      <label>Oggetto: 
    <input name=\"oggetto\" type=\"text\" size=\"20\" maxlength=\"40\"></label>
      

      

      <label>Indirizzo email: 
    <input name=\"email\" type=\"text\" size=\"20\" maxlength=\"40\"></label>
     </fieldset>




     <fieldset>
      <legend>Commento</legend>
      <label>Lasciami il tuo parere:

       <textarea name=\"commento\" cols=\"50\" rows=\"10\">
       </textarea>
      </label>
     </fieldset>
     <input type=\"hidden\" name=\"id\" value=\""
    .$id_tx."\">


    Firma:"
    .$_SESSION["Username"]."

    Data odierna:[b]" 
    .date("d/m/Y")."[/b]


    <input type=\"submit\" name=\"submit\" value=\"Invia commento\">
    <input type=\"reset\" value=\"Cancella dati\">
    <!--  <button type=\"reset\">annulla</button>
     
     <button type=\"submit\">invia</button> -->
    </form>"

    I dati vanno al file $indirizzo=scrivi_in_db.php che è questo:

    Codice PHP:
    //Connessione al Db ok
    $firma=addslashes(htmlspecialchars($_REQUEST['firma']));
            
    $email=addslashes(htmlspecialchars($_REQUEST['email']));
            
    $oggetto=addslashes(htmlspecialchars($_REQUEST['oggetto']));
            
    $commento=htmlspecialchars($_REQUEST['commento']);
            
    $id_tx $_REQUEST['id'];
            
    $ip=addslashes(getenv("REMOTE_ADDR"));
            
    $local=addslashes(gethostbyaddr($ip));
            
    $browser=addslashes($_SERVER["HTTP_USER_AGENT"]);
            
    $data=Date("H:i:s - d/m/Y");
            
    $commento=nl2br($commento); //
            
    $commento=addslashes($commento);
            
                echo 
    "$commento
    "
    ;
                echo 
    "$data
    "
    ;
                echo 
    "$ip
    "
    ;
                echo 
    "$browser
    "
    ;
                echo 
    "$id_tx
    "
    ;
                echo 
    "$email
    "
    ;
                echo 
    "$oggetto
    "
    ;
                echo 
    "$firma
    "
    ;
    // inserimento dati (quelli che arrivano...) ok 
    Ciò che vedo è :
    Codice PHP:
    echo "$data
    "
    ;
                echo 
    "$ip
    "
    ;
                echo 
    "$browser
    "

    Cosa c'è nel mio form che non va???

    Grazie ancora.
    Lordras

  2. #2
    al posto di $_REQUEST perchè non usi $_POST?

  3. #3
    Originariamente inviato da Toxik
    al posto di $_REQUEST perchè non usi $_POST?
    Perchè in teoria l'array $_REQUEST contiene qualsiasi input fornito dall'utente con qualsiasi metodo...

    Almeno cosi ho letto...

    Il fatto sta che ho una pagina nella quale ho del codice che funziona, ma che per altri motivi ho dovuto modificare.

    Posto il codice (html) della pagina che invia correttamente i dati:

    Codice PHP:
    <?php $indirizzo scrivi_in_db;
    $id_tx $_GET["id"]; echo $id_tx?>
    <form name="firma_form" method="post" action="<?php echo "$indirizzo.php"?>" onsubmit="return valida(this);">
            [b]Indirizzo email:[/b]
    <input type="text" name="email" />

            <input type="hidden" name="id" value="<?php echo "$id_tx"?>" />
            [b]Oggetto:[/b]
    <textarea cols="50" rows="1" name="oggetto" class ="input"></textarea>

            [b]Commento:[/b]
    <textarea cols="50" rows="20" name="commento" class ="input"></textarea>

            Firma: <?php $firma $_SESSION["Username"];
            echo 
    "[b]".$firma."[/b]";     echo "   Data odierna: [b]" date("d/m/Y"). "[/b]";?>

        



        <input type="submit" name="Submit" value="Invia commento">
        <input type="reset" value="cancella i dati immessi">
        

        </form>
    Ma... non capisco
    Lordras

  4. #4
    Innanzitutto togli /* enctype=\"text/plain\" */. Poi se non dovesse funzionare prova ad usare $_POST.


  5. #5
    Originariamente inviato da Toxik
    Innanzitutto togli /* enctype=\"text/plain\" */. Poi se non dovesse funzionare prova ad usare $_POST.


    Esatto era enctype... Magari cambio anche il $_REQUEST in $_POST.

    Grazie mille!!!
    Lordras

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.