• 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".