WebSite X5Help Center

 
Skeggia 12
Skeggia 12
Moderator

Aggiungere un campo in un form che invia foto a db  it

Autore: Skeggia 12
Visite 659, Followers 3, Condiviso 0  

Buongiorno, come promesso  a Kolasim, scrivo un nuovo post:
in un form che invia immagini ad una tabella di DB è possibile aggiungere una campo (con js o php), dove viene specificata, ad es. da una lista a discesa, la tabella in cui inserire il record?
Questo consentirebbe di utilizzare un solo form per inserire dati e immagini in tabelle diverse, per creare gallerie distinte (skeggia12.altervista.org).
Se non con una lista a discesa, con una serie di radiobutton...
E aggiungo anche, un altro campo che consentisse di scegliere la cartella di destinazione delle immagini, in quanto il form standard di website, scrive solo nella cartella dichiarata in gestione dati.
Grazie per l'attenzione...

Postato il
10 RISPOSTE - 1 UTILE - 1 CORRETTO
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... ciao, ...quello che mi viene in mente, db a parte,  sarebbe di usare il solito noto uploads dove puoi impostare la cartella in cui raccogliere i files:    http://www.w3schools.com/php/php_file_upload.asp

... poi, non so se valida come idea(!), io ci proverei; ...si potrebbe provare da usare sotto-directory (quindi progetti diversi) per ogni modulo con diverse cartelle personalizzate per il salvataggio/scrittura dei dati...

ciao
.

Leggi di più
Postato il da  ‪ KolAsim ‪ ‪
Skeggia 12
Skeggia 12
Moderator
Autore

si kol, per l'upload non ci sono problemi, uso già un phpupload, la cosa più importante sarebbe l'aggiunta di un campo per la scelta della tabella DB in cui scrivere i dati... ma se non è fattibile, mi organizzo in altro modo...

Leggi di più
Postato il da Skeggia 12
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... con le sotto-directory forse(!) si potrebbe fare qulcosa, richiamando/collegando con codice la pagina del relativo modulo, ...ma mi dispiace, non riesco ad immaginare altro...embarassed...

ciao

.

Leggi di più
Postato il da  ‪ KolAsim ‪ ‪
Skeggia 12
Skeggia 12
Moderator
Autore

...waiting... a breve la soluzione dell'arcano...

Leggi di più
Postato il da Skeggia 12
Skeggia 12
Skeggia 12
Moderator
Autore

allora, se può essere utile a qualcuno, posto la soluzione al titolo del post (quello che mi serviva per creare 6 gallery differenti e utilizzare per il caricamento un solo form).
Premesso che non sono riuscito ad aggiungere un campo al form originale di ws per fare la scelta su quale tabella del DB scrivere i dati della immagine, ho utilizzato un semplice form html, con l'aggiunta di uno script  reperito  in rete per scegliere la tabella destinazione tramite radio button...

Creare prima sul db le sei tabelle con 3 colonne (o quante ve ne occorrono, modificando quindi i radiobutton in numero adeguato):
id, uploaded_on, file_name (per la memorizzazione del file, ho utilizzato la cartella con  permessi di scrittura dichiarata nelle proprietà di connessione al passo 5 [public])...

Questo il codice, da inserire in una pagina php e oggetto HTML sulla griglia:

<form action="#" method="post" enctype="multipart/form-data">
<div class="seleziona"><h3>Seleziona l'immagine da caricare: </h3><br><input type="file" name="file"></div><br><br>
<div class="radiologia">
<input type="radio" id="gallery1" name="citta" value="gallery1"><label for="gallery1">&ensp;Gallery 1</label>&ensp;&ensp;&ensp;&ensp;<input type="radio" id="gallery2" name="citta" value="gallery2"><label for="gallery2">&ensp;Gallery 2</label><br>
<input type="radio" id="gallery3" name="citta" value="gallery3"><label for="gallery3">&ensp;Gallery 3</label>&ensp;&ensp;&ensp;&ensp;<input type="radio" id="gallery4" name="citta" value="gallery4"><label for="gallery4">&ensp;Gallery 4</label><br>
<input type="radio" id="gallery5" name="citta" value="gallery5"><label for="gallery5">&ensp;Gallery 5</label>&ensp;&ensp;&ensp;&ensp;<input type="radio" id="gallery6" name="citta" value="gallery6"><label for="gallery6">&ensp;Gallery 6</label><br>
</div>
<br><input type="submit" name="submit" value="UPLOAD">
</form>
<?php
// Include the database configuration file
include 'dbConfig.php';
$statusMsg = '';

// File upload path
$targetDir = "public/";
$table = $_POST["citta"];
$fileName = basename($_FILES["file"]["name"]);
$targetFilePath = $targetDir . $fileName;
$fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);

if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])){
// Allow certain file formats
$allowTypes = array('jpg','png','jpeg','gif','pdf');
if(in_array($fileType, $allowTypes)){
// Upload file to server
if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){
// Insert image file name into database
$insert = $db->query("INSERT into $table (file_name, uploaded_on) VALUES ('".$fileName."', NOW())");

if($insert){
$statusMsg = "Il file ".$fileName. "<br>è stato caricato con successo";
}else{
$statusMsg = "Caricamento file fallito.";
}
}else{
$statusMsg = "Si è verificato un errore nel caricamento, riprova";
}
}else{
$statusMsg = 'Scusa, solo file JPG, JPEG, PNG, GIF, & PDF si possono caricare';
}
}else{
$statusMsg = 'Prego, seleziona un file da caricare';
}
echo '<div id="messaggio">';
// Display status message
echo $statusMsg;
echo '</div>';
?>

la parte evidenziata in grassetto è la chiave per passare allo script il valore del radiobutton selezionato.
enjoy...

Leggi di più
Postato il da Skeggia 12
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... come idea, ...forse potresti semplificare per come avevo già fatto qualche anno fa con lo stesso codice...

... per esempio per il tuo caso creare sei pagine nascoste, una per ogni galleria e con relativo FORM e codice+php per le proprie cartelle destinatarie per l'uploads...

... quindi nella pagina principale potresti mettere sei pulsanti, collegati con lea relative pagine, oppure collegarle in IFRAME o con apertura nello ShowBox...

.

ciao

.

Leggi di più
Postato il da  ‪ KolAsim ‪ ‪
Skeggia 12
Skeggia 12
Moderator
Autore

ciao kol, se vai su skeggia12.altervista.org (li funziona, mentre su www.skeggia12.it ancora devo caricare le foto), puoi vedere come ho organizzato la home page tutto su una pagina, con un effetto slideup e slidedown con gli oggetti html contenenti le gallerie, senza creare tante pagine, tutto con php e efffetto js per il lightbox e per l'efffetto slide...
la difficoltà che avevo incontrato era di utilizzare un solo form per tutti i caricamenti, risolto quello, cercando in rete, tutto è andato a posto, almeno mi sembra... grazie comunque per il supporto...

Leggi di più
Postato il da Skeggia 12
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

ciao, ...ho provato il primo LINK, ...forse sarà un mio problema, ...ma i pulsanti verdi "apri" non mi funzionano...

.

ciao

,

Leggi di più
Postato il da  ‪ KolAsim ‪ ‪
Mirko Boschetti
Mirko Boschetti
Moderator
 ‪ KolAsim ‪ ‪
ciao, ...ho provato il primo LINK, ...forse sarà un mio problema, ...ma i pulsanti verdi "apri" non mi funzionano... . ciao ,

provato io, e a me funzionano tutti... wink

Leggi di più
Postato il da Mirko Boschetti
Skeggia 12
Skeggia 12
Moderator
Autore

e c'è di più... ho anche capito come fare per depositare le immagini in cartelle diverse per ogni galleria, con lo stesso form...
https://www.skeggia12.it

le 6 gallerie, popolate con lo stesso form...
in sostanza, il dato name="citta" l'ho inviato alla variabile $targetDir scrivendo al posto di "public/", questo:
$targetDir = "$table/";

Leggi di più
Postato il da Skeggia 12