WebSite X5Help Center

 
Skeggia 12
Skeggia 12
Moderator

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

Автор: Skeggia 12
Просмотрено 1149, Подписчики 3, Размещенный 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...

Размещено
10 Ответы - 1 Полезно - 1 Корректно
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Лучший пользователь месяца ESЛучший пользователь месяца PT

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

Читать больше
Размещено От  ‪ KolAsim ‪ ‪
Skeggia 12
Skeggia 12
Moderator
Автор

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

Читать больше
Размещено От Skeggia 12
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Лучший пользователь месяца ESЛучший пользователь месяца PT

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

.

Читать больше
Размещено От  ‪ KolAsim ‪ ‪
Skeggia 12
Skeggia 12
Moderator
Автор

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

Читать больше
Размещено От Skeggia 12
Skeggia 12
Skeggia 12
Moderator
Автор

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

Читать больше
Размещено От Skeggia 12
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Лучший пользователь месяца ESЛучший пользователь месяца PT

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

.

Читать больше
Размещено От  ‪ KolAsim ‪ ‪
Skeggia 12
Skeggia 12
Moderator
Автор

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

Читать больше
Размещено От Skeggia 12
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Лучший пользователь месяца ESЛучший пользователь месяца PT

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

.

ciao

,

Читать больше
Размещено От  ‪ 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

Читать больше
Размещено От Mirko Boschetti
Skeggia 12
Skeggia 12
Moderator
Автор

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/";

Читать больше
Размещено От Skeggia 12