Form caricamento immagine

searedone

Utente Attivo
11 Giu 2010
508
0
0
MHHHHHHH

help non capisco perché non funziona, è iun semplice caricamento di una immagine posto il codice

form
PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"  method="post" enctype="multipart/form-data"> 
  <input type="hidden" value="800000" name="MAX_FILE_SIZE" />
   
 
 <input type="file" name="file_inviato"> 
 <input type="image" src="immagini/salva.gif"  value='salva'>
</form>
PHP:
<?php 

require ('dbc.php');

 $user_uid = $_POST['user_uid'];  
  $nome_file_temporaneo = $_FILES['file_inviato']['tmp_name'];
	$nome_file_vero = $_FILES['file_inviato']['name'];
	$tipo_file = $_FILES['file_inviato']['type'];
	$dati_file = file_get_contents($nome_file_temporaneo);
	$dati_file = addslashes($dati_file);
	

  $sql = "INSERT  INTO users SET
  
  nome_file = '$nome_file_vero', 
				tipo_file = '$tipo_file', 
				dati_file = '$dati_file'
				 
			 user_id=".$_SESSION['user_id']."";	
				 
 
  
  ?>

db:

campo uid , username, ecc ecc, nome_file varchar 255 tipo_file varcar 255 dati_file longblob
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prima alcune cose:
1. è importante dare il name al submit (vedi 2)
2. mi sembra dall'action del form che il form che la parte php siano nella stessa pagina, quindi il codice che processa il form dovrebbe essere racchiuso tra

PHP:
if(isset($_POST['name_del_submit']){
	//il codice
}
3. da dove vengono?
$user_uid = $_POST['user_uid'];
$_SESSION['user_id']
??
nel form non c'è un campo chiamato user_uid
non vedo l'istruzione session_start(), visto che stai usando una sessione
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
La sessione SESSION START è all'inizio della pagina,
per comodità non ho postato tutto ...

ora pero' ho un dubbio :(

La tabella users è già attiva quindi forse per aggiungere l'immagine all'users non devo usare una insert ma un UPDATE

sto provando così ma mi succede una cosa strana:

se tolgo il WHERE mi carica la foto ma ovviamente a tutti gli users, se metto il WHERE non mi posta nulla ??? mi sapresti dire perché ???

posto il codice

PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"  method="post" enctype="multipart/form-data"> 
  <input type="hidden" value="800000" name="MAX_FILE_SIZE" />
   
 
 <input type="file" name="file_inviato"> 
 <input type="image" src="immagini/salva.gif"  value='salva'>
</form>


<?php 

require ('db_connect.php');

if(isset($_POST['user_uid']));
//I dettagli della categoria sono stati aggiornati
$user_uid = $_POST['user_uid'];
	$nome_file_vero = $_FILES['file_inviato']['name'];
	$tipo_file = $_FILES['file_inviato']['type'];
	$dati_file = file_get_contents($nome_file_temporaneo);
	$dati_file = addslashes($dati_file);
	$nome_file_temporaneo = $_FILES['file_inviato']['tmp_name'];

$sql = "UPDATE users SET nome_file_vero='$nome_file_vero', tipo_file='$tipo_file', dati_file='$dati_file' WHERE uid='$uid' ";
if(@mysql_query($sql)) {
	
	echo '<p>category details updated.</p>';
	
}else{
	echo '<p>Error Updating category details: ' . mysql_error() . '</p>';
}

?>

Premetto che la tabella users il campo id è uid, il campo SESSION start è ad inzio pagina ..... :(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
cosa vuoi dire con tabella attiva? se il record non esiste devi usare l'insert, se il record già esiste e vuoi modificarlo devi usare l'update (es aggiungere la foto se prima non c'era)
poi, sarò orbo, ma non vedo da dove salta fuori $_POST['user_uid'], e che cosa centra col submit
per caso non intendevi
<input type="image" src="immagini/salva.gif" value='salva'>
mettere il pulsante di submit
<button type="submit" src="immagini/salva.gif" nane="invia" value='salva'>
anche perchè se non ti piace il classico pulsante prova a guardare quest'articolo
http://blog.mrwebmaster.it/2010/03/26/abbelliamo-orrendo-pulsante-submit-reset.html
(e correlati)

in tal caso l'i(isset diventa

PHP:
if(isset($_POST['invia']){
//....
}

p.s.
session_start();
non è un campo, ma un'istruzione php
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Si scusa hai ragione.

Ho risolto proprio adesso così, ti posto il codice così se serve a qualcuno sa come fare.

PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"  method="post" enctype="multipart/form-data"> 
  <input type="hidden" value="800000" name="MAX_FILE_SIZE" />
   
 
 <input type="file" name="file_inviato"> 

 <input  type="submit" name="update"  value="Update">
</form>


<?php echo $_SESSION['user_uid'];

require ('db_connect.php');

if(isset($_POST['update']));
//I dettagli della categoria sono stati aggiornati
$user_uid = $_POST['uid'];
$nome_file_temporaneo = $_FILES['file_inviato']['tmp_name'];
	$nome_file_vero = $_FILES['file_inviato']['name'];
	$tipo_file = $_FILES['file_inviato']['type'];
	$dati_file = file_get_contents($nome_file_temporaneo);
	$dati_file = addslashes($dati_file);
	

$sql = "UPDATE users SET nome_file_vero='$nome_file_vero', tipo_file='$tipo_file', dati_file='$dati_file' WHERE uid=".$_SESSION['user_uid']." ";
if(@mysql_query($sql)) {
	
	echo '<p>category details updated.</p>';
	
}else{
	echo '<p>Error Updating category details: ' . mysql_error() . '</p>';
}

?>

Ho dovuto aggiungere questo nel WHERE per farlo funzionare WHERE uid=".$_SESSION['user_uid']."
 
Discussioni simili
Autore Titolo Forum Risposte Data
J Javascript Form Caricamento Immagine Javascript 2
heisngberg caricamento form HTML HTML e CSS 13
S Form PHP: Messaggio di conferma che compare al caricamento della pagina PHP 11
A Caricamento foto in db da form Classic ASP 22
S passare un valore da un form a un file .php con metodo post PHP 4
K Form che manda dati doppi PHP 1
K Problema form update PHP 2
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
K form Inserimento record mysql PHP 2
I Form con selettore HTML e CSS 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
D Form contatti non funzionante HTML e CSS 0
A Stampare dati da form PHP 8
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
I Form HTML e CSS 17
otto9due $_FILE non passa i dati dal form PHP 1
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
felino Form action costum e parametri in queryString WordPress 1
M Come recuperare molteplici input form PHP 1
M Collegamento tra form html e script php PHP 4
L form immagini per il database PHP 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L inserimento form dati multipli ? PHP 0
L Problemi form Pagina php HTML e CSS 3
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
D Devo far funzionare un form di contatti PHP 4
B form gestione input PHP 2
V PHP form intersecate PHP 0
8 Javascript - PDF Form Javascript 0
J Form inserimento dati in database Ajax 1
E Gestione profilo utente tramite Form PHP 3
R [C#] Form principale si blocca mentre un altro Thread lavora .NET Framework 0
M Problema con controllo form in real time jQuery 6
D Form validazione Javascript 2
R form recovery pass PHP 0
V Symfony e i form PHP 3
M form con checkbox PHP 8
S come aggiustare un form di contatto? HTML e CSS 3
F query e form con select multipla PHP 17
MarcoGrazia Verifica di una stringa o di un nome proveniente da form Snippet PHP 0
A Inserimento dati nel database tramite form + altre operazioni PHP 18
websilvia Contact form using Bootstrap 3.3.4 PHP 8
Alex_70 Button non funziona nella form PHP 2
C Form email php su pagina index.html? PHP 21
W Rinominare Documenti Con Form Asp Classic ASP 9

Discussioni simili