Visualizzazione risultati 1 fino 9 di 9

Discussione: profilo id utente download file

  1. #1
    fcfclean non è connesso Utente
    Data registrazione
    17-09-2014
    Messaggi
    140

    Predefinito profilo id utente download file

    ciao ho una pagina profilo.php ogni id utente ha un suo profilo con accesso tramite password assegnata da me vorrei sapere come posso inserire un url download per ogni id utente in modo che l'operaio si possa scaricare la sua busta paga? attendo risposta grazie

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Crea una pagina busta_paga.php che legge dalla sessione l'id dell'utente connesso e, in base ad esso, mostri la busta paga in questione.
    Per associare id dell'utente e percorso del file della busta paga puoi usare una tabella nella base di dati.

  3. #3
    fcfclean non è connesso Utente
    Data registrazione
    17-09-2014
    Messaggi
    140

    Predefinito

    ciao e grazie :)

  4. #4
    fcfclean non è connesso Utente
    Data registrazione
    17-09-2014
    Messaggi
    140

    Predefinito

    ciao :) non riesco a capire come procedere per il download di un solo file pdf diverso per ogni operaio ho deciso solo di inserire il foglio presenze che creo io e poi salvo in pdf caricandolo via ftp in una cartella non essendo un programmatore non so come iniziare se puoi aiutarmi grazie ciao e buone feste

  5. #5
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    non riesco a capire come procedere per il download di un solo file pdf diverso per ogni operaio
    Hai bisogno di una tabella nella base di dati per rappresentare ciascun documento PDF e l'operaio a cui appartiene. La tabella avrà un campo VARCHAR per rappresentare il percorso del file PDF, ed un campo per rappresentare l'id dell'operario. In alternativa, se lo ritieni opportuno, al posto di memorizzare il percorso del file, puoi usare un BLOB per memorizzare il file stesso nella base di dati.

    Avrai poi bisogno di un form per creare o caricare un PDF diverso per ogni operaio. In questo form, oltre ai normali campi, ci sarà un campo "id operaio" per indicare l'id dell'operaio a cui il PDF si riferisce. La compilazione di questo form porterà all'aggiunta di una nuova riga nella suddetta tabella.

    Nella pagina a cui gli operai hanno accesso, ci sarà il link ad una nuova pagina che permetterà il download del file PDF. Questa pagina leggerà l'ID dell'operaio connesso (dalla sessione, $_SESSION), e leggerà dalla tabella il percorso del file PDF (o il file stesso, se hai scelto di non memorizzarne il percorso) in modo da permetterne il download.

    non essendo un programmatore non so come iniziare
    Questo in effetti non aiuta .

  6. #6
    fcfclean non è connesso Utente
    Data registrazione
    17-09-2014
    Messaggi
    140

    Predefinito

    ciao per upload uso questo ma è senza id per il momento mi caricano file pdf e doc posto lo script senza js e css

    <?php
    //If directory doesnot exists create it.
    $output_dir = "upload/";

    if(isset($_FILES["myfile"]))
    {
    $ret = array();

    $error =$_FILES["myfile"]["error"];
    {

    if(!is_array($_FILES["myfile"]['name'])) //single file
    {
    $fileName = $_FILES["myfile"]["name"];
    move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir. $_FILES["myfile"]["name"]);
    mail("amministrazione@fcfclean.it", "Oggetto", "e' stato caricato un documento sul sito fcfclean");
    //echo "<br> Error: ".$_FILES["myfile"]["error"];

    $ret[$fileName]= $output_dir.$fileName;
    }
    else
    {
    $fileCount = count($_FILES["myfile"]['name']);
    for($i=0; $i < $fileCount; $i++)
    {
    $fileName = $_FILES["myfile"]["name"][$i];
    $ret[$fileName]= $output_dir.$fileName;
    move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName );
    }

    }
    }
    echo json_encode($ret);

    }

    ?>

    <script>

    $(document).ready(function()
    {

    var settings = {
    url: "profilo2.php",
    method: "POST",
    allowedTypes:"doc,pdf",
    fileName: "myfile",
    multiple: true,
    onSuccess:function(files,data,xhr)
    {
    $("#status").html("<font color='green'>Caricamento avvenuto con successo!</font>");

    },
    onError: function(files,status,errMsg)
    {
    $("#status").html("<font color='red'>Caricamento fallito!</font>");
    }
    }
    $("#mulitplefileuploader").uploadFile(settings);

    });
    </script>

  7. #7
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Quello script presenta problemi di sicurezza (directory traversal) e consente ad un malintenzionato di caricare qualsiasi file in qualsiasi percorso all'interno del tuo spazio web, anche altri script PHP quindi comprometterlo completamente.
    Leggi http://php.net/manual/en/security.filesystem.php e osserva anche l'esempio più sicuro che viene indicato nella documentazione ufficiale http://php.net/manual/en/features.fi...ost-method.php (anche se consente comunque di caricare file con estensione php, ma si può arginare impedendo via .htaccess qualsiasi accesso alla cartella dei file caricati).

  8. #8
    fcfclean non è connesso Utente
    Data registrazione
    17-09-2014
    Messaggi
    140

    Predefinito

    Buongiorno e buone feste e grazie per la risposta è vero per fortuna non mi è mai successo nulla

  9. #9
    fcfclean non è connesso Utente
    Data registrazione
    17-09-2014
    Messaggi
    140

    Predefinito

    ciao ti mostro la pagina dove aggiungo gli operai
    questa è la pagina php dove aggiungo l'operaio e le sue info

    <?php
    /*
    NEW.PHP
    Permette all'utente di creare una nuova voce nel database
    */

    // crea il modulo di inserimento nuovi dati
    // dal momento che questo modulo è utilizzato più volte in questo file, ho fatto una funzione facilmente riutilizzabile
    function renderForm($nome, $cognome, $telefono, $email, $error)
    {
    ?>

    codice html

    <?php
    // se ci sono errori vengono visualizzati
    if ($error != '')
    {
    echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
    }
    ?>

    <form action="" method="post">
    <div>
    <strong>Nome: *</strong> <input type="text" name="nome" value="<?php echo $nome; ?>" /><br/>
    <strong>Cognome: *</strong> <input type="text" name="cognome" value="<?php echo $cognome; ?>" /><br/>
    <strong>Telefono: </strong> <input type="text" name="telefono" value="<?php echo $telefono; ?>" /><br/>
    <strong>Email: </strong> <input type="text" name="email" value="<?php echo $email; ?>" /><br/>
    <strong>Password:*</strong> <input type="password" name="password" /><br />
    <strong>Foto: </strong> <input type="text" name="foto" value="<?php echo $foto; ?>" /><br/>
    <label>Note: </label><br> <textarea rows="5" cols="50" name="note" ><?php echo $note; ?></textarea><br/>
    <p>* Richiesto</p>
    <input type="submit" name="submit" value="Invia">
    </div>
    </form>
    </body>
    </html>
    <?php
    }

    // connessione al database
    include('connect-db.php');

    // verifica se il modulo è stato inviato. Se lo è, inizia a elaborare il modulo e lo salva nel database
    if (isset($_POST['submit']))
    {
    // ottenere i dati del modulo e verific che siano validi
    $nome = mysql_real_escape_string(htmlspecialchars($_POST['nome']));
    $cognome = mysql_real_escape_string(htmlspecialchars($_POST['cognome']));
    $telefono = mysql_real_escape_string(htmlspecialchars($_POST['telefono']));
    $email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
    $password = mysql_real_escape_string(htmlspecialchars($_POST['password']));
    $foto = mysql_real_escape_string(htmlspecialchars($_POST['foto']));
    $note = mysql_real_escape_string(htmlspecialchars($_POST['note']));
    // controlla che entrambi i campi vengono inseriti
    if ($nome == '' || $cognome == '' || $telefono == '' || $email == ''|| $foto='')
    {
    // genera messaggio di errore
    $error = 'ERROR: Please fill in all required fields!';

    // se uno dei due campi è vuoto, visualizzo di nuovo il modulo
    renderForm($nome, $cognome, $telefono, $email, $foto, $note, $password, $error);
    }
    else
    {
    // salva i dati nel database
    mysql_query("INSERT operai SET nome='$nome', cognome='$cognome', telefono='$telefono' , email='$email', foto='$foto', note='$note', password=md5('$password')")
    or die(mysql_error());

    // una volta salvato, si viene reindirizzati alla pagina di visualizzazione
    header("Location: view.php");
    }
    }
    else
    // se il modulo non è stato inviato, visualizzare il modulo
    {
    renderForm('','','','','','','');
    }
    ?>
    Ultima modifica di fcfclean : 25-12-2016 alle ore 18.46.20

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •