• User

    campo obbligatorio non funziona

    ciao non mi funziona il campo obbligatorio perchè se clicco sul pulsante senza selezionare un file mi da comunque ok, invece mi dovrebbe dare il messaggio d'errore, è corretto questo codice?
    Grazie

    <?php
    if (empty($_POST['file3'])) {

    echo "ok";

    } else {
    echo "tutti i campi sono obbligatori";
    }
    ?>

    <form action="" method="POST" enctype="multipart/form-data">
    <input type="file" name="file3[]" multiple/>
    <input type="submit" name"pubblicafile" value="PUBBLICA FILE">
    </form>


  • User Attivo

    Ciao,
    se ho capito bene il problema mi sa che devi metterci un "not" davanti, cioè:

    [PHP]if (!empty($_POST['file3'])) {[/PHP]


  • User

    ecco il codice completo, ho modificato ora l'inizio ma continua a dirmi FILE PUBBLICATO CORRETTAMENTE nonostante non avessi selezionato files prima di cliccare sul pulsante invio.

    <form method="POST" action="<?=$PHP_SELF?>" enctype="multipart/form-data">
    <input type="file" name="file3[]" multiple data-count="1" data-layout="list"
    accept="application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/pdf">

    <input type="hidden" name="pagina" value="96">
    <input type="hidden" name="idcorsi" value="<?=$idcorsi?>">
    <input type="hidden" name="id_login_ins_adm" value="<?=$_SESSION['idlogin']?>">
    <input class="btn green" type="submit" name"pubblicafile" value="PUBBLICA FILE">
    </form>

    <?php
    if ($pagina==96){

    if(!empty($_FILES['file3'])){

    $sizebytes_file = "5000000";
    $limitedext_file = array(".pdf",".doc",".docx",".xls",".xlsx");
    $absolute_path_file = "filesharing_files";

    /* INIZIO CICLO MULTIUPLOAD */
    foreach($_FILES['file3']['tmp_name'] as $key => $tmp_name ){
    $file3 = $key.$_FILES['file3']['name'][$key];
    $file_size =$_FILES['file3'][$key];
    $file_tmp =$_FILES['file3']['tmp_name'][$key];
    $file_type=$_FILES['file3']['type'][$key];

    if($file_size > $sizebytes_file){
    ?>

    IL FILE È TROPPO PESANTE

    <?php
    }
    else {

    $file3_b = preg_replace('/\s/', '', $file3);
    $file3_c = str_replace($cerca, $sostituisci, $file3_b);
    // fine pulisco le stringhe dai caratteri indesiderati

    // inizio estrai estenzione
    include('../inc_function_rinomina_file.php');
    // fine estrai estenzione

    include('../inc_function_upload_file.php');
    $desired_dir="filesharing_files";
    move_uploaded_file($file_tmp,"$desired_dir/".$file3_e);
    ?>

    FILE PUBBLICATO CORRETTAMENTE

    <?php
    }

    }

    }
    else {
    ?>

    DEVI RIEMPIRE I CAMPI OBBLIGATORI

    <?php
    }

    }
    ?>


  • User Attivo

    Scusami ma, a colpo d'occhio e prima ancora di mettermi a fare delle prove "reali", a parte il fatto che forse il method del form dovrebbe essere [PHP]<?php echo $_SERVER['PHP_SELF']; ?>[/PHP] e non [PHP]<?=$PHP_SELF?>[/PHP], non riesco a trovare il punto in cui "catturi" la variabile [PHP]$_POST['file3'][/PHP].

    Mi sto perdendo qualcosa?


  • User

    hgfhgfghf


  • User

    questo forum ha un bug non mi fa pubblicare la risposta che ti vorrei dare


  • User

    ciao altraSoluzione, qui la catturo:
    <input type="file" name="file3[]" - ecc
    if(!empty($_FILES['file3'])){ - ecc


  • User

    ho finalmente me l'ha fatto pubblicare ...


  • User Attivo

    Per inserire i codici devi usare le apposite icone per inserire i tag per CODE, HTML e PHP. Li trovi nell'editor "avanzato".