Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    378

    stringa in post tagliata

    Ciao!
    perchè passando nella funzione mail() un valore passato tramite post la stringa viene terminata al primo spazio?
    lo script è impostato in tal modo:

    campo form prima pagina--->valore stampato in un hidden nella seconda pagina e che successivamente passerà il valore alla funzione mail() che è nella terza pagina.
    la seconda pagina esiste per alcuni controlli e convalide dell'invio da effettuare obbligatoriamente quindi è impossibile eliminarla e gestire tutto da due pagine..


    edito:il valore nella seconda pagina viene passato tranquillamente,il problema sorge quando viene passato alla terza pagina.

  2. #2
    usa gli apici attorno al value=$var nel form...

    cioè..

    $var = "ciao prova";

    <input name="prova1" value="$var">

    <input name="prova2" value=$var>


    che html viene generato?

    <input name="prova1" value="ciao prova">

    <input name="prova2" value=ciao prova>


    nel secondo caso ciao è il vallore.. prova potrebbe essere un altro attributo del campo... il browser che ne sa porello?


  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    378
    Originariamente inviato da }gu|do[z]{®©
    usa gli apici attorno al value=$var nel form...

    cioè..

    $var = "ciao prova";

    <input name="prova1" value="$var">

    <input name="prova2" value=$var>


    che html viene generato?

    <input name="prova1" value="ciao prova">

    <input name="prova2" value=ciao prova>


    nel secondo caso ciao è il vallore.. prova potrebbe essere un altro attributo del campo... il browser che ne sa porello?

    grazie guido, stavo proprio per chiedere guardando l html stampato se poteva essere questo il problema

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    378
    visto che riguarda lo stesso script vorrei riuscir a richiamere una funzione in un campo hidden,è possibile tipo una cosa del genere:
    echo"<input type=hidden name=prodotto1 value=\".converti_a_valore($prodotto1 ,$info_prodotto,$quantitauno);.">";

    nn l ho testata,può funzionare?

  5. #5
    echo"<input type=hidden name=prodotto1 value=\"", converti_a_valore($prodotto1 ,$info_prodotto,$quantitauno);,"\">";


    oppure
    $valore= converti_a_valore($prodotto1 ,$info_prodotto,$quantitauno);
    echo"<input type=hidden name=prodotto1 value=\"$valore\">";


    prova sempre prima di chiedere

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    378
    Originariamente inviato da }gu|do[z]{®©
    echo"<input type=hidden name=prodotto1 value=\"", converti_a_valore($prodotto1 ,$info_prodotto,$quantitauno);,"\">";


    oppure
    $valore= converti_a_valore($prodotto1 ,$info_prodotto,$quantitauno);
    echo"<input type=hidden name=prodotto1 value=\"$valore\">";


    prova sempre prima di chiedere
    ho utilizzato la prima e mi dava errore,ho risolto cosi:
    echo"<input type=hidden name=prodotto1
    value=\""."converti_a_valore($prodotto1 ,$info_prodotto,$quantitauno);"."\">";

    grazie!


    edit:
    mi sa che utilezzerò il secondo metodo visto che restituisce la chiamata alla funzione l ho inserita come stringa gh

  7. #7
    Originariamente inviato da XvOg1

    edit:
    mi sa che utilezzerò il secondo metodo visto che restituisce la chiamata alla funzione l ho inserita come stringa gh
    appunto

    comunque guarda che la prima cosa che ho scritto... sono tre cose diverse separate da VIRGOLA...


    il punto concatena stringhe (e non essendo una stringa non puoi usarlo peer la funzione)... la virgola serve a far stampare in sequenza più "cose" (tra cui anche il risultato di una funzione) ad echo... non ho provato, ma dovrebbe fungere



  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    378
    ho provato con la virgola ma mi da errore :master:
    cmq ho risolto con il secondo metodo,l'unica cosa è che vorrei dichiarare come globali le tre variabili : $ris1,$ris2,$ris3; per il fatto che sono all'interno di vari if,quindi finisce per non stamparmeli..credo


    posto lo script completo:
    codice:
    <?php 
                    
                    $ris1 = null;
                    $ris2 = null;
                    $ris3 = null;
                    $nome = $_POST['nome']; 
                    $cognome = $_POST['cognome']; 
                    $telefono = $_POST['telefono']; 
                    $indirizzo = $_POST['indirizzo'];  
                    $prodotto1 = $_POST['prodotto1']; 
                    $quantitauno = $_POST['quantitauno']; 
                    $prodotto2 = $_POST['prodotto2']; 
                    $quantitadue = $_POST['quantitadue']; 
                    $prodotto3 = $_POST['prodotto3']; 
                    $quantitatre = $_POST['quantitatre']; 
                    $ip = $_POST['ip']; 
                    $ora = $_POST['ora']; 
                    $data = $_POST['data'];
    
    
                    function converti_a_valore($id_prodotto ,$valore,$num)
    
                   {
    
                    if (isSet($valore[$id_prodotto]))
                      
                     {
    
                    $var_id_prodotto = $valore[$id_prodotto];
    
                    $var_valore_prodotto = $valore[$var_id_prodotto];
                    
                    $risultato = $var_valore_prodotto * $num;
              
                    
    
                    
                    print("<center><font class=\"testo\">Prodotto: $var_id_prodotto - Numero Prodotti: $num - Costo Singolo Prodotto:$var_valore_prodotto &euro; - Totale: $risultato &euro;</font></center>
    ");
    
                     }
    
                   }
     
    
                   
                
                  
                                     
    
                      $info_prodotto = array();
    
                      $info_prodotto[0] = 'nessun prodotto';
    
                      $info_prodotto['nessun prodotto'] = 0;
    
                      $info_prodotto[1] = 'Bicchiere weiss 30 cl.';
                      
                      $info_prodotto['Bicchiere weiss 30 cl.'] = 3;
    
                      $info_prodotto[2] = 'Bicchiere weiss 50 cl.';
    
                      $info_prodotto['Bicchiere weiss 50 cl.'] = 3.5;
    
                      $info_prodotto[3] = 'Boccale collezione cl.20';
    
                      $info_prodotto['Boccale collezione cl.20'] = 5;
    
                      $info_prodotto[4] = 'Calice 30 cl.';
    
                      $info_prodotto['Calice 30 cl.'] = 3;
    
                      $info_prodotto[5] = 'Calice 40 cl.';
    
                      $info_prodotto['Calice 40 cl.'] = 3.5;
                      
                      $info_prodotto[6] = 'Bicchiere lager 20 cl.';
     
                      $info_prodotto['Bicchiere lager 20 cl.'] = 3;
                       
                      $info_prodotto[7] = 'Bicchiere lager 40 cl.';
    
                      $info_prodotto['Bicchiere lager 40 cl.'] = 3.5;
    
                      $info_prodotto[8] = 'Bicchiere minis mod. tub. alto 5 cm.';
    
                      $info_prodotto['Bicchiere minis mod. tub. alto 5 cm.'] = 3.5;
    
                      $info_prodotto[9] = 'Bicchiere minis mod.sad. alto 6 cm.';
    
                      $info_prodotto['Bicchiere minis mod.sad. alto 6 cm.'] = 4;
    
                      $info_prodotto[10] = 'Bott. birra Black cl.75';
    
                      $info_prodotto['Bott. birra Black cl.75'] = 6.5;
    
                      $info_prodotto[11] = 'Bott. birra Ale cl.75';
    
                      $info_prodotto['Bott. birra Ale cl.75'] = 5.5;
                       
                      $info_prodotto[12] = 'Bott. Birra Super cl.75';
    
                      $info_prodotto['Bott. Birra Super cl.75'] = 6.5;
    
                      $info_prodotto[13] = 'Bott. Birra Weiss cl.75';
    
                      $info_prodotto['Bott. Birra Weiss cl.75'] = 5.5;
    
                      $info_prodotto[14] = 'Berretto';
    
                      $info_prodotto['Berretto'] = 9;
    
                      $info_prodotto[15] = 'T-shirt uomo manica corta 100% cotone';
    
                      $info_prodotto['T-shirt uomo manica corta 100% cotone'] = 12;
    
                      $info_prodotto[16] = 'T-shirt uomo manica lunga 100 % cotone';
    
                      $info_prodotto['T-shirt uomo manica lunga 100 % cotone'] = 15;
    
                      $info_prodotto[17] = 'T-shirt donna elasticizzata manica corta';
    
                      $info_prodotto['T-shirt donna elasticizzata manica corta'] = 15;
    
                
    
    
              
                 
    
                      if($prodotto1 != 0 and $quantitauno != 0){
                      global $ris1;
                      $ris1 = converti_a_valore($prodotto1 ,$info_prodotto,$quantitauno);}
    
                      else{
                      print("<center><font class=\"testo\">PRIMO CAMPO PRODOTTO NON SELEZIONATO O INCOMPLETO</font></center>
    ");}
    
    
                      if($prodotto2 != 0 and $quantitadue != 0){
                     global $ris2;
                     $ris2 = converti_a_valore($prodotto2 ,$info_prodotto,$quantitadue);}
    
                      else{
                      print("<center><font class=\"testo\">SECONDO CAMPO PRODOTTO NON SELEZIONATO O INCOMPLETO</font></center>
    ");}
                  
    
                      if($prodotto3 != 0 and $quantitatre != 0){
                     global $ris3;
                     $ris3 = converti_a_valore($prodotto3 ,$info_prodotto,$quantitatre);}
    
                      else{
                      print("<center><font class=\"testo\">TERZO CAMPO PRODOTTO NON SELEZIONATO O INCOMPLETO</font></center>
    ");}
    
    
                    
    
    
           
    
                     echo"<form name=form_email method=post action=invia.php>";  
                     echo"<input type=hidden name=ip value=\"$ip\">";
                     echo"<input type=hidden name=ora value=\"$ora\">";
                     echo"<input type=hidden name=data value=\"$data\">";
                     echo"<input type=hidden name=nome value=\"$nome\">";
                     echo"<input type=hidden name=cognome value=\"$cognome\">";
                     echo"<input type=hidden name=telefono value=\"$telefono\">";
                     echo"<input type=hidden name=indirizzo value=\"$indirizzo\">";
                     echo"<input type=hidden name=prodotto1 value=\"$ris1\">";
                     echo"<input type=hidden name=prodotto2 value=\"$ris2\">";
                     echo"<input type=hidden name=prodotto3 value=\"$ris3\">";
                     echo"<center><input name=Submit type=submit class=testo2 id=Submit value=Invia>
    "
                          ."Torna indietro</center>";
                     echo"</form></body></html>";
    
    
    ?>
    nn capisco se il valore delle 3 variabili nei costrutti if vengono memorizzati o è proprio colpa della dichiarazione errata delle globali... :master:

    come faccio?


    edit:
    ho risolto modificando la funzione cosi,visto che la funzione si limitava solo a stamparli
    codice:
    function converti_a_valore($id_prodotto ,$valore,$num)
    
                   {
    
                    if (isSet($valore[$id_prodotto]))
                      
                     {
    
                    $var_id_prodotto = $valore[$id_prodotto];
    
                    $var_valore_prodotto = $valore[$var_id_prodotto];
                    
                    $risultato = $var_valore_prodotto * $num;
    
                    
                    global $ris1,$ris2,$ris3;
                    $ris1=<<<EOP
                    Prodotto: $var_id_prodotto - Numero Prodotti: $num - Costo Singolo Prodotto:$var_valore_prodotto &euro; - Totale: $risultato &euro; 
    EOP;
    
                 $ris2=<<<EOPA
                  Prodotto: $var_id_prodotto - Numero Prodotti: $num - Costo Singolo Prodotto:$var_valore_prodotto &euro; - Totale: $risultato &euro;
    EOPA;
    
                 $ris3=<<<EOPB
                    Prodotto: $var_id_prodotto - Numero Prodotti: $num - Costo Singolo Prodotto:$var_valore_prodotto &euro; - Totale: $risultato &euro; 
    EOPB;
                    
                    print("<center><font class=\"testo\">Prodotto: $var_id_prodotto - Numero Prodotti: $num - Costo Singolo Prodotto:$var_valore_prodotto &euro; - Totale: $risultato &euro;</font></center>
    ");
    
    
    
                     }
    
                   }

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.