Gestire immagini con database

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve a tutti,

Nuovo problema, nuovo programma. Allora ho dei campi da inserire in un database, e poi ho 5 immagini da dover caricare e memorizzare nel database insieme ai campi della rivista che devo archiviare. Mi potreste dare una mano per favore ???? HO due spezzoni di codice. Uno fatto da me in html. Si chiama aggiungi:

aggiungi.html:

HTML:
<?php
require_once("connetti.php");

require_once("presenta.php");

?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Aggiunta Dati</title>
    </head>
    <body>
        <center>
     <form action="upload.php" method="post" enctype="multipart/form-data">
</center>
 <font face="Comic Sans MS"> <body bgcolor = "#000000"> <font color="yellow">
<br> <br ><br> <br>
Rivista: <input type="text" name="rivista"  /> <br> <br>
Anno: <input type="text" name="anno" /> <br> <br>
Numero <input type="text" name="numero" /> <br> <br>

Pagina: <input type="text" name="pagina"  /> <br> <br>
Titolo: <input type="text" name="titolo" /> <br> <br>
Categoria: <input type="text" name="categoria" /> <br> <br>

Immagine 1:   <input name="image"  type="file" " " size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>


Immagine 2:   <input name="image2"  type="file"  size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>


Immagine 3:   <input name="image3"  type="file" size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>



Immagine 4:   <input name="image4"  type="file"  size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>


Immagine 5:   <input name="image5"  type="file"  size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>


</font color = "black">
<center>
<input type="submit" name="submit" value="Salva" />

 <input type="button" onClick="window.location.href='benvenuto.php';" value="Menu" />

 <input type="button" onClick="window.location.href='logout.php';" value="Esci" />
</center>
 </br> </br> </br> </br> </br> </br>
    </body>
</html>

E l'altro si chiama upload, però mi da questo errore qua. Posto prima il codice e poi segnmalo errore:

upload.php:


PHP:
<?php
foreach ($_FILES["image"]["error"] as $key => $error) {
   if ($error == UPLOAD_ERR_OK) {
       $tmp_name = $_FILES["image"]["tmp_name"][$key];
       $name = $_FILES["image"]["name"][$key];
       move_uploaded_file($tmp_name, "data/$name");
   }
}
?>

L'errore è il seguente:

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\Riviste\upload.php on line 2

Un ultima cosa, come is memorizza il tutto ???? Sempre insert into ??? Grazie e spero di ricever eocme sempre il vostro prezioso aiuto.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
metti prima del foreach il solito var_dump, e commenti tutto il foreach in modo da non avere l'errore, così capisci

PHP:
<?php 
var_dump($_FILES["image"]["error"]);
/*
foreach ($_FILES["image"]["error"] as $key => $error) { 
   if ($error == UPLOAD_ERR_OK) { 
       $tmp_name = $_FILES["image"]["tmp_name"][$key]; 
       $name = $_FILES["image"]["name"][$key]; 
       move_uploaded_file($tmp_name, "data/$name"); 
   } 
}
*/
?>
riporta poi il risultato
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ah ok,

Ci provo subito, immaginavo che mi avresti risposto grazie. Mi da questo errore qua:

nt(0)
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\Riviste\upload.php on line 4

Inoltre volevo sapere da te se si memorizza allo stesso modo come ocn gli altri campi, ossia con INSERT INTO, perdonami, mi riferisco alle immagini.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
vedi perchè l'errore? l'argomento di foreach deve essere un array
poi cosa intendi: vuoi mettere le immagini dentro il db? o caricarle così in una cartella?
metterle dentro un db è un po' una rogna
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Allora, cerco di spiegarmi meglio. Devo scannarizzare prima delle immagini da delle riiviste di elettronica. Poi ovviamente creo una cartella sul pc chiamata immagini e c'è li metto dentro,. Dopo di che devo compilare i seguenti campi:

HTML:
Rivista: <input type="text" name="rivista"  /> <br> <br>
Anno: <input type="text" name="anno" /> <br> <br>
Numero <input type="text" name="numero" /> <br> <br>

Pagina: <input type="text" name="pagina"  /> <br> <br>
Titolo: <input type="text" name="titolo" /> <br> <br>
Categoria: <input type="text" name="categoria" /> <br> <br>

Immagine 1:   <input name="image"  type="file" " " size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>


Immagine 2:   <input name="image2"  type="file"  size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>


Immagine 3:   <input name="image3"  type="file" size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>



Immagine 4:   <input name="image4"  type="file"  size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>


Immagine 5:   <input name="image5"  type="file"  size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>

E' ovvio che non tutti i campi dell'immagine devono necessariamente essere riempiti. Ora però il punto è il seguente. Non so se strutturato così, si carica solo il link di collegamento, oppure si carica appunto anche l'intera foto ??? Vorrei ovviamente se è possibile, una cosa semplice. La migliore cosa, secondo mes arebbe che si carichi anche le foto all'interno del db. Ma se è rognoso fa niente. Inoltre pensoi che poi l db diventerebbe pesantino a lungo andare. perkè le riviste non sono 5 o 6, ma da quando è nata "Nuova Elettronica". Se la conosci sai di cosa parlo e sopratutto di quanti secoli ha.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
metti le immagini sul tuo pc in una cartella
poi dal tuo sito tramite il form (l'input tipo file ti fa vedere il pulsante sfoglia) cerchi e selezioni l'immagine, al submt l'immagine deve essere caricata nella cartella remota, nel db metti il link
guarda negli articoli di php ce nè uno ottimo di claudio garau che ti permette di fare anche le tumb che vanno benissimo quando devi elencare e far vedere una serie di immagini, col solito click sulla stessa poi far vedere l'ingrandimento
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Lo trovo qua sul forum questo Claudio Garau ????? Hai avuto per caso la possibilità di dare un'occhiata al codice che ti ho inviato ieri di accesso e di registrazione il perkè non ??? Grazie. Perdonami, ma cosa sono le tumb ??? e poi non ho capito una cosa. Come vengono gestite le cartelle in php ??? Ossia come viene scritto l'indirizzo. Se io la tengo sul desktop, ad esempio. Avrò il seguente indirizzo: C:\Users\FABIO\Desktop, vedo che sugli esempi sono tutti con la barretta sul tastio 7.
 
Ultima modifica:

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Io ho fatto così brutalmente. Ti posto i codici. Poi dimmi dove ho sbagliato. ho visto i link che mi hai dato l'ho provato ma c'è qualcosa che non va. Non memorizza. Eccoli:

aggiungi.html+php

HTML:
<?php
require_once("connetti 2.php");
//require_once("paginaprotetta.php");
require_once("presenta.php");

?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Aggiunta Dati</title>
    </head>
    <body>
            
     <form action="salva dati.php" method="POST">

 <font face="Comic Sans MS"> <body bgcolor = "#000000"> <font color="yellow">
<br> <br ><br> <br>
Rivista: <input type="text" name="rivista"  /> <br> <br>
Anno: <input type="text" name="anno" /> <br> <br>
Numero <input type="text" name="numero" /> <br> <br>

Pagina: <input type="text" name="pagina"  /> <br> <br>
Titolo: <input type="text" name="titolo" /> <br> <br>
Categoria: <input type="text" name="categoria" /> <br> <br>
Componenti: <input type="text" name="componenti" /> <br> <br>


Immagine 1:   <input name="immagine1"  type="file" size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>


Immagine 2:   <input name="immagine2"  type="file"  size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>


Immagine 3:   <input name="immagine3"  type="file" size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>



Immagine 4:   <input name="immagine4"  type="file"  size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>


Immagine 5:   <input name="immagine5"  type="file"  size="40" />
 <input name="upload" type="submit" value="Carica immagine" /> <br> <br>


</font color = "black">
<center>
<input type="submit" name="submit" value="Salva" />

 <input type="button" onClick="window.location.href='benvenuto.php';" value="Menu" />

 <input type="button" onClick="window.location.href='logout.php';" value="Esci" />
</center>
 </br> </br> </br> </br> </br> </br>
    </body>
</html>

salva dati.php

PHP:
<?php
require_once("connetti.php");
//require_once("paginaprotetta.php");
require_once("presenta.php");

//$nome = $_POST['nome'];
//$cognome = $_POST['cognome'];
//$sql= "INSERT INTO prova(nome, cognome) VALUES('$nome', '$cognome')";

header('Content-type text/html; charset=iso-8859-1');

$rivista = mysql_real_escape_string ($_POST['rivista']);                      //controlla i caratteri speciali
$anno = mysql_real_escape_string ($_POST['anno']);                      //controlla i caratteri speciali
$numero = mysql_real_escape_string ($_POST['numero']);                      //controlla i caratteri speciali
$pagina = $_POST['pagina'];
$titolo = mysql_real_escape_string ($_POST['titolo']);                      //controlla i caratteri speciali
$categoria = mysql_real_escape_string ($_POST['categoria']);
$componenti = mysql_real_escape_string ($_POST['componenti']);
$immagine1 = $_POST['immagine1'];
$immagine2 = $_POST['immagine2'];
$immagine3 = $_POST['immagine3'];
$immagine4 = $_POST['immagine4'];
$immagine5 = $_POST['immagine5'];


$sql= "INSERT INTO rivista(rivista, anno, numero, pagina, titolo, categoria, immagine1, immagine2, immagine3, immagine4, immagine5)
VALUES('$rivista', '$anno', '$numero', '$pagina', '$titolo', '$categoria', '$componenti', '$immagine1', '$immagine2', '$immagine3', '$immagine4', '$immagine5')";

 $sql = mysql_query($sql);
	// controllo l'esito
	if (!$sql) {
		die("Errore nella query $query: " . mysql_error());
	}
        else{
            echo "<br> <br>";
            echo " Rivista registrata con successo !!!!! Premere <a href=\"aggiungi.php\"> Qui </a> per inserire altra rivista ";

    //echo "<a href=\"java-script:history.back();\">\n";

}
?>

Mi restituisce questo tipo di errore:

Errore nella query Resource id #8: Column count doesn't match value count at row 1


Scusami, mi sono dimenticato che c'era un file chiamato uploader.php, eccolo qua:

PHP:
<?php
if(isset($_POST['Submit'])){
  // faccio un po' di inclusioni...
  @include 'connetti 2.php';
  @require 'makeThumb.php';

  // Creo una array con i formati accettati
  $tipi_consentiti = array("image/gif","image/jpeg","image/png");

  // verifico che il formato del file sia tra quelli accettati
  if (@in_array($_FILES['imagefile']['type'], $tipi_consentiti)){
    // copio il file nella cartella delle immagini
    @copy ($_FILES['imagefile']['tmp_name'], $path_img . $_FILES['imagefile']['name']);

    // recupero i dati dal form
    $titolo = @addslashes($_POST['titolo']);
    $descrizione = @addslashes($_POST['descrizione']);
    $nome = @addslashes($_FILES['imagefile']['name']);
    $path = $path_img . stripslashes($nome);
    $tipo = @addslashes($_FILES['imagefile']['type']);

    // creo la miniatura
    @makeThumb($path_img,$path,$nome,$tipo);

    // aggiorno il database
    $query = "INSERT INTO images (Titolo,Descrizione,Nome,Tipo) VALUES('$titolo','$descrizione','$nome','$tipo')";
    $res = @mysql_query($query) or die (mysql_error());
    @mysql_close($cn);

    // Stampo a video un po' di informazioni
   echo "Nome: ".$_FILES['imagefile']['name']."<br />";
  echo "Dimensione: ".$_FILES['imagefile']['size']."<br />";
  echo "Tipo: ".$_FILES['imagefile']['type']."<br />";
  echo "Copia eseguita con successo.";
  }else{
    // stampo un messaggio di errore nel caso in cui il file sia di un formato non consentito
    echo "Impossibile eseguire l'upload.";
echo "</form>";
    }
}


?>
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
E Come gestire al meglio le immagini legno grande formato Photoshop 0
Tommy03 Gestire dimensioni immagini PHP 4
A Gestire e modificare immagini Java 2
G gestire upload di immagini e files, mi serve un consiglio PHP 3
B gestire immagini PHP PHP 4
L gestire immagini conasp Classic ASP 0
G Qualcuno conosce questo software per gestire le telecamere IP Cam e Videosorveglianza 0
L Interfaccia grafica per gestire sql server .NET Framework 1
R Plugin per Gestire videocorsi a pagamento WordPress 3
M Come gestire aggiornamenti e modifiche di sito live CMS (Content Management System) 0
S Gestire scelta dropdown con dati da Mysql PHP 2
D Come gestire un singolo checkbox PHP 10
MarcoGrazia Gestire lista campi vuoti in fase di autenticazione jQuery 1
elpirata Gestire permessi accesso alle pagine PHP 3
A [ASP.Net] Gestire il profilo ADMIN in un progetto ASP NET e pattern MVC ASP.NET 0
M [PHP] Come gestire gli utenti online PHP 9
M [php] Come gestire i tags PHP 1
svtmaster professionalità per gestire sito web Offerte e Richieste di Lavoro e/o Collaborazione 4
L [HTML] Gestire movimento GIF HTML e CSS 0
BestSellerMauroTop Software per gestire tanti profili e pagine, e farle crescere in modo autonomo! Annunci servizi di Social Media Marketing 0
W Gestire ccTalk o libreria c++ da php PHP 0
W [PHP] gestire una richiesta curl sul server PHP 0
W Piccolo sistema per gestire alcune periferiche, Java o altro linguaggio? Java 8
bubino8 [WordPress] Gestire SSL (https://) da .htaccess WordPress 9
C [WordPress] Creare e gestire un nuovo sito web WordPress 5
M Gestire ErrorDocument 404 mantenendo lo stesso url Web Server 0
S gestire una tabella mysql PHP 9
R gestire il ritorno di una variabile con success Ajax 2
S Gestire Motion Detection TP-LINK CAMERA NC200 IP Cam e Videosorveglianza 0
A [Javascript] [HTML] Gestire una pagina esterna con 2 iframe Javascript 4
webmachine [PHP] gestire rinnovi PHP 1
P Gestire accesso ad un file xml pubblico PHP 1
D Gestire diversi tipi di pagamento per tipologia di cliente E-Commerce 4
asevenx Cerco plugin per gestire appuntamenti con agenda e campi di selezione WordPress 4
matteoraggi Software per gestire migliaia di permament redirect? SEO e Posizionamento 0
K Gestire response con servlet remota Sviluppo app per Android 1
P Piccolo software per gestire gli utenti. Snippet PHP 5
F Gestire data e ora PHP 6
D Gestire firme digitali con PHP PHP 0
C [Facebook Autolike]Software per gestire più account, mandare like, creare stati, amicizie e altro.. Vendere e Acquistare pubblicita' online 0
D gestire commenti e risposte ... PHP 3
L Gestire password utenti registrati. Quale codifica? PHP 23
asevenx Gestire posizionamento voci sottomenu che si nascondono HTML e CSS 1
N Programma per gestire Cookies secondo disposizioni del Garante Privacy 3/6/2014 G.U. 126 Leggi, Normative e Fisco 0
M Gestire la chiusura forzata. Sviluppo app per Android 1
L Sito con doppia lingua. Gestire il cambio PHP 4
felino Wordpress e QTranslate: come gestire i widget WordPress 11
IImanuII Gestire lingua su facebook con php PHP 18
mondrian Gestire un web server su una virtualbox Apache 12
L gestire array per radio-checkbox in ciclo while PHP 2

Discussioni simili