Visualizzazione dei risultati da 1 a 3 su 3

Discussione: da form a mail

  1. #1

    da form a mail

    Buongiorno,
    ho creato uno script che in base al contenuto di una cartella mi genera un form con circa 20/40 checkbox, uno per ogni file contenuto nella cartella, per comunicarmi l'immagine scelta.

    la struttura è cosi:
    codice:
    <input type='checkbox' name='foto' value=170901_001.jpg > SCEGLI 
    <hr><img src=170904_002.jpg width=20><br> 
    <input type='checkbox' name='foto' value=170904_002.jpg >
    e se imposto il metodo GET mi crea una stringa cosi:
    codice:
    selezionate.php?foto=170906_003.JPG&foto=170913_0001.jpg&foto=170913_0005.jpg&foto=170913_0006.jpg
    Ora vorrei inviare tutti i valori "foto" alla mia mail, anche mischiati o non formattati,
    però ho pratica 0 con PHP e nella mail mi manda solo il primo valore es: 1545121.jpg , oppure dopo mille manomissioni mi spedisce la scritta "Array" .

    Qualche dritta ?
    Mi basta che alla mail info@miosito.com mi arrivi l'elenco delle checkbox spuntate, solo quello.
    Ovviamente non posso dare ai checkbox valori univoci perchè il contenuto della cartella e il numero dei files cambia continuamente.


  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ciao, con PHP se vuoi avere una lista di dati tramie chechbox, non puoi usare lo stesso "name" per piu' tag, o l'ultimo come hai riscontrato prevale su tutti. In tale caso puoi impostare le checkbox con un "name" in questo modo:
    codice:
    <input type="checkbox" name="foto[]" value="foto1.jpg" />
    A questo punto nella risposta avari un $_GET o $_POST che sarà un array/lista con i valori di quelle flaggate

    Qui http://php.net/manual/en/function.print-r.php puoi vedere come leggere l'array "foto".

    Se ti basta una stringa testuale derivata dai nomi file presenti nell'array foto ti basterebbe fare così

    http://php.net/manual/en/function.implode.php

  3. #3

    GRazie mille

    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Ciao, con PHP se vuoi avere una lista di dati tramie chechbox, non puoi usare lo stesso "name" per piu' tag, o l'ultimo come hai riscontrato prevale su tutti. In tale caso puoi impostare le checkbox con un "name" in questo modo:
    codice:
    <input type="checkbox" name="foto[]" value="foto1.jpg" />
    A questo punto nella risposta avari un $_GET o $_POST che sar� un array/lista con i valori di quelle flaggate

    Qui http://php.net/manual/en/function.print-r.php puoi vedere come leggere l'array "foto".

    Se ti basta una stringa testuale derivata dai nomi file presenti nell'array foto ti basterebbe fare cos�

    http://php.net/manual/en/function.implode.php
    In effetti avevo pensato di usare "implode" , ma non sono pratico e il nome mi faceva paura
    al momento ho messo una pezza generando un 'name' dinamico con Session in ASP , in pratica per ogni file della cartella mi genera una checkbox con un name progressivo, poi nel file di invio ho inserto una bella serie di
    codice:
         $body .= " " . trim(stripslashes($_POST["foto1"])) . "\n";
           $body .= " " . trim(stripslashes($_POST["foto2"])) . "\n";
    da 1 a 40 che per il momento dovrebbe essere il numero massimo di immagini presenti nella cartella.
    Cosi (gli striplashes non servono ma ho fatto copia incolla da un vecchio modulo) ricevo una mail coi valori in colonna.
    Certamente il metodo che mi hai suggerito tu � pi� flessibile ed illimitato e ci lavorer�, quello che ho fatto al momento � giusto una pezza.
    Grazie ancora
    R.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.