Inserire un'immagine avatar nel profilo per avere ogni utente la sua pagina

paperinik4

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


Vorrei una mano. Mi sono impantanato come al solitoe non riesco ad andare avanti. Il problema è questo. Ho creato una tabella chiamata infoutenti, dove all'interno di essa, ho messo i seguenti dati:

Nome Tabella: infoutenti

PHP:
CREATE TABLE `infoutenti` (
   `id`                INT(11) NOT NULL AUTO_INCREMENT,
   `avatar`          VARCHAR(255) NOT NULL,
    PRIMARY KEY  (`id`)
);

Questa è la tabella, poi c'è la parte riguardante l'upload dell'immagine è un semplice form in formato html & php chiamato:

uploadavatar.php

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

?>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>

<form method="post" action="upload.php" enctype="multipart/form-data">
    <input type="file" name="miofile">   //Secondo voi a posto del "miofile" cosa ci dovrei mettere ????
    <input type="submit" value="Upload">
</form>

</body>
</html>

Dopodichè c'è upload.php

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


// RECUPERO I PARAMETRI DA PASSARE ALLA FUNZIONE PREDEFINITA PER L'UPLOAD
    $cartella = 'immagini';
    $percorso = $_FILES['miofile']['tmp_name'];
    $nome = $_FILES['miofile']['name'];
    // ESEGUO L'UPLOAD CONTROLLANDO L'ESITO
    if (move_uploaded_file($percorso, $cartella . $nome))
    {
        $query="INSERT INTO infoutenti(avatar)  VALUES('$avatar')";   //Qua dovrebbe eseguire la memorizzazione del link dell'immagine

$query=mysql_query($query);
        print "Upload eseguito con successo"; 
    }
    else
    {
        print "Si sono verificati dei problemi durante l'Upload"; 
    }
?>

Il fatto è che la memorizzazione avviene, ma ho nel db tutto vuoto vi posto anche un'immagine del db così vi rendete conto di cosa intendo dire. Mi sapreste dire dove sbaglio ???? O se c'è un metodo più diretto per caricare una semplice immagine nel proprio avatar ???

Ecco l'immagine del db. Ino9ltre io vorrei che quando utente si logga compaia nella sua pagina personale il suo profilo con la sua immagine, e quando utente2 si logga compaia nella sua pagina personale il suo profilo con la sua relativa immagine. Insomma utente non può vedere il profilo di utente2 e utente 2 non può vedere il profilo utente. So che ho già chiesto aiuto, ma proprio non riesco ad andare avanti, purtroppo mi sono impantanato. Spero che qualche buon anima pia mi dia una mano. Non è una richiesta di farmi uno scrip, è solo che devo capire come andare avanti e se la strada che ho imboccato è giusta o sbagliata. Grazie a tutti.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Be' ovvio..da quel che posso vedere la variabile $avatar non contiene mai nulla perché non la inizializzi; nel db dovrebbe andare l'indirizzo dove è situata la foto.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Mettendo l'indirizzo dell'immagine e logicamente va inizializzata prima del suo utilizzo.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Questo:
PHP:
$avatar=$cartella.$nome;
Sempre se sei sicuro che voglia chiamare così la cartella.
 

paperinik4

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

Ora ho capito,

comunque la cartella si chiama immagini. Quindi dovrei fare in questa maniera:

PHP:
 $avatar=$immagini.$nome;

Qualcoisa di sbagliato ???? (Quasi sicuramente....) Sarebbe un caso che ci azzeccassi al primo colpo ehehehehe
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Si se la cartella di chiama immagini dovresti fare in questo modo:
PHP:
 $avatar=$immagini."/".$nome;
E dovresti cambiare anche nella if nello stesso modo. Però controlla dove viene salvata l'immagine.
Hai detto che il caricamento funzionava bene, ne sei sicuro?
 

paperinik4

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

Lo spero,

Le immagini al momento si vedono, però quando chiudi il broweser e rilanci il login, non viene visualizzata, manca la query di richiamo per visualizzarla (quasi sicuramente). A dire il vero dei tre file volevo unirlo in un unico file. Solo che al momento che vado a premere il tasto "carica", non mi fa un tubo. Se separo i tre file funziona egreciamente , ma appena clicco su "carica", mi da il seguente errore:

"Warning: strtoupper() expects parameter 1 to be string, array given in /volume1/web/utenti/provalogin/paginaris.php on line 30 "

Su tutti i file ho messo la seguente cosa. Anche nel file che avevo provato ad unire.

PHP:
require_once("connetti.php");
require_once("paginaris.php");
session_start('nome');

Poi vado su carica e mi da l'errore che ti hos egnalato prima. Dove sbaglio ?????
 

paperinik4

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

Ciao Longo,

Hoquesta funzione in un unico form. Non riesco ad aggiustarla per far richiamare il file inser_immages.php, in quanto sta unito al file chiamato uploaderavatr.php Come la posso sistemare ???' Mi puoi dare una mano per favore ???

script:

PHP:
<script>
 function carica()
{
	$.post('insert_immages.php',{fine:'yes'},function(done){$('body').html(done)});
}
</script>

Ti posto anche uploaderavatar.php:

PHP:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.js" type="text/javascript"></script>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js'></script>
<script src='http://memai.altervista.org/js/jquerymin.js'></script><script 
<script>
function togli(x)
{
	$('#'+x).toggle();
	var immagine = document.getElementById('hidden'+x).value;
	$.get('togli.php',{img:immagine},function(done){$('#cancella_img').html(done)});
}


//* function carica()
//{
//	$.post('insert_immages.php',{fine:'yes'},function(done){$('body').html(done)});
//}
</script>
<?php

require_once("connetti.php");
require_once("paginaris.php");


#se non esistono delle cartelle le creo
if(!file_exists('img_temp'))
{
	mkdir('img_temp/',0777);
}
if(!file_exists('immages'))
{
	mkdir('immages/',0777);
}
if($_POST['sub'])
{
	#Inizializzo la cartella dove andranno a finire le imamgini
	$dir = 'img_temp/';
	#ricevo i dati delle immagini
	#$nome per il nome del file, es: pippo.jpeg
	$nome = $_FILES['file']['name'];
	#$nome_temporaneo invece per il nome temporaneo che
	#il server crea per l'immagine pippo.jpeg
	$nome_temporaneo = $_FILES['file']['tmp_name'];
	
	#Inizializzo una variabile a cui dò un valore intero pari a 0
	#semplicemente per far girare il codice while e leggere l'array
	$n=0;
	#finche n sarà minore delle immagini caricate, il ciclo continuer�
	while($n<count($nome))
	{
		#trovo le informazioni , come: l'altezza, la larghezza e il sorgente delle immagini
		#creando una lista e usando poi getimagesize() per prelevare le informazioni
		list($larghezza,$altezza,$sorgente,$attributo) = getimagesize($nome_temporaneo[$n]);
		#creo uno switch in base al sorgente e per ogni caso  effettuer� un preciso evento
		switch($sorgente)
		{
			case IMAGETYPE_GIF:
			#creo le immagini
			$immagine = imagecreatefromgif($nome_temporaneo[$n]);
			imagegif($immagine, $dir.$nome[$n]);
			break;
			
			case IMAGETYPE_JPEG:
			$immagine = imagecreatefromjpeg($nome_temporaneo[$n]);
			imagejpeg($immagine, $dir.$nome[$n]);
			break;
			
			case IMAGETYPE_PNG:
			$immagine = imagecreatefrompng($nome_temporaneo[$n]);
			imagepng($immagine, $dir.$nome[$n]);
			break;
			
			case IMAGETYPE_BMP:
			$immagine = imagecreatefrombmp($nome_temporaneo[$n]);
			imagebmp($immagine, $dir.$nome[$n]);
			break;
		}
		
		#Creo il div dove gli assegno l'id per identificare  con JQuery le imamgini appena caricate
		?>	<div id='<?php echo $n?>'>
				<img src='<?php echo $dir.$nome[$n]?>' style='width:100px; height:100px'>
				<input  id='hidden<?php echo $n ?>' type='hidden' value='<?php echo $dir.$nome[$n] ?>'/>
				<div onclick='togli("<?php echo $n ?>")'>Togli</div>
			</div>
			<div id='rimetti<?php echo $n ?>'  onclick='rimetti("<?php echo $n ?>")' style='display:none'>Rimetti</div>
		<?php
		$n++; #aumento la variabile inizializzata per il funzionamento dello while
	}
	?>
		<div id='cancella_img'></div>
		<input type='submit' value='carica' onclick='carica();void 0'/>
	<?php
	exit;
}
?>
<form action='' method='POST' enctype='multipart/form-data'>
	<input type='file' name='file[]' multiple size ="60"/>
	<input type='submit'  name='sub' value='Carica'/>
</form>
  <!---Inizia insert_immages---->
          
<?php
require_once("connetti.php");
require_once("paginaris.php");

if(isset($_POST['fine']))
{
	#Inserisci questa funzioncina per leggere tutti i file contenuti nella cartella immagini
	#che poi verranno inseriti nel db tramite una query grazie ad un for
	function illustrazioni($cartella){
		$foto=Array();
		if(file_exists($cartella)){
			$directory = opendir($cartella);
			while (false !== ($file = readdir($directory))) { 
				if(is_file($cartella.$file)){
					array_push($foto,$file);
				}
			}
			$handle = closedir($directory);
		}
		sort($foto);
		return $foto;
	}
	$foto_t=array();
	$foto_t=illustrazioni("img_temp/");
	$conta = count($foto_t);
	for ($x=0; $x<$conta; $x++)
	{	
		$immagine_t = "img_temp/$foto_t[$x]";
		$immagine = "immages/$foto_t[$x]";
		echo "<img src='".$immagine_t."' width='100px' height='100px'> "; 
		#questa variabile contiene il valore dell'url  finale che si inserirà alla fine
		#Sposto i file nella cartella temporanea in quella fissa
		copy($immagine_t,'immages/'.$foto_t[$x]) or die('non si sposta la foto');
		##infine elimino il file nella directory temporanea
		unlink($immagine_t);
               
		$insert_query = "INSERT INTO immagine(immagine) VALUES('".$immagine."')";
		mysql_query($insert_query);
               
	}
	echo "Le immagini sono state inserite nel database con successo!";
}
mysql_close();

?>

Spero che mi auterai. grazie.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Analizzando il tuo penultimo messaggio:
Utilizzi la funzione strtoupper() che converte la stringa in maiuscolo. Quindi si aspetta almeno una lettera, se l'immagine si chiama: "1.jpg" allora la funzione ti restituisce quell'errore.
 

paperinik4

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

Ciao Longo,

Scusami se ti contraddisco. Analizzando bene il problema, quella trasformazione da minuscolo a maiuscolo, non è rifrita al nome dell'immagine, ma bensì alla sessione. Se non erro. Hai visto anche l'ultimo messaggio con i due file uniti e il problema della funzione per caso ???????
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Non si tratta di contraddirmi o meno. L'errore che hai postato è su quella funzione e non so dove l'hai utilizzata. Siccome parliamo di immagini credevo l'avessi utilizzato li.
Indipendentemente da dove è utilizzata è l'errore in quel caso.
 

paperinik4

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

Ok, chieo scusa. Allora ti posto il form dove l'ho utilizzata:

paginaris.php

PHP:
<link rel="stylesheet" type="text/css" href="coloredisfondo.css">
 
    <?php

    require_once("connetti.php");
    session_start();
if(isset($_COOKIE["ultimoaccesso"])) {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
    $ultimo_cookie = $_COOKIE["ultimoaccesso"];
    $me= "Il tuo ultimo accesso è stato il:  $ultimo_cookie";
} else {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
    $me= "Non ti sei mai collegato a questa pagina";
}


if(isset($_SESSION['nome'])) {

$array = mysql_query("SELECT * FROM utenti WHERE id=" . $_SESSION['id']);  

$array=mysql_fetch_array($array);  
    
$array =  strtoupper($_SESSION['nome'] );     // Eccola è questa, credo che si riferisca a questa l'errore che mi da.
// if(isset($_SESSION['nome']))  {   

    echo "<div class=\"messaggio\"><h1>";

    
echo "BENVENUTO ".$array."<br />";
    
    echo $me;

      echo "</div> </h1>";

}else{
    header("Location:failed.php");      
    exit();   
 
//}

}
 ?> 
 
<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>benvenuto</title>

<body>
 
    
<center> <br> <br> <br>

 
 <input type="button" onClick="location.href='uploadavatar.php';" style='padding:5px' value="Modifica" />
 <input type="button" onClick="location.href='logout.php';" style='padding:5px' value="Cancella" />
 <input type="button" onClick="location.href='logout.php';" style='padding:5px' value="Salva" />
 <input type="button" onClick="location.href='logout.php';" style='padding:5px' value="Logout" /> 
 
   
</center>
 </body>
</html>
 

paperinik4

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

Come posso sistemare questa funzione:

PHP:
function carica()
{
	$.post('insert_immages.php',{fine:'yes'},function(done){$('body').html(done)});
}

Dovrei eliminare il richiamo, ossia questo:

PHP:
$.post('insert_immages.php',{fine:'yes'}

In quanto il file che mi richiamaa, l'ho unito e quindi la funzione in quel caso si dovrebbe modificare, ma non ho idea di come. In pratica, quella funzioncina carica l'immagine e la fa vedere. Io dovrei riuscire ad ottenere lo stesso risultato in un unico file chiamato uploadavatar.php Appunto la devo modificare.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Una cosa per volta e in teoria un post-> un problema.
Il problema di prima è stato risolto?
 

paperinik4

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

Non credo,

perchè sto cercando di unire i tre file e in pratica il prblema è concatenato con quello di prima. Posso dire con certezza che il problema di prima non è stato risolto. E non riesco ad unire in un unico file. Comunque cerchiamo di risolvere il problema dell'errore e poi pensiamo con un altro post semmai a quello dell'unione.
 
Ultima modifica:

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Intendo: il caricamento dell'immagine funziona? La carica nella cartella giusta? Viene messo il link nel db?
 
Discussioni simili
Autore Titolo Forum Risposte Data
B INSERIRE DATI CON IMMAGINE DA FORM IN MYSQL MySQL 7
A Inserire testo dinamico su immagine centrato e a capo PHP 1
A Inserire testo dinamico su immagine centrato e a capo PHP 0
M Inserire automaticamente il nome di un'immagine in una variabile di tipo stringa Sviluppo app per Android 1
L Inserire Script Jquery in immagine html con zone cliccabili jQuery 2
M Form - inserire titolo, descrizione ed IMMAGINE PHP 2
M Inserire votazione sotto ciascuna immagine PHP 9
felino [Joomla 1.5.26] Inserire un'immagine in un articolo Joomla 1
E Inserire Immagine all'avvio dell'App Sviluppo app per Android 0
G Inserire un immagine di sfondo con un disegno base Photoshop 1
S upload immagine multiple da inserire PHP 8
G inserire watermark su immagine in upload PHP 2
T inserire un fotogramma/immagine prima che il video parte Flash 0
N Prendere immagine da web e inserire su proprio sito PHP 2
L Inserire un immagine e allegare un file con CDO Classic ASP 1
SolidSnake4 inserire immagine nell'editor tinymce Javascript 0
I inserire immagine di fondo HTML e CSS 9
M [ASP.NET/C#]Inserire percorso immagine in un database access ASP.NET 1
I inserire testo su immagine HTML e CSS 7
S Inserire immagine Flash 8
B Inserire video in un'immagine in una pagine HTML HTML e CSS 3
J inserire immagine in userform PHP 0
D inserire immagine con dreamweaver INSERT PHP 0
C inserire degli smile immagine in una minichat Javascript 0
X Inserire immagine png al posto di swf Flash 6
Matt89 [php gd library] inserire un'immagine in un canvas PHP 3
P Inserire logo su un immagine ma NON TEMPORANEO PHP 1
M Inserire una immagine posta in un archivio .jar HTML e CSS 0
P Inserire suono in immagine di rollover Javascript 0
open-think Inserire un file immagine in un campo blob Snippet PHP 0
G Inserire immagine Classic ASP 2
G come inserire un'immagine PHP 2
D Inserire link PHP 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
P inserire due voci in un titolo post wp WordPress 1
R inserire video nel sito HTML e CSS 15
J Inserire blog wordpress in angular CMS (Content Management System) 1
A inserire variabile php colore in div html PHP 2
L inserire dati multi livello PHP 8
G Inserire una scritta Java 1
M Inserire variabile nella value di una hidden PHP 3
S Inserire foto in ogni cella di una tabella Javascript 0
G inserire dati automaticamente in mysql PHP 0
B Vorrei inserire una finestra con messaggio ad un history.back PHP 16
Shyson Inserire placeholder nel campo cerca PHP 5
M Lanciare alert se il codice fiscale è già presente nel db e lasciare la scelta di inserire all'utente PHP 42
atipika INSERIRE ICONE DOWNLOAD E STAMPA WORDPRESS WordPress 10
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
B inserire valori da una tabella a un altra mysql PHP 34
D [Javascript] inserire uno script in un file php Javascript 6

Discussioni simili