Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    10

    [MySql Php] Come evitare l'inserimento di files con lo stesso nome

    Salve...
    Come scrivo la condizione nel mio save.php per evitare di inserire nel mio form d'inserimento files/documento con lo stesso nome nella tabella del mio database?
    grazie....

  2. #2
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    con una funzione nomefileseesistegia, che controlla se il nome del file c'è, nel qual caso giustappone un contatore
    pippo.jpg => pippo_00001.jpg
    pippo.jpg => pippo_00002.jpg

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    10

    Ovviamente sono in difficoltà!!!

    Allora...ho inserito una condizione if associata al campo che mi indica il percorso e il nome file del documento che inserisco nel database...cercando di imporre la condizione secondo la quale se posto un nome/percorso già presente nella $query mi rimanda il messaggio "Nome già esistente!!"
    Invece mi da errore all'ultima riga del codice....?>

    Con questa NON funziona....
    "filetesto" è il nome nel form di inserimento e $esiste è la variabile
    in Config.inc.php che mi indica (dovrebbe..credo!?) il valore postato del campo Filetesto...
    In Config.inc.php ho messo ...$esiste = "['filetesto']";

    /////////////////////////////////////////
    if ($_POST['filetesto'] == $esiste):
    echo "Nome file già esistente!!";
    ////////////////////////////////////////

    Questa funziona...."pass" è il nome nel form di inserimento campo password e $password è la variabile in config.inc.php

    ////////////////////////////////////////
    if ($_POST['pass'] != $password):
    echo "Password errata";
    /////////////////////////////////////////

    Per la password dovevo solo scrivere una parola...per la variabile del campo filetesto ..il variabile contenuto del campo
    E' qui che sbaglio?...oppure ...sbaglio tutto....C'è un altro modo?

    Spero di non essere stato troppo ..confusionario!!! ...e in un aiuto..grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    10

    ...problema funzione: if ($_POST['filetesto'] == $esiste): echo "Nome file già esiste

    Nessuno può aiutarmi?

  5. #5
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Francamente non ho capito un granchè di quanto hai scritto.
    Cominciamo col dire che ci sono vari approcci: "seri" e "hobbistici".

    Quelli "seri" richiedono
    - introduzione di una chiave non duplicata, con relativa gestione del tentativo di post
    - in alternativa la creazione di una vera e propria transazione isolata (serializzata) che scriva i dati solo dopo aver verificato che non ci siano duplicazioni

    Quello "hobbistico" è
    - banalmente prima di inserire un dato fai qualcosa tipo
    select count(nome) as quanti from tabella where nome='quellocheinseriscel'utente' (attenzione per inciso che per mysql l'= di default NON è case sensitive, ma l'uomo "serio" verifica che l'impostazione sia settata - cosa non scontata su un server remoto ad esempio - nel qual caso l'uomo davvero serio potrebbe creare un CRC32 del nome (minuscolo) da memorizzare come intero per poi fare una duplice discriminazione con un AND. Questo per evitare di dover utilizzare funzioni quali LOWER le quali inibiscono l'utilizzo di indici - fine inciso)

    E poi "if quanti>=1 then guarda che non puoi usare questo nome"
    oppure "ti aggiungo_0000x al nome"

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