Mostrare la propria foto all'utente registrato
Author: Francesco L.Vorrei che un'utente dopo aver compliato i propri dati per la registrazione sul sito (uso la registrazione manuale che è la migliore) possa poi inserire sempre durante la registrazione o dopo l'accesso riservato visualizare la propria foto in alto dove dice "Benvenuto Utente". So che ci vuole un codice html extra, ma non riesco a trovarlo.
Qualcuno può aiutarmi o appunto darmi il codice HTML per inserire la foto dell'utente durante la registrazione o dopo, sempre sul sito e fargliela comparire dove dice Benvenuto Utente o un sito dove spiega i passaggi da svolgere? Diciamo come si fa anche qui su Website perché so che si può inserire una propria foto e visualizzarla in alto a destra prima del nome utente.
Uso Website x5 Professional 13.
Aspetto in molti delle risposte.
Author
Nessuno sa una soluzione?
... non serve postare la stessa domanda, avendone fatte altre su cui hai già ricevuto delle risposte...
... da programma non è previsto; ... e per me, come per il nome, ...lascia il tempo che trova ...
... io posso solo darti un'idea fine a se stessa; ... ti fai mandare l'immagine con l'Oggetto Modulo Invio E-mail, ed al resto provvederai tu programmando da te, o trovi qualcuno che lo faccia per te, per esempio integrando una routine con l'istruzione switch()/case PHP (e/o JS) ...
.
Author
Io so come farmi mandare una foto dall'utente: in pratica come hai detto tu inserisco come allegato in OGGETTO MODULO INVIO-EMAIL. La foto mi arriva tramite email ma per poi farla inserire all'utente quando accede al proprio Login come si fa? O cosa devo appunto fare? Non è facile! Non conosci un sito o un manuale dove spiega i passaggi da svolgere?
... come anticipato, idea, io mi sono limitato ad indicarti un sentiero, tipo una "ferrata", semplice relativamente, ma se non c'è preparazione di base è meglio non affrontare da soli...
... non avendo PC e programmi, attualmente non posso dirti di più, ...se non che la chiave te l'ho fornita, e per il resto cercando nel web si troverà di tutto...
... la logica è questa: caso - se il nome è "pippo" | caricare l'immagine "pippo.jpg" (per chi ne sapesse di più potrebbe semplificare con gli array)
... magari resta in attesa di chi avesse gli strumenti e tempo da perdere per provare; ...ma evita di aprire nuovi argomenti come questo, ove già esistono risposte anche se non risolutive; ...chi volesse risponderti è libero di farlo, magari devi solo dargli tempo...
.
Author
Nessuno ha ancora trovato una soluzione o conosce un codice html da inserire?
ci vuole uno script php che interrroghi il database ed estragga i dati testuali dell'utente e i dati dell'immagine... da programma non si può dovresti cercare qualcosa in rete che possa fare al caso tuo, poi per implementarla ne possiamo parlare qui su helpcenter...
Author
Dunque devo cercare in rete un codice html extra o uno script php?
script php...per poter interagire con il database...
Author
Ho trovato questi due codici php:
Gestione immagini con PHP: Filesystem o Database?
Script generico di inserimento immagine in MySQL:
<?php
mysql_connect("localhost","","");
mysql_select_db("test");
$filename="./foto.jpg";
$fd = fopen($filename, "rb");
$contents = fread($fd, filesize ($filename));
fclose($fd);
$sql="insert into fotodb (foto) values
('".addslashes($contents)."')";
mysql_query($sql) or die("Failure: ".mysql_error());
?>
Script generico di estrazione e visualizzazione immagine da mysql:
<?php
header("Content-type: image/jpeg");
mysql_connect("localhost","","");
mysql_select_db("test");
$sql="select foto from fotodb where id=".$_GET['id'];
$result=mysql_query($sql);
$riga=mysql_fetch_row($result);
print$riga[0];
?>
Potrebbero andare questi due codici php oppure ho sbagliato?
Se comunque fossero corretti dove devo inserirli in Website x5 Professional 13?
Author
Potrebbero andare questi due codici php?
@Francesco, se vuoi essere aiutato è meglio che riporti anche la fonte del codice e poi non fare "UP" ...
Author
In che senso anche la fonte del codice?
il sito da dove l'hai preso
...devi mettere il link di dove hai trovato quel codice ...
non basta postare il codice ... anche per correttezza, bisogna sempre mettere la fonte ...
Author
Il link che ho trovato è il seguente:
http://nuovolabs.fauser.edu/~valeria/materiale-didattico/quinta/ImageIntoDB.pdf
Dimmi se quei due codici possano andare per far inserire e visualizzare la foto all'utente che si registra e accede al sito con il proprio account?
Author
Nessuno lo sa? Ma se fosse giusto dovrei inserirlo come HTML? Ma dove?
la struttura va bene, ma se gli utenti inseriscono la foto avente nome DSCN014.jpg, si deve modificare il codice php foto.jpg , un esempio .... ma di dovrebbe verificare il passaggio dell'id dell'utente, l'inserimento del div della foto nella pagina...c'è un bel lavoro!
Se fosse stato così semplice quelli di Incomedia l'avrebbero implementato....cmq ci vuole minimo una giornata di lavoro per uno come sa che sa il php, ma purtroppo in questo periodo non ho tempo.
Author
Va bene quando avrai un pò di tempo se mi aiuti ti ringrazierò.
Ma dici che la struttura va bene, ma il contenuto no vero? Ci sono errori?
la struttura va bene ma si deve integrare con i parametri e il modo di funzionare di website.
appena posso, la implemento perchè anche a me piacerebbe questa funzione.
Author
Infatti allora collaboriamo qui insieme così ci riusciamo no? Tu di sicuro sarai più esperto di me quindi aspetto che mi fai sapere qualcosa questa settimana se puoi va bene?
Francesco, ti propongo un metodo semi-manuale che funziona bene ma in modo manuale.
è questo che vuoi ottenere?
http://www.ws5.altervista.org
Per prima cosa imposta la registrazione automatica degli utenti al
passo 1>>avanzate>>gestione accessi>>impostazioni>>registrazione automatica
Poi imposta il progetto in modo che abbia tutte le pagine php
(punto 3>>proprietà>>esperto>>estensione del file>>php
Poi inserisci nell'Header un oggetto "codice html" nel quale incollerai il seguente codice:
<?php
require_once("res/x5engine.php");
require_once("res/x5settings.php");
require_once("res/access.inc.php");
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
If($dati)
{echo "Benvenuto ".$dati['realname']."<br>";
$foto="foto/".$dati['username'].".jpg";
If (!is_file($foto))
{$foto="foto/default.jpg";}
echo "<br>";
echo "<img src=$foto height=\"100\" >";}
?>
Sotto a questo oggetto inserisci l'oggetto "logout"
a questo punto imposta le pagine che vuoi che siano protette e l'oggetto "login"
(io l'ho messo nella home page)
pubblica il sito ma prima crea nella root principale una cartella che chiamerai "foto" nella quale metterai una immagine che chiamerai default.jpg (attenzione tutto minuscolo!!!)
A questo punto il sito è pronto, quando un utente si registra, predisponi la mail di notifica che riceverà con la richiesta di una foto, o predisponi una pagina con un modulo per l'invio della foto.
Quando la ricevi la rinomini con il nome dell'utente (deve essere l'user)
esempio se l'user del registrante è antonello, l'immagine devi rinominarla antonello.jpg (jpg minuscolo!!!)
e la salvi nella directori foto che avevi creato in precedenza.
Capito?
Ciao
Ciao Francesco, a cuasa di impegni di lavoro per dedicarmi se ne parlerà a Giugno, mi dispiace.
Giorgio ha proposto una bella funzione alternativa che penso che si può migliorare.
Se si trova una fuznione php che rinomina automaticamente il file immagine come nome utente, sarebbe perfetto!
https://forum.mrwebmaster.it/threads/rinominare-file-in-upload.44127/
https://forum.mrwebmaster.it/threads/rinominare-filename-immagine-prima-di-fare-lupload.42494/
Rinominare il file non é un problema sono due righe di codice.
Per fare una cosa automatica bisogna fare un modulo che preveda l'immagine il tipo, e le dimensioni.
Quindi slegarsi da website.
Quindi inserire controlli e filtri
Non é una cosa semplice.
Certo Giorgio, il form deve essere scritto in codice manuale.
Author
Grazie Giorgio! Il problema è che io ho impostato la registrazione manuale che è molto meglio rispetto a quella automatica perché si possono inserire per esempio dati come la città, la provincia di residenza, ecc cose che in quella automatica (non capisco perché hanno fatto così) non compaiono.
C'è un modo anche con la registrazione manuale per far inserire la foto all'utente che si registra e la vede (solo lui) accedendo con i suoi dati?
Certo! Con la registrazione automatica era più facile, ma è ugale devi solo fare il passaggio di validazione dei dati
Come avrai visto dal codice, non lavora sul datapase ma sui dati pescati da access.inc.php
Author
Dunque posso svolgere i passaggi che hai fatto vedere tu usando anche la registrazione manuale? Cmq dove dici
"pubblica il sito ma prima crea nella root principale una cartella che chiamerai "foto" nella quale metterai una immagine che chiamerai default.jpg (attenzione tutto minuscolo!!!)"
posso mettere una qualsiasi foto o una specifica? Ma bisogna salvarla sul server?
la foto và inviata tramite "modulo invio email" dall'utente
Author
Fino qui ci sono, ma se poi l'utente vorrebbe cambiare la propria foto non c'è un'opzione dove dice "Cambia foto" o "Cambia immagine" sempre accedendo al proprio account? Forse servirebbe un altro codice html? Se qualcuno sa mi faccia sapere!
Aspetto le vostre risposte.
Hai ragione ma non è semplice come credi perchè c'è un casino di codice e di prove.
La foto andrebbe memorizzata su database così si potrebbe cambiare ma website non la slava su database....
Io lascio perdere l'implementazione
Author
Ma i codice per fare le prove dove li trovo?
Va così?
http://www.ws5.altervista.org/A/index.php
Author
Se un'utente che si è registrato su un sito vorrebbe cambiare la propria foto non c'è un'opzione dove dice "Cambia foto" o "Cambia immagine" sempre dopo che è entrato nel suo account?
Forse servirebbe un altro codice html?
Se qualcuno lo conosca mi faccia sapere!
Grazie.
Mi viene il.sospetto che tu non hai nemmeno visto la demo... pazienza. Dedicherò il mio tempo ad altro.
Ciao Giorgio, complimenti funziona molto bene.
Quali sono i codici da inserire? Grazie!
Buongiorno Francesco,
purtroppo non è presente questa funzione nel programma. Dal momento che si tratta di un nuovo argomento ti chiedo per favore di aprire un nuovo post, così da non creare confusione su questo.
Ti ringrazio. Cordiali saluti.
Author
Scusa Giorgio ho visto solo ora su http://www.ws5.altervista.org/A/index.php
che hai mandato tu e sarebbe perfetto.
Mi puoi solo spiegare come hai fatto o se puoi mandarmi il codice php o html per appunto modificare l'immagine quando l'utente entra con il proprio account?
Grazie mille sei un grande!
Oltre a non guardare le demo non leggi neanche i post... è tutto spiegato "esaurientemente" sopra... basta un "piccolo" impegno...
@Francesco: è tutto spiegato esaurientemente dal gentilissimo Giorgio qui:
https://helpcenter.websitex5.com/en/post/169385#comment22
...ora tocca a te fare le prove...
Skeggia, io e Francesco abbiamo scambiato il post di Giorgio con quello di Francesco che era un metodo manuale :D
annamo bene... annamo propio bbene... diceva la sora lella...
no Skeggia un altro problema: Giorgio parlava di rinominare il file immagine ma nella demo il sistema lo fa automaticamente.
Quindi avrà modificato il codice del form che imposta il nome della foto a quella del nome.
Quindi serve postare il codice del form manuale.
Inoltre io imposterei come nome foto l'userid e non il nome per non avere confliti, in quanto l'userid è una chiave e quindi univoca
@Giorgio, ci potresti inviare il progetto così facciamo prima?
Grazie mille!
Author
Claudio ciò che hai mandato non è ciò che ha mandato Giorgio per ultimo perché ciò che hai rimandato tu è tutto apposto e funziona, ma ora ci serve l'altro codice che Giorgio ha messo nel link seguente:
http://www.ws5.altervista.org/A/index.php
Aspettiamo solo te Giorgio che ci dica il codice php!
certo !
ma hai iniziato a fare le prove con quello ?
Mi sembra che pretendi un po' troppo la "pappa pronta" ...
Author
Già fatto Claudio e funziona, manca solo più il codiice php (che non so perché non sono un programmatore) per modificare la foto!
@Claudio, manca il codice del form.
...certo , ma ciò non giustifica Francesco a pretendere da Giorgio con quell'insistenza ... o sbaglio ?
Si parla di codici assolutamente extra, e di un aiuto volontario...
Author
Claudio ma io non pretendo assolutamente nulla! Website è fatto per aiutarci a vicenda no? Quindi non capisco perché ti lamenti di me? Non siamo programmatori dunque non possiamo sapere i codici.
Noi aspettiamo solo che Giorgio ci dia una mano con i codici e basta.
...a me pare il contrario che pretendi tutto ed in fretta : oltretutto traddandosi di codici extra , website centra ben poco ...
Nessuno sa una soluzione?
Nessuno lo sa? Ma se fosse giusto dovrei inserirlo come HTML? Ma dove?
Forse servirebbe un altro codice html?
Se qualcuno lo conosca mi faccia sapere!
Grazie.
Author
No ma se non facevo così magari Giorgio non avrebbe manco iniziato a darci una mano! Comunque non iniziamo a lamentarci per queste fesserie.
Ora aspettiamo solo che Giorgio legga e ci aiuti per il codice php per la modifica della foto.
Ok. Appena ho un po' di tempo posto il codice. Devo sistemarne alcune debolezze...
Author
Va bene Giorgio comunque per me andava benissimo anche così perché ho fatto le prove e funziona che è una meraviglia!
Questo è lo schema della demo:
http://www.ws5.altervista.org/index.php
Le pagine form.php e upload.php sono protette e nascoste.
Pagina form.php nell'oggetto Codice html inserire questo semplice form:
<form enctype="multipart/form-data" method="POST" action="upload.php">
<input type="file" value="scegli immagine" name="image" size="50" >
<input type="submit" value="invia" />
</form>
Pagina upload.php nell'oggetto Codice html inserire questo codice:
<?php
function check_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
break;
case "image/gif":
return false;
break;
default:
return false;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
default:
return false;
break;
}
}
function get_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return ".jpg";
break;
case "image/jpeg":
return ".jpg";
break;
case "image/gif":
return false;
break;
default:
return false;
break;
}
}
function get_error($tmp, $type, $size, $max_size) {
if(!is_uploaded_file($tmp)) {
echo "File caricato in modo non corretto<br />";
}
if(!check_ext($type)) {
echo "Estensione del file non ammesso<br />";
}
if($size > $max_size) {
echo "Dimensione del file troppo grande<br />";
}
echo "<a href= \"form.php\" >Torna indietro</a>";
}
$homepage=$imSettings['general']['homepage_url'];
$qfolder = $imSettings['general']['public_folder'];
$tmp = $_FILES['image']['tmp_name'];
$type = $_FILES['image']['type'];
$size = $_FILES['image']['size'];
$max_size = 200000;
if(is_uploaded_file($tmp) && check_ext($type) && $size <= $max_size) {
$ext = get_ext($type);
$foto = $qfolder."/KillePille".$dati['username'].$ext;
if(move_uploaded_file($tmp,$foto)) {
echo "Immagine caricata con successo
<meta http-equiv=\"refresh\" content=\"0;URL=$homepage\">";
} else {
echo "Non è stato possibile caricare l'immagine<br />";
echo "<a href=\"form.php\" >Torna</a>";
}
} else {
get_error($tmp, $type, $size, $max_size);
}
?>
Contenuto header nell'oggetto Codice html inserire questo codice:
<?php
require_once("res/x5engine.php");
require_once("res/x5settings.php");
require_once("res/access.inc.php");
$qfolder = $imSettings['general']['public_folder'];
$n = "";
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
If($dati)
{
$foto = $qfolder . "/KillePille". $dati['username'] . ".jpg";
//$foto="foto/".$dati['username'].".jpg";
If (!is_file($foto))
{$foto=$qfolder."/default.jpg";}
echo "<img src=$foto?\"$n\" height=\"85\"><br>Benvenuto ".$dati['realname']."<br>
<a href=\"form.php\" onclick=\"return x5engine.utils.location('form.php', null, false)\">Cambia l'immagine</a><br>
<!-- Private Area.Logout: START -->
<span class=\"imLogout\" style=\"font-weight: bold; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000\"></span>
<!-- Private Area.Logout: END -->";
}
?>
Ultima cosa fare l'upload di una immagine nella cartella predisposta per l'accesso in scrittura. questa immagine la rinominate default.jpg
Oltre al mio codice ho sfruttato questo che ho trovato in rete.
http://www.targetweb.it/semplice-uploader-di-immagini-in-php
Ciao
Author
Giorgio ho fatto tutti i passaggi che mi hai detto cioè ho aggiunto il codice html nell'header (questo comprende il "Benvenuto nome utente", "Cambia l'immagine" e "Logout".
<?php
require_once("res/x5engine.php");
require_once("res/x5settings.php");
require_once("res/access.inc.php");
$qfolder = $imSettings['general']['public_folder'];
$n = "";
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
If($dati)
{
$foto = $qfolder . "/KillePille". $dati['username'] . ".jpg";
//$foto="foto/".$dati['username'].".jpg";
If (!is_file($foto))
{$foto=$qfolder."/default.jpg";}
echo "<img src=$foto?\"$n\" height=\"85\"><br>Benvenuto ".$dati['realname']."<br>
<a href=\"form.php\" onclick=\"return x5engine.utils.location('form.php', null, false)\">Cambia l'immagine</a><br>
<!-- Private Area.Logout: START -->
<span class=\"imLogout\" style=\"font-weight: bold; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000\"></span>
<!-- Private Area.Logout: END -->";
}
?>
Il problema è che comunque non si vede la foto e se clicco su Cambia l'immagine, sfoglia, scelgo la foto e poi clicco su "Invia" si apre una pagina bianca.
Ti mando le due immagini e dimmi dov'è l'errore e cosa devo fare per sistemare?
Author
Questa è l'immagine bianca (te la mando lo stesso anche se non serve perché come ho detto la pagina è vuota)
@Francesco Forse ti mancano gli altri passaggi...
Hai inserito la pagina upload.php?
E l'immagine default.jpg?
Author
Si Giorgio ho seguito passo passo i passaggi che hai descritto tu ma niente.
Come immagine default.jpg posso mettere qualsiasi foto o una specifica? Comunque anche questa l'ho inserita ma dici che bisogna inserirla nella root principale e/o nella cartella predisposta per l'accesso in scrittura?
Devo fare le modifiche che hai fatto tu e lasciare perdere il primo passaggio che hai fatto vedere all'inizio cioè questo codice non devo più inserirlo giusto nell'header?
<?php
require_once("res/x5engine.php");
require_once("res/x5settings.php");
require_once("res/access.inc.php");
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
If($dati)
{echo "Benvenuto ".$dati['realname']."<br>";
$foto="foto/".$dati['username'].".jpg";
If (!is_file($foto))
{$foto="foto/default.jpg";}
echo "<br>";
echo "<img src=$foto height=\"100\" >";}
?>
ma devo inserire direttamente questo?
<?php
require_once("res/x5engine.php");
require_once("res/x5settings.php");
require_once("res/access.inc.php");
$qfolder = $imSettings['general']['public_folder'];
$n = "";
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
If($dati)
{
$foto = $qfolder . "/KillePille". $dati['username'] . ".jpg";
//$foto="foto/".$dati['username'].".jpg";
If (!is_file($foto))
{$foto=$qfolder."/default.jpg";}
echo "<img src=$foto?\"$n\" height=\"85\"><br>Benvenuto ".$dati['realname']."<br>
<a href=\"form.php\" onclick=\"return x5engine.utils.location('form.php', null, false)\">Cambia l'immagine</a><br>
<!-- Private Area.Logout: START -->
<span class=\"imLogout\" style=\"font-weight: bold; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000\"></span>
<!-- Private Area.Logout: END -->";
}
?>
e poi eseguire tutti i passaggi che ho già fatto?
Author
Per non fare confusione, se hai voglia, puoi rimandare in ordine i passaggi da svolgere per:
1) far registrare l'utente, fargli inserire la propria foto e quando accede fargli comparire "Benvenuto Utente".
2) far cambiare all'utente la propria foto dove gli compare "Cambia immagine".
3) per il logout basta inserirlo nell'Header.
Giorgio almeno sarà più facile sia per me che per gli altri provare e riprovare i tuoi metodi.
Grazie.
oppure inviare il progetto direttamente con un bel link di wetransfer
grazie a giorgio per l'impegno e la riuscita del suo progetto... funziona perfettamente... è bastato seguire attentamente le tue istruzioni...
http://www.skeggia12.it/test/v13-1/fotoutente/index.php
@Skeggia, cortesemente ci potresti inviare il progetto, grazie!
@sitiwebapp: con tutto il rispetto, mi permetto di dire che se ci si aspetta sempre che qualcuno faccia qualcosa al posto nostro, la nostra crescita resta ferma all'infanzia... in questa discussione giorgio ha elencato per filo e per segno cosa fare, quindi basta un piccolo impegno, seguire quello che giorgio ha scritto e il risultato sarà inevitabilmente positivo... io per principio non chiedo MAI la pappa pronta, proprio per poter essere il più possibile "autosufficiente" nelle mie prove (dato che non faccio questo mestiere)... al massimo chiedo delle spiegazioni, un suggerimento sulla strada da seguire, ma poi opero io... quindi non posterò nessun progetto (anche perchè se vuole lo farà l'autore) ma sono comunque sempre disponibile, nella mia scarsa conoscenza della materia php, a rispondere alle domande poste... senza offesa per nessuno... un saluto cordiale...
Author
Io ho solo chiesto se Giorgio possa ricapitolare i passaggi da svolgere perché con tutti questi messaggi di ognuno di noi c'è un pò di confusione. Solo questo ho chiesto niente di più!
ok Skeggia l'ho chiesto per aiutare Francesco visto che si trova in difficoltà,
cmq appena ho un po' di tempo lo implemento e gli invio il progetto
Complimenti e grazie Giorgio per lo Script!
La mia idea è che @stesil e/o @lemonsong dessero un'occhiata al tutto, e lo inserissero nel loro blog.
Mi farebbe mooolto piacere: sarebbe sicuramente rivisto e corretto, facilmente rintracciabile e a disposizione di tutti.
Sempre che lo vogliano e abbiano il tempo...
Author
Giorgio io ora sto provando da solo, ma dove tu hai detto in precedenza "Ultima cosa fare l'upload di una immagine nella cartella predisposta per l'accesso in scrittura. questa immagine la rinominate default.jpg" in pratica io sono andato su Gestione Dati, dove dice Cartelle con accesso in scrittura ho scritto come hai fatto vedere tu la parola "public", ma cosa devo fare poi? Devo inserire un'altra immagine nel server? Forse sarà per questo per cui non riesca a concludere il tutto?
Fammi sapere Giorgio!
La cartella con permesso di scrittura è soggettiva, io ho public, ma ognuno può avere quella che vuole: l'importante è che ci sia.
poi riporti il nome nel programma e quando fai l'upload, prima di inviare i file clicchi su questa cartella e ci mandi una foto generica di utente che chiamerai default.jpg
Torni poi alla root e invii i file.
Ciao
Author
Ma devo fare così solo una volta o a tutti gli utenti che si registrano?
come specificato da Giorgio...
...quando un utente si registra viene utilizzata ed assegnata l'immagine generica default.jpg al profilo...
quindi tu devi copiare tale immagine solo una volta , prima che si registri il primo utente ...la stessa immagine verrà usata come predefinita per tutti quelli che si registrano ...
Author
Ah ok e non c'è il modo per ogni utente che si registra con il proprio nome utente abbia solo la propria foto senza che un altro che si registra con un profilo diverso gliela cambia inserendo un'altra foto diversa? Non mi sembra giusto per ogni utente che si registra sul sito perché ogni persona ha il diritto di avere la foto che uno sceglie e no che ogni utente che si registra abbia la foto dell'ultimo utente che l'ha inserita!
Bisognerebbe correggere questo errore. Spero che Claudio che è molto in gamba riesca a trovare una soluzione.
Author
Cioè scusa volevo dire Giorgio!
ma no, non hai capito...
l'immagine generica che copi tu ( default.jpg ) viene messa subito all'utente come immagine predefinita ...
poi lui la cambia con la funzionalità "cambia immagine" ...
Fai delle prove Francesco e ti stupirai.
Author
ah ok! Dunque ogni utente può poi cambiarla e se la tiene come uno vuole? Ok dai ora provo perché per ora è tutto ok però non mi compare più il "Cambia immagine" Io appunto per questo ho chiesto a Giorgio solo se poteva ricapitolare tutti i passaggi da svolgere in ordine per non creare la confusione. Spero che lo faccia!
Non compare perché ho messo un css on mouse over che è più carino, che ti invita a clicare l' immagine per cambiarla
Author
A me facendo la prova sulla foto andando con il mouse lì non mi fa cambiare nulla!
Author
Non potresti rimettere il "Cambia Immagine"? Era più carino così anche perché a me non compare nulla con il mouse per modifcare la foto.
Author
Giorgio non potresti mandare il codice php in cui l'utente quando accede li compare:
1) Benvenuto Utente"
2) Vede la foto
3) Cambia l'immagine)
4) Logout (questo non è un problema)
Mi sembra più carino così e anche più corretto per l'utente non credi?
Spero che mandi il codice php.
Grazie
volevo precisare, qualora ce ne fosse bisogno, che il mio post precedente, non aveva lo scopo di tenere tutto per me e non condividere con altri, ma solo di esere da stimolo a far sperimentare gli utenti, che tra l'altro in questo caso, giorgio ha praticamente servito su un piatto d'argento il tutto... basta solo copiare e seguire le istruzioni... la mia breve storia personale su answers e ora su helpcenter lo testimonia... quel poco che so è a disposizione di chi chiede... quando c'iazzecco... (licenza poetica)...
@Skeggia 12 sono d' accordo con te al100% con il solo copia-incolla no si conclude nulla se non si sa cosa si copia.
Può essere utile per imparare con gradualità vedendo già i risultati.
Ma come dici tu se non ci si sbatte un po la testa si corre il rischio di avere dei codici che vanno bene per una demo (con scritta o senza) ma dopo non si sanno applicare ad un proprio progetto, quindi inutili. Sono consapevole di aver sparato lì delle righe prive di ogni commento, ma siccome provenivano per la gran parte da spunti letti in questo forum, mi sembrava superfluo.
... e poi sono che poche righe e non é detto che siano corrette ...
provate ad aprire x5engine.php quello si che é codice!
Author
Giorgio sono corrette invece le righe perché sul tuo sito http://www.ws5.altervista.org/A/index.php funziona tutto alla perfezione per inserire e modificare la foto!
scusate ma che senso ha perdere tempo a filosofare sui commenti facendo disperare Francesco...
Francesco ha provato e non ci è riuscito a causa delle non competenze ma l'impegno gliel'ha messo.
Quindi visto che avete 2 progetti belli pronti, non ci vuole a niente a trasferirli con wetransfer...
@sitiwebapp: sai, quando uno fa prove e non riesce, mette online in una sottocartella le sue prove e chiede di dargli una occhiata, non chiede un progetto bello e pronto... e questo dovresti saperlo... poi se non sbaglio più sopra sei stato tu ad offrirti di risolvergli il problema, e quindi penso tu abbia le competenze di php, cosa che io non ho, salvo poi tirarti indietro e chiedere progetti belli e pronti... mi sembra che anche a te non sia stata lesinato aiuto continuo da parte di tutti i moderatori ed user, ma cavolo, un po' di impegno... tra l'altro lo fate anche per professione, a differenza di molti di noi... io non sono certo una cima in php eppure seguendo le istruzioni tutto funziona... e come diceva papa wojtyla... "se sto sbagliando corrigetemi"...
... perchè anche trasferendo il progetto, che peraltro è qui sopra bello pronto, ci sarà sempre il problema della cartella con permessi di scrittura e il file da inserire manualmente default.jpg che non posso inserire nel progetto, il dominio è suo e lo deve fare lui e per farlo deve capire come si fa.
Mi sembra tra l'altro di averlo spiegato bene, di più non sarei capace
...per variare io ho messo il codice "benvenuto" nel corpo pagina...
...devo fare qualche ritocco per il cambio immagine , dato che ho variato le cartelle e altro ...
...ma funge alla grande grazie alle istruzioni di Giorgio.
Anche per me è solo una passione, e il mio divertimento stà nel risolvere i problemi che si presentano o capire come si fa. Grazie a website poi posso tralasciare completamente quello che è il contenuto, l'invio, ecc. perchè ci pensa il programma e concentrarmi sul problema.
Author
Giorgio fino ad ora sono riuscito come forse avrò detto già in precedenza (facendo sempre prove) a far vedere la foto all'utente, il "Benvenuto Utente", "Cambia l'Immagine" non capisco perché mi esce questo e non la modifica che hai fatto tu cioè cliccare con il mouse sulla foto per modificarla (forse non hai appunto mandato il codice php, ma per me non è importante perché va bene anche così) e il logout che ormai non ho problemi.
Però quando l'utente clicca su Cambia l'Immagine fa "Sfoglia", seleziona l'immagine, clicca su Invia e si apre una pagina web bianca.
Non sarebbe meglio che invece compaia sempre la pagina del proprio account?
Solo più questo non riesco a fare.
Cosa dovrei fare?
In allegato ti ho mandato le due pagine (una è quella bianca vuota)
Author
Questa è quella vuota
...la pagina che appare bianca è upload.php
verifica i codici che hai messo... hai sicuramente omesso qualcosa dal codice di Giorgio...
francesco: il risultato di pagina bianca è quasi sicuramente dato da un errore php... probabilmente hai copiato male il blocco di codice php... prova a copiarlo di nuovo...
se ti posso dare un consiglio, e se lo hai, dopo aver copiato il codice, prova a incollarlo in un file vuoto di dreamweaver, programma di adobe, che ti segnalerebbe un eventuale errore nel codice... ma penso che il problema sia un'apertura all'inizio del codice <? o alla chiusura del codice ?>... verifica...
arrivato secondo...
Author
No ho messo il seguente codice php che ha dato Giorgio:
<?php
function check_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
break;
case "image/gif":
return false;
break;
default:
return false;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
default:
return false;
break;
}
}
function get_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return ".jpg";
break;
case "image/jpeg":
return ".jpg";
break;
case "image/gif":
return false;
break;
default:
return false;
break;
}
}
function get_error($tmp, $type, $size, $max_size) {
if(!is_uploaded_file($tmp)) {
echo "File caricato in modo non corretto<br />";
}
if(!check_ext($type)) {
echo "Estensione del file non ammesso<br />";
}
if($size > $max_size) {
echo "Dimensione del file troppo grande<br />";
}
echo "<a href= \"form.php\" >Torna indietro</a>";
}
$homepage=$imSettings['general']['homepage_url'];
$qfolder = $imSettings['general']['public_folder'];
$tmp = $_FILES['image']['tmp_name'];
$type = $_FILES['image']['type'];
$size = $_FILES['image']['size'];
$max_size = 200000;
if(is_uploaded_file($tmp) && check_ext($type) && $size <= $max_size) {
$ext = get_ext($type);
$foto = $qfolder."/KillePille".$dati['username'].$ext;
if(move_uploaded_file($tmp,$foto)) {
echo "Immagine caricata con successo
<meta http-equiv=\"refresh\" content=\"0;URL=$homepage\">";
} else {
echo "Non è stato possibile caricare l'immagine<br />";
echo "<a href=\"form.php\" >Torna</a>";
}
} else {
get_error($tmp, $type, $size, $max_size);
}
?>
Ma dopo l'Invio che pagina si dovrebbe aprire?
Ditemi se c'è qualche errore nel codice php ma non penso?
l'hai messo nella pagina chiamata upload.php?
il codice non ha errori...
Non hai messo la pagina upload.php
Author
Si ho appena riguardato ora ed è nella pagina upload ma non ho messo il .php
Centra qualcosa? L'ho appena aggiunto il .php nelle due pagine, ho fatto l'esportazione dei soli file modificati con Website X5 Professional 13 ma niente si apre sempre la pagina web bianca dopo aver cliccato Invia.
@francesco: dato che oggi mi sto facendo una serie di amici... continuo......
ho visitato il tuo sito, e non ho trovato il tuo luogo di residenza... quindi penso che tu operi via chat o via mail...
poi ho aperto la pagina di registrazione e trovo vari campi... manca solo la richiesta di che numero di scarpe porto...
mentre di te non si sa nulla... in ogni sito che si rispetti c'è una voce "Chi siamo" o simile... ma forse esagero io...
ciao
no, francesco, dovresti fare prima CTRL+ ANTEPRIMA e poi riesportare "tutto" il sito... e per avere il codice funzionante al 100% in header tutte le pagine devono essere php...
Author
Skeggia nel sito lo aggiungerò. Giorgio ho appena messo sia .php in form che in upload nella Creazione della Mappa, ho fatto l'esportazione dei solo file modificati ma niente cliccando su Invia si apre sempre una pagina web bianca.
...io avevo anche segnalato precedentemente che un sito simile dove "sembra" si dia assistenza a mio parere dovrebbe riportare la partita iva ... o gli aiuti li dai gratuitamente ? ...
La pagina upload.php è vuota! hai messo l'oggetto codice html con dentro il codice nella pagina?
Complimenti a Giorgio C. ! sei grandeee
Certo in ws potrebbe essere integrato pure sta cosa. Come è ? ... senza conoscenza codici , eppure è un continuo l'uso di codici.
Bravo Giorgio e grazie a nome di tutti !
Author
Giorgio io in upload.php nella Creazione della Pagina ho messo solo il codice html seguente:
<?php
function check_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
break;
case "image/gif":
return false;
break;
default:
return false;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
default:
return false;
break;
}
}
function get_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return ".jpg";
break;
case "image/jpeg":
return ".jpg";
break;
case "image/gif":
return false;
break;
default:
return false;
break;
}
}
function get_error($tmp, $type, $size, $max_size) {
if(!is_uploaded_file($tmp)) {
echo "File caricato in modo non corretto<br />";
}
if(!check_ext($type)) {
echo "Estensione del file non ammesso<br />";
}
if($size > $max_size) {
echo "Dimensione del file troppo grande<br />";
}
echo "<a href= \"form.php\" >Torna indietro</a>";
}
$homepage=$imSettings['general']['homepage_url'];
$qfolder = $imSettings['general']['public_folder'];
$tmp = $_FILES['image']['tmp_name'];
$type = $_FILES['image']['type'];
$size = $_FILES['image']['size'];
$max_size = 200000;
if(is_uploaded_file($tmp) && check_ext($type) && $size <= $max_size) {
$ext = get_ext($type);
$foto = $qfolder."/KillePille".$dati['username'].$ext;
if(move_uploaded_file($tmp,$foto)) {
echo "Immagine caricata con successo
<meta http-equiv=\"refresh\" content=\"0;URL=$homepage\">";
} else {
echo "Non è stato possibile caricare l'immagine<br />";
echo "<a href=\"form.php\" >Torna</a>";
}
} else {
get_error($tmp, $type, $size, $max_size);
}
?>
che hai dato tu e non ho fatto nient'altro.
Manca qualche altro passaggio?
Bho! la pagina c'è ma è vuota.
Hai rimandato il sito dopo le modifiche?
Author
Certo ma cosa devo inserire nella pagina?
Author
E poi un'altra cosa cliccando su Invia che pagina si dovrebbe aprire?
Giorgio C. è possibile contattarti diciamo via mail?
Ti ringrazio, anche da parte di lemon, di così tanta considerazione. Hai fatto proprio un bel lavoro. A colpo d'occhio ti posso segnalare una ripetizione di alcuni "case" nella funzione check_ext(). Vedremo cosa potremo fare, magari anche con la scrittura diretta sul database.
Sono comunque contraria, per principio, a mettere a disposizione il file .iwzip con il codice inserito per tutte le considerazioni che già avete perfettamente esposto: un conto è fornire il file di progetto di un template, un altro è lavorare con i codici, php in particolare... è delicato e bisogna capire bene cosa si fa e a quali inconvenienti si va incontro.
@Francesco: sul tuo server non sono visualizzabili gli errori php, a nessun livello, e questo rende arduo capire cosa stai sbagliando. Se posti il file upload.php che hai sul server qualcuno riuscirà ad aiutarti.
Author
Niente da fare Giorgio, ho provato anche a rifare l'esportazione di tutti i file ma cliccando su "Invia" si apre sempre la pagina web vuota, rimande sempre la foto di default e di conseguenza non mi arriva la foto tramite email.
Dov'è che sbaglio o cosa manca?
Author
stesil scusa e come dovre fare per postare il file upload.php che ho nel server? Se me lo spieghi lo facciio subito!
Ma dovrebbe avere almeno il menù sopra... come l'hai inserita quella pagina? con il programma spero.
Author
Ho creato la pagina Upload in creazione della mappa, l'ho messa nascosta, protetta ed è già in php. Certo che l'ho creata con il programma se no con cosa?
E' da oggi pomeriggio che sto provando e riprovando, ma dopo aver cliccato su Invio si apre sempre la pagina vuota bianca.
Comunque tu non hai mandato i codice php per modificare la foto con il mouse, io lo sto facebdo con "Cambia Immagine" può essere per questo che non va? Non lo posti l'altro codice php così provo anche così?
Protetta non lo è di certo perchè è accessibile.
Metti uno screenshot della creazione mappa.
Prendi il file upload.php dal server, con Filezilla o dal passo 5 del programma, Esporta il sito su Internet, utilizzando l'apposito comando "Scarica il file selezionato dal server", zippa il file .php ed allegalo qui.
Non è detto. Se ha un errore php la pagina resta bianca, visto che ha "silenziato" gli errori sul server. E comunque quei codici funzionano anche fuori da WebSite, o almeno si dovrebbe visualizzare uno degli echo presenti.
Author
Guarda Giorgio ho mandato i 3 screenshot
Penso che siano tutti apposto no o c'è qualcosa che non va? Gli ho messi in ordine dal primo passaggio all'ultimo.
Author
stesil ho postato il file upload.php con winrar.
Spero vada bene! Fammi sapere così mi dici se trovi qualche errore.
Author
Giorgio e Stesil potete vedere gli screenshoot che ho mandato e il file allegato di upload così mi dite dove è l'errore?
Grazie
@Giorgio e @Skeggia, potete inviare la procedura a quellidelcucuzzolo così preparano un bell'articolo su questa bella funzionalità?
Grazie!
Author
SitiWeb App hai visto tu i miei screenshoot? C'è qualche cosa che non va o come dici tu manca qualcosa che devono mandare Giorgio e/o Skeggia tipo il codice php?
francesco... non so se lo hai tolto temporaneamente ma in header non hai messo il codice per la visualizzazione del login con la foto?
Author
Skeggia io nell'Header ho questo codice php guarda:
<?php
require_once("res/x5engine.php");
require_once("res/x5settings.php");
require_once("res/access.inc.php");
$qfolder = $imSettings['general']['public_folder'];
$n = "";
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
If($dati)
{
$foto = $qfolder . "/KillePille". $dati['username'] . ".jpg";
//$foto="foto/".$dati['username'].".jpg";
If (!is_file($foto))
{$foto=$qfolder."/default.jpg";}
echo "<img src=$foto?\"$n\" height=\"85\"><br>Benvenuto ".$dati['realname']."<br>
<a href=\"form.php\" onclick=\"return x5engine.utils.location('form.php', null, false)\">Cambia l'immagine</a><br>
<!-- Private Area.Logout: START -->
<span class=\"imLogout\" style=\"font-weight: bold; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000\"></span>
<!-- Private Area.Logout: END -->";
}
?>
E' giusto no?
francesco, a me non sembra ci sia... ho analizzato il codice della pagina e mi compare una casella vuota... per dar modo di fare una prova, inserisci un username e una password temporanea (devi inserirla nel progetto in gestione accessi e poi riesportare il sito) per dar modo di verificare il codice da utente registrato... sempre se ti va... se non vuoi postarla qui, potresti fornirla in chat sul tuo sito... facci sapere... per un po' sono ancora al pc...
Author
Ma devo riesportare il sito tutto da capo o solo le modifiche? No perché se riesporto tutto ci mette un bel pò.
Dimmi tu
francesco, aspetta... sono riuscito a vedere il codice... ti posto lo screenshot che ho ricavato...
dove vedi la freccia rossa c'è scritto <!-- e poi a capo ?php require.....
apri il codice e fallo diventare
<?php
require......
poi due righe più sotto trovi
-->
toglilo... e riesporta e prova...
Author
Skeggia scusa la mia ignoranza, ma devo modificare questo benedetto codice su Website x5 Professional 13?
Io lì ho inserito nell'Header questo codice
<?php
require_once("res/x5engine.php");
require_once("res/x5settings.php");
require_once("res/access.inc.php");
$qfolder = $imSettings['general']['public_folder'];
$n = "";
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
If($dati)
{
$foto = $qfolder . "/KillePille". $dati['username'] . ".jpg";
//$foto="foto/".$dati['username'].".jpg";
If (!is_file($foto))
{$foto=$qfolder."/default.jpg";}
echo "<img src=$foto?\"$n\" height=\"85\"><br>Benvenuto ".$dati['realname']."<br>
<a href=\"form.php\" onclick=\"return x5engine.utils.location('form.php', null, false)\">Cambia l'immagine</a><br>
<!-- Private Area.Logout: START -->
<span class=\"imLogout\" style=\"font-weight: bold; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000\"></span>
<!-- Private Area.Logout: END -->";
}
?>
Dunque c'è già no?
Sono in difficoltà perché non sto capendo più niente
e certo.. hai visto lo screenshot che ti ho postato? non sembra che il codice sia quello che posti qui... l'inizio del codice che compare sullo screenshot ha i segni di commento al codice...
tutto quello compreso tra <!-- ...codice codice codice... e --> è un commento e non viene eseguito...
tu qui posti il codice giusto ma sulla pagina sembra ci sia quello errato...
Author
Io in pratica sulla Home del sito ho aggiunto con Website x5 Professional 13 due Oggetti Guestbook (lo vedi sul sito)
Dovrei toglierli?
E' per questo che non riesco?
Ma se lo tolgo posso magari aggiungerlo da un'altra parte?
Non so se ciò che ho detto ora centri qualcosa.
ferma tutto... ho trovato l'arcano... il codice dovrebbe essere corretto... io l'ho letto nella tua sitemap, in una pagina in cui non deve essere eseguito, quindi sto sbagliando io... come detto forse l'unica soluzione è leggere il codice da utente registrato... se vuoi puoi fare come detto sopra, crea un utente temporaneo e posta user e password, esportando solo le ultime modifiche... sempre se vuoi farlo...
veramente adesso è sparito tutto...
per adesso ti devo salutare, prova a ripristinare il tutto e ci sentiamo tra un po... resta anche in ascolto in chat... ti potrei chiamare li...
Author
Ho appena ripristinato il codice php che appunto sapevo fosse corretto (sono preciso e faccio attenzione).
Ma come faccio a leggere il codice da utente registrato?
Ora ho provato a fare una registrazione con i dati a caso (ho anche inserito una foto che l'utente vuole come profilo e mi arriva tramite email). All'inizio, dopo la registrazione, clicco su Accedi, inserisco appunto il Nome Utente e la Password che ho creato a caso e funziona, infatti si apre la pagina dell'utente dove compare la foto di "Default", "Benvenuto Nome Utente", Cambia l'mmagine, Logout.
Cliccando su "Cambia l'immagine" si apre la pagina che vedi qui sotto e cliccando su Invia, dopo avere selezionato una foto, si apre la pagina web bianca.
Manca qualcosa, ma non riesco a capire cosa!!!!!
Author
Ma forse non è che quando esporto solo i file modificati (per fare cambiare la foto che l'utente mi ha inviato) clicco sulla cartella che ho creato (dove ci sono le foto degli utenti che si registrano), rinomino il file jpg inserendo il nome utente (questo lo ha specificato Giorgio) aggiungendo .jpg, ma poi se clicco su avanti compare il messaggio "La cartella di destinazione indicata è diversa da quella impostata nei parametri di esportazione, vuoi aggiornare il percorso?" Io faccio annulla perché non ne sono sicuro e dunque tornando poi indietro (il file jpg modificato resta sempre quello che ho cambiato io) faccio l'esportazione normale di tutti i file e cartelle solo modificate.
E' qui dove sbaglio?
Devo cliccare su sì dove compare quel messaggio? Ma se accetto che pagina compare quando l'utente clicca su Invia? (Lo chiedo per l'utente per sapere appunto che pagina gli compare dopo).
ma scusa la foto mandala online con un programma esterno tipo filezilla nella cartella che hai scelto senza usare website...
Author
Ma io faccio come ha spiegato Giorgio qui leggi:
pubblica il sito ma prima crea nella root principale una cartella che chiamerai "foto" nella quale metterai una immagine che chiamerai default.jpg (attenzione tutto minuscolo!!!)
A questo punto il sito è pronto, quando un utente si registra, predisponi la mail di notifica che riceverà con la richiesta di una foto, o predisponi una pagina con un modulo per l'invio della foto.
Quando la ricevi la rinomini con il nome dell'utente (deve essere l'user)
esempio se l'user del registrante è antonello, l'immagine devi rinominarla antonello.jpg (jpg minuscolo!!!)
e la salvi nella directori foto che avevi creato in precedenza.
Capito?
Ciao
guarda lo screenshot... hai fatto questo passaggio?
Author
Si l'ho chiamata foto
azzardo... credo tu sia rimasto all'inizio del discorso... quando dovevi mettere la foto nella cartella foto... dopo la modifica che ha apportato che ti fa cambiare la foto con il form, la cartella è diventata "public" e la foto default.jpg va li... ti mostro la struttura del mio progetto in rete...
allora non so che dire... ho terminato le parole...
Author
Comunque non hai risposto alla domanda di prima cioè:
Ma forse non è che quando esporto solo i file modificati (per fare cambiare la foto che l'utente mi ha inviato) clicco sulla cartella che ho creato (dove ci sono le foto degli utenti che si registrano), rinomino il file jpg inserendo il nome utente (questo lo ha specificato Giorgio) aggiungendo .jpg, ma poi se clicco su avanti compare il messaggio "La cartella di destinazione indicata è diversa da quella impostata nei parametri di esportazione, vuoi aggiornare il percorso?" Io faccio annulla perché non ne sono sicuro e dunque tornando poi indietro (il file jpg modificato resta sempre quello che ho cambiato io) faccio l'esportazione normale di tutti i file e cartelle solo modificate.
Intendo sempre su Website x5 Professional 13!
Di sicuro sarà una banalità il motivo per cui non mi funziona, ma non riusciamo a capire il motivo esatto!
e prova a dirgli si...
resta comunque il fatto che la pagina upload.php è vuota di codice...
Author
io nella pagina Upload ho inseriro appunto il codice HTML seguente:
<?php
function check_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
break;
case "image/gif":
return false;
break;
default:
return false;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
default:
return false;
break;
}
}
function get_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return ".jpg";
break;
case "image/jpeg":
return ".jpg";
break;
case "image/gif":
return false;
break;
default:
return false;
break;
}
}
function get_error($tmp, $type, $size, $max_size) {
if(!is_uploaded_file($tmp)) {
echo "File caricato in modo non corretto<br />";
}
if(!check_ext($type)) {
echo "Estensione del file non ammesso<br />";
}
if($size > $max_size) {
echo "Dimensione del file troppo grande<br />";
}
echo "<a href= \"form.php\" >Torna indietro</a>";
}
$homepage=$imSettings['general']['homepage_url'];
$qfolder = $imSettings['general']['public_folder'];
$tmp = $_FILES['image']['tmp_name'];
$type = $_FILES['image']['type'];
$size = $_FILES['image']['size'];
$max_size = 200000;
if(is_uploaded_file($tmp) && check_ext($type) && $size <= $max_size) {
$ext = get_ext($type);
$foto = $qfolder."/KillePille".$dati['username'].$ext;
if(move_uploaded_file($tmp,$foto)) {
echo "Immagine caricata con successo
<meta http-equiv=\"refresh\" content=\"0;URL=$homepage\">";
} else {
echo "Non è stato possibile caricare l'immagine<br />";
echo "<a href=\"form.php\" >Torna</a>";
}
} else {
get_error($tmp, $type, $size, $max_size);
}
?>
dunque come fa ad essere vuota?
Ma non puoi mandare l'altro codice html per la modifica della foto?
Almeno provo diversamente no?
provo a scrivere altro... dunque, tu stai usando una registrazione manuale... la procedura ultima che giorgio ha creato, quella con la scritta cambia immagine sotto la foto, invece è per la registrazione automatica su db...
quindi secondo me dovresti scindere le due cose... angelo del cielo che si è registrato prima sono io... e ti ho inviato una immagine... l'utente lo aggiorni con website ma l'immagine non la mandare nella cartella foto con website, usa filezilla, cambiandone il nome come il nome utente...
________________
credo che la procedura con la pagina form.php e upload.php per te non servano... e le puoi togliere in quanto la foto te la fai mandare con il form di registrazione e poi fai i passaggi in manuale come ti ho detto io scindendo le due azioni tra utente e foto...
Author
Skeggia ripeto un'altra volta:
Io accedendo al sito e inserendo nome utente e password in alto a destra mi compare la foto Default, il nome utente e la scritta "Cambia l'Immagine" io non ho il codice php che avete voi cioè quello che andando con il mouse sulla foto vi compare la scritta "Clicca l'immagine per cambiarla" Può centrare qualcosa?
Giorgio non so perché ha modificato quel codice che a me piaceva tanto quello dove compariva la scritta Cambia l'immagine, comunque leggi cosa ci eravamo detti in precedenza:
"Grazie Giorgio! Il problema è che io ho impostato la registrazione manuale che è molto meglio rispetto a quella automatica perché si possono inserire per esempio dati come la città, la provincia di residenza, ecc cose che in quella automatica (non capisco perché hanno fatto così) non compaiono.
C'è un modo anche con la registrazione manuale per far inserire la foto all'utente che si registra e la vede (solo lui) accedendo con i suoi dati?
Certo! Con la registrazione automatica era più facile, ma è ugale devi solo fare il passaggio di validazione dei dati
Come avrai visto dal codice, non lavora sul datapase ma sui dati pescati da access.inc.php"
Io preferisco appunto sempre la registrazione manuale perché ho più controllo.
C'è un modo per usare la registrazione manuale? Penso di si dopo le cose che ha detto Giorgio oppure non potrebbe o anche tu Skeggia mandarmi il codice php anche se non sono sicuro se ce l'ho già?
france' me la fai sta prova o no? carica la foto che ti ho mandato come angelo del cielo manualmente senza website nella cartella foto rinominandola come l'user... quando lo hai fatto fai un fischio che riaccedo per vedere se l'ha cambiata...
Author
Già fatto ed ho guardato anch'io ma niente resta sempre quella di default! Prova tu!
mi dici il nome con cui hai rinominato la foto?
Author
Su Filezilla nella cartella "public" (che ho anche creato in Gestione Dati su Website x5 Professional 13) ho copiato la tua foto rinominandola con "angelo.delcielo.jpg"
io ho esaurito gli argomenti... credo comunque che il problema sia la registrazione manuale che non riesce ad accoppiare il nome utente con la foto... credo... aspetta che ripassi qui giorgio... ciao
Author
Io ora ho rimesso la registrazione automatica Skeggia!
Scusate che non riesco a intervenire sono al lavoro... in auto..
Comunque l' accrocchio di codici funziona sia con registrazione Manuale che auto in quanto pesca i dati di login, perciò basta essere registrato.
Magari, Francesco prova prima con un progetto nuovo e vedi la logica. Prendi lo spazio su Altervista, fai le tue prove, e poi le applichi al tuo sito
ora ti fa entrare ma dice che l'account non è ancora attivato...
Author
Infatti e per attivarlo non ricordo più cosa bisogna fare!
devi andare in gestione accessi, scaricare gli utenti e riesportare solo le ultime modifiche...
Author
Fatto tutto, ma anche provando con la registrazione manuale se provo a inviare una foto per modificarla e cliccando su Invia si apre sempre una pagina web vuota. Mi die che pagina si dovrebbe aprire invece?
Non potete darmi anche il codice php per far modificare la foto passando con il mouse sulla foto? Io ho ancora l'altra che Giorgio poi ha appunto modificato. Secondo me sarà per questo forse per cui non mi funziona!
Author
Scusate dicevo provandO con LA REGISTRAZIONE AUTOMATICA
Author
Specifico anche che comunque modificando la foto, cliccando su Invio, (il form devo averlo se no come fanno a cambiare la foto e a inviarla?) aprendosi la pagina web vuota, non mi arriva l'email per far cambiare la foto all'utente.
Secondo me c'è qualcosa che non riesco a capire io e voi forse non riuscite a vedere cosa manca!
Ok nella tua pagina upload.php manca del codice ... cancella il contenuto e rimettilo copiandolo in modo corretto.
Ciao
allora, credo di aver capito... se hai deciso di fare la registrazione manuale devi fare questi passaggi, seguendo i post di giorgio #22 e #23 qui sopra e basta...
1) inserisci l'oggetto html dove all'interno metterai il codice del post 22 che ti riporto sotto:
fatto? dopodichè quando ricevi la mail di richiesta registrazione, vai in gestione accessi, clicchi su "gruppo 1" e poi a destra su "Nuovo utente"...
inserisci tutti i dati etichetta, username, password...
dopo aver inserito l'utente esporta il sito...
con filezilla carica la foto che hai ricevuto e rinominato con il nome utente nella cartella "foto"...
Purtroppo con la registrazione manuale questi passaggi sono "obbligatori", cioè inserimento dell'utente in gestione dati e poi l'esportazione dell'utente. Dopodichè l'esportazione con filezilla della foto rinominata... Ogni volta che qualcuno si registra... Spero stavolta di essere stato chiaro... L'ho provata io questa procedura e funziona... A riveder le stelle...
Author
Giorgio dimmi se il codice è giusto perché io ho ancora quello dove compare la scritta Cambia l'immagine perché non mi hai mandato ancora il codice php che hai cambiato! Puoi darmelo?
<?php
function check_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
break;
case "image/gif":
return false;
break;
default:
return false;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
default:
return false;
break;
}
}
function get_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return ".jpg";
break;
case "image/jpeg":
return ".jpg";
break;
case "image/gif":
return false;
break;
default:
return false;
break;
}
}
function get_error($tmp, $type, $size, $max_size) {
if(!is_uploaded_file($tmp)) {
echo "File caricato in modo non corretto<br />";
}
if(!check_ext($type)) {
echo "Estensione del file non ammesso<br />";
}
if($size > $max_size) {
echo "Dimensione del file troppo grande<br />";
}
echo "<a href= \"form.php\" >Torna indietro</a>";
}
$homepage=$imSettings['general']['homepage_url'];
$qfolder = $imSettings['general']['public_folder'];
$tmp = $_FILES['image']['tmp_name'];
$type = $_FILES['image']['type'];
$size = $_FILES['image']['size'];
$max_size = 200000;
if(is_uploaded_file($tmp) && check_ext($type) && $size <= $max_size) {
$ext = get_ext($type);
$foto = $qfolder."/KillePille".$dati['username'].$ext;
if(move_uploaded_file($tmp,$foto)) {
echo "Immagine caricata con successo
<meta http-equiv=\"refresh\" content=\"0;URL=$homepage\">";
} else {
echo "Non è stato possibile caricare l'immagine<br />";
echo "<a href=\"form.php\" >Torna</a>";
}
} else {
get_error($tmp, $type, $size, $max_size);
}
?>
Ora se Giorgio mi risponde provo a fare come dici anche tu Skeggia!
no sbaglio, c'era tutto il codice in upload, per il cambia immagine il codice è dell'header, ma va bene anche quello, ho solo messo un css e traformato l'immagine in pulsante. Al lato pratico funziona uguale
Io non ho abbstanza conoscenze, ma probabilmente c'è qualcosa in quella pagina che la mette in blocco e perciò non funziona come ti ha già detto Stesil.
Prova a fare come ti ho detto un piccolo progettino con solo quelle pagine e vedi se ti funziona.
Poi lo implementi nel tuo sito.
Author
Giorgio ma non puoi rimandare il codice php così vedo con il css che trasforma l'immagine in pulsante? Provo con quello magari risolvo tutto no?
Come vuoi ma secondo me ti incasini ulteriormente...
codice header:
<?php
require_once("res/x5engine.php");
require_once("res/x5settings.php");
require_once("res/access.inc.php");
$qfolder = $imSettings['general']['public_folder'];
$n = "";
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
If($dati)
{
$foto = $qfolder . "/KillePille". $dati['username'] . ".jpg";
If (!is_file($foto))
{$foto=$qfolder."/default.jpg";}
echo "Utente: ".$dati['realname']."<br><div class=\"caption\"><a href=\"form.php\"><img src=$foto?\"$n\" height=\"85\" alt=\"\" onclick=\"return x5engine.utils.location('form.php', null, false)\"> </a> <br>
<span> <strong>Clicca l'immagine per cambiarla</strong> </span></div>";
}
?>
css:
.caption span {
display: none;
}
.caption span strong {
font-weight: bold;
font-size: 11px;
text-transform: uppercase;
padding-bottom: 5px;
display: block;
}
.caption:hover span
{
display: block;
}
Author
Grazie ora vedo se utilizzarlo o no. Ma secondo te se faccio come ha detto Skeggia risolvo tutto? Lui ha scritto questo:
allora, credo di aver capito... se hai deciso di fare la registrazione manuale devi fare questi passaggi, seguendo i post di giorgio #22 e #23 qui sopra e basta...
1) inserisci l'oggetto html dove all'interno metterai il codice del post 22 che ti riporto sotto:
Giorgio C. Per prima cosa imposta la registrazione automatica degli utenti al passo 1>>avanzate>>gestione accessi>>impostazioni>>registrazione automatica Poi imposta il progetto in modo che abbia tutte le pagine php (punto 3>>proprietà>>esperto>>estensione del file>>php Poi inserisci nell'Header un oggetto "codice html" nel quale incollerai il seguente codice: <?php require_once("res/x5engine.php"); require_once("res/x5settings.php"); require_once("res/access.inc.php"); $pa = Configuration::getPrivateArea(); $dati = $pa->whoIsLogged(); If($dati) {echo "Benvenuto ".$dati['realname']."<br>"; $foto="foto/".$dati['username'].".jpg"; If (!is_file($foto)) {$foto="foto/default.jpg";} echo "<br>"; echo "<img src=$foto height=\"100\" >";} ?> Sotto a questo oggetto inserisci l'oggetto "logout" a questo punto imposta le pagine che vuoi che siano protette e l'oggetto "login" (io l'ho messo nella home page) al passo 1, gestione dati inserisci la cartella "foto" in Cartella con permessi di scrittura" pubblica il sito ma prima crea nella root principale una cartella che chiamerai "foto" nella quale metterai una immagine che chiamerai default.jpg (attenzione tutto minuscolo!!!)
fatto? dopodichè quando ricevi la mail di richiesta registrazione, vai in gestione accessi, clicchi su "gruppo 1" e poi a destra su "Nuovo utente"...
inserisci tutti i dati etichetta, username, password...
dopo aver inserito l'utente esporta il sito...
con filezilla carica la foto che hai ricevuto e rinominato con il nome utente nella cartella "foto"...
Purtroppo con la registrazione manuale questi passaggi sono "obbligatori", cioè inserimento dell'utente in gestione dati e poi l'esportazione dell'utente. Dopodichè l'esportazione con filezilla della foto rinominata... Ogni volta che qualcuno si registra... Spero stavolta di essere stato chiaro... L'ho provata io questa procedura e funziona... A riveder le stelle...
Skeggia è uno che se ne intende.
Se non funziona fai da zero
Author
Intendi che devo rifare tutto il sito da capo?
...in quella pagina ci sono gli adv di Facebook, tra le altre cose ...
Author
Cosa centrano Claudio? Danno fastidio? Devo spostarli? Il codice Html o Php non richiedono una super grandezza
non credi?
Dimmi i consigli da fare e provo!
Author
Cmq seguendo le istruzioni di Skeggia
"allora, credo di aver capito... se hai deciso di fare la registrazione manuale devi fare questi passaggi, seguendo i post di giorgio #22 e #23 qui sopra e basta...
1) inserisci l'oggetto html dove all'interno metterai il codice del post 22 che ti riporto sotto:
Giorgio C. Per prima cosa imposta la registrazione automatica degli utenti al passo 1>>avanzate>>gestione accessi>>impostazioni>>registrazione automatica Poi imposta il progetto in modo che abbia tutte le pagine php (punto 3>>proprietà>>esperto>>estensione del file>>php Poi inserisci nell'Header un oggetto "codice html" nel quale incollerai il seguente codice: <?php require_once("res/x5engine.php"); require_once("res/x5settings.php"); require_once("res/access.inc.php"); $pa = Configuration::getPrivateArea(); $dati = $pa->whoIsLogged(); If($dati) {echo "Benvenuto ".$dati['realname']."<br>"; $foto="foto/".$dati['username'].".jpg"; If (!is_file($foto)) {$foto="foto/default.jpg";} echo "<br>"; echo "<img src=$foto height=\"100\" >";} ?> Sotto a questo oggetto inserisci l'oggetto "logout" a questo punto imposta le pagine che vuoi che siano protette e l'oggetto "login" (io l'ho messo nella home page) al passo 1, gestione dati inserisci la cartella "foto" in Cartella con permessi di scrittura" pubblica il sito ma prima crea nella root principale una cartella che chiamerai "foto" nella quale metterai una immagine che chiamerai default.jpg (attenzione tutto minuscolo!!!)
fatto? dopodichè quando ricevi la mail di richiesta registrazione, vai in gestione accessi, clicchi su "gruppo 1" e poi a destra su "Nuovo utente"...
inserisci tutti i dati etichetta, username, password...
dopo aver inserito l'utente esporta il sito...
con filezilla carica la foto che hai ricevuto e rinominato con il nome utente nella cartella "foto"...
Purtroppo con la registrazione manuale questi passaggi sono "obbligatori", cioè inserimento dell'utente in gestione dati e poi l'esportazione dell'utente. Dopodichè l'esportazione con filezilla della foto rinominata... Ogni volta che qualcuno si registra... Spero stavolta di essere stato chiaro... L'ho provata io questa procedura e funziona... A riveder le stelle..."
funziona (l'avevo già fatto) ma non compare l'opzione per modificare la foto all'utente perché non c'è il codice php che lo permette di fare!
non so se danno fastidio , ma visto che solo a te non funziona...
ti hanno già detto di provare su un mini progetto nuovo ... senza codice extra , così ti rendi conto se funziona...
Author
Ma per creare un mini progetto per vedere se funziona devo poi pubblicarlo?
...ovviamente si , il PHP funziona solo online ...
e poi altrimenti come faresti con le registrazioni ...
Author
Ma è possibile creare lo stesso progetto inserendo l'url del sito uguale, ecc? Facendo così scusa che pagina si apre e quante pagine si possono vedere? Questo non l'ho mai fatto dunque chiedo
devi pubblicare in una sottocartella , o come ti è stato già suggerito su altervista per provare...
Author
Stesil ieri mi ha detto questo "Francesco: sul tuo server non sono visualizzabili gli errori php, a nessun livello, e questo rende arduo capire cosa stai sbagliando. Se posti il file upload.php che hai sul server qualcuno riuscirà ad aiutarti." Glirl'ho mandato (si vede anche qui) e tu Claudio non riesci a vedere?
Ho provato il tuo file su Xampp e funziona, quindi il codice, in sé, non contiene errori. Però sul tuo server dava (perché ora non c'è più) errore 500, che è un errore generico del server che non riesce, per qualche motivo, a gestire quella pagina.
Puoi visualizzare, se disponibile, il log degli errori del server e capire da cosa può dipendere. Hai per caso fatto modifiche al file htaccess? O hai modificato i permessi ai file/cartelle?
Author
Al file htaccess ho solo aggiunto il comando per Reindirizzare il sito su www.iltuodominio.com e ho aggiunto l'altro per Riscrivere tutto su HTTPS ma l'ho fatto molto prima di iniziare a inserire i codici php!
Dunque?
Author
Ma per ora li ho tolti!
Dunque: visto che quella pagina dà errore sul tuo server è altamente probabile che la causa vada cercata sul tuo server. Una errata manipolazione del file htaccess potrebbe essere una causa. Una. Ti ripeto: hai la possibilità di vedere il log degli errori?
E comunque, per verificare che sia davvero il server il problema, perché non segui il suggerimento che ti hanno dato Claudio, Skeggia e Giorgio? Prova con un progettino semplice su un altro server come Altervista così puoi verificare se effettivamente funziona. Servono 10 minuti per farlo.
Author
Non sono capace ad usare Altervista. non so i passaggi e non so come usare contemporaneamente Altervista con Website perché non so cosa devo inserire come Url, ecc.
In queste cose non sono esperto. Se tu mi dai una mano o mi spieghi come si fa ci provo!
Author
Come faccio a sapere se posso vedere il log degli errori? Dove devo guardare?
...scusa se insisto ma nel tuo sito "assistenza informatica" ...a che titolo daresti assistenza ?
...oltre che chiedere sempre ad ogni minimo intoppo , potresti anche fare "due ricerche" online ... e qui con questo "invito" chiudo definitivamente la parentesi.
Comunque :
Pannello di controllo dell'host (mi pare di vedere che sei su One)
...lo stesso dicasi di Altervista, è un host come un altro ...
Author
Ok fatto e dopo ciò per vedere se ci sono errori?
Author
Ho provato a rifare tutto da capo, ma ora quando inserisco la foto e clicco su Invia compare il seguente messaggio
Fatal error: Switch statements may only contain one default clause in /customers/9/f/0/risoluzionepc.it/httpd.www/upload.php on line 222
Cosa vuol dire, dov'è l'errore e cosa devo fare?
Salve potete inviare tutto questo codice a quellidelcucuzzolo così da poter pubblicare un bell'articolo esauriente?
Grazie!
L'errore parla da sé: nella funzione check_ext()come segnalato da stesil, ci sono delle ripetizioni e, in questo caso, la clausola default deve essere univoca.
Nel tuo server hai PHP versione 7.1.1 che è più restrittiva rispetto alle versioni precedenti:
http://php.net/manual/en/control-structures.switch.php
Quindi rimovi le ripetizioni.
@SitiWeb App
"quellidelcucuzzolo" lo hanno visto, non occorre inviarlo
@Lemonsong, siccome vi volevo inviare una email cliccando su email dal sito http://quellidelcucuzzolo.altervista.org/ ma non funziona il link
Author
lemonsong ma per rimuovere le ripetizioni si fa sul sito del server?
No, da programma (ti allego una tua schermata).
E naturalmente esporti.
@SitiWeb App
Appena provato, il link funziona.
Comunque la mail la trovi anche nel blog in alto a destra o nel mio profilo.
Author
Ok lemonsong e dunque dovrei eliminare ciò che hai evidenziato in rosso (il rettangolo)?
Author
Sto provando a cambare la foto sul sito ma stavolta quando scelgo la foto e clicco su Invia dice "Dimensione del file troppo grande"
Forse ci sono quasi perché fino a ieri non mi diceva ciò.
Ma dove devo correggere ora?
che la dimensione dell'immagine deve essere di piccoli dimensioni (forse non superiore di 1 mb)
Author
Ho provato con una foto di Windows da 581KB ma dice sempre che le dimensioni del file è troppo grande, ho provato con una mia foto da 58KB ed è andata, ma non c'è il modo per permettere di inserire una foto almeno massimo di 1MB?
Come si fa? Penso che bisogna utilizzare o modifcare qualcosa in website x5 professional 13 non so se nell'upload!
Qualcuno lo sa?
no website non c'entra: è il file php. Aspetta che vedo
devi modificare il valore della variabile
$max_size = 200000;
nel file upload.php
cmq se lo script rinominasse le foto in base all'userid, penso che non ci siano problemi tra registrazione automatica o manuale...
Grazie per la correzione @Lemosong, (errore che tra l'altro mi aveva già segnalato @Stesil ma non avevo sistemato).
Mi sono entrate doppie in quanto stavo tribolando per cercare di abilitare all'upload anche i formati gif e soprattutto png senza dover per forza utilizzare il databese in modo che anche chi non lo utilizza poteva usare questo esempio.
Una soluzione l'ho trovata e funziona ma non è per nulla elegante...
Si tratta di cancellare preventivamente ogni possibile immagine legata all'user loggato prima dell'invio della nuova:
....
if(is_uploaded_file($tmp) && check_ext($type) && $size <= $max_size) {
$foto = $qfolder."/KillePille".$dati['username'];
//aggiungo i prefissi e li cancello
unlink($foto.".jpg");
unlink($foto.".png");
unlink($foto.".gif");
//metto il prefisso giusto e la salvo
$ext = get_ext($type);
$foto = $foto.$ext;
if(move_uploaded_file($tmp,$foto))
{.......
Mentre per la visualizzazzione:
....
If($dati)
{
$foto = $qfolder . "/KillePille". $dati['username'] . ".jpg";
If (!is_file($foto))
{$foto = $qfolder . "/KillePille". $dati['username'] . ".gif";}
If (!is_file($foto))
{$foto = $qfolder . "/KillePille". $dati['username'] . ".png";}
If (!is_file($foto))
{$foto=$qfolder."/default.jpg";}
.....
Cosa ne dici?
http://www.ws5.altervista.org/B/index.php
Author
Era per questo allora che non mi funzionava! Grazie Lemosong
Author
Volevo sapere se era possibile togliere la parola "form" che non sembra una buona visuale per l'utente o magari nasconderla (ma solo questa e non nascondere le parole in tutte le pagine)?
Author
Non capisco però perché io ho prima la "foto" e sotto il "Benvenuto Utente". E' possibile invertire?
Non è possibile pure rimpicciolire la parola "Cambia Utente"?
Questo è il codice php che ho
<?php
require_once("res/x5engine.php");
require_once("res/x5settings.php");
require_once("res/access.inc.php");
$qfolder = $imSettings['general']['public_folder'];
$n = "";
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
If($dati)
{
$foto = $qfolder . "/KillePille". $dati['username'] . ".jpg";
//$foto="foto/".$dati['username'].".jpg";
If (!is_file($foto))
{$foto=$qfolder."/default.jpg";}
echo "<img src=$foto?\"$n\" height=\"85\"><br>Benvenuto ".$dati['realname']."<br>
<a href=\"form.php\" onclick=\"return x5engine.utils.location('form.php', null, false)\">Cambia l'immagine</a><br>
<!-- Private Area.Logout: START -->
<span class=\"imLogout\" style=\"font-weight: bold; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000\"></span>
<!-- Private Area.Logout: END -->";
}
?>
Qualcuno sa se c'è un modo?
Author
Scusate intendevo la parola "Cambia l'immagine"
Author
Giorgio il seguente codice php che mi hai mandato non va. Puoi mandarmi quello corretto per il cambio immagine passando sulla foto con il mouse?
<?php
require_once("res/x5engine.php");
require_once("res/x5settings.php");
require_once("res/access.inc.php");
$qfolder = $imSettings['general']['public_folder'];
$n = "";
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
If($dati)
{
$foto = $qfolder . "/KillePille". $dati['username'] . ".jpg";
If (!is_file($foto))
{$foto=$qfolder."/default.jpg";}
echo "Utente: ".$dati['realname']."<br><div class=\"caption\"><a href=\"form.php\"><img src=$foto?\"$n\" height=\"85\" alt=\"\" onclick=\"return x5engine.utils.location('form.php', null, false)\"> </a> <br>
<span> <strong>Clicca l'immagine per cambiarla</strong> </span></div>";
}
?>
css:
.caption span {
display: none;
}
.caption span strong {
font-weight: bold;
font-size: 11px;
text-transform: uppercase;
padding-bottom: 5px;
display: block;
}
.caption:hover span
{
display: block;
}
Abbiamo trovato questo modo alternativo che ti allego.
Provalo.
Aggiongo che provvisoriamente abbiamo tolto dall'output la variabile $n che però è rimasta dichiarata.
Author
Lemonsong ho provato e si funziona, ma sai se c'è il modo dove c'è "Benvenuto Nome Utene" (l'ho modificato io invece di "Utente:") di cambiare colore e anche su "Clicca l'immagine per cambiarla"? Perché a me mette lo stesso colore che ho impostato in Modello. Personalizzazione, Stile Testi, Testo della Pagina?
Aspetto che tu o qualcun'altro abbia una soluzione. Grazie!
Author
O forse bisognerebbe avere un'altro codice php?
ci vuole un codice css da associare ai tag html
puoi scrivere tutti i passsaggi e i codici corretti così lo provo e inserisco il codice di formattazione giusto?
dimmi che colori vuoi
Author
SitiWeb magari il "Benvenuto NomeUtente" di colore blu e il "Clicca l'immagine per cambiarla" di colore verde scuro. Puoi però farmi rimpicciolire (basta che sia abbastanza visibile) appunto quest'ultima scritta cioè "Clicca l'immagine per cambiarla"?
Perfetto Lemonsong, la variabile $n riempita con numero sempre diverso time(), serve ad ingannare la cache, non cambiando il nome del file infatti il Browser pesca dallla memoria e non la cambia se non dopo un ulteriore reload.
Grazie ancora e Buona Pasqua!
Certo, è un buon metodo per la cache.
L'abbiamo rimossa dall'output perché il meta-tag redirect dopo il cambio immagine ci è sembrato sufficiente.
Buona Pasqua anche a te e a tutti gli utenti di X5 Help Center.
Author
Lemonsong sai tu se si può far cambiare colore a "Benvenuto NomeUtente" di colore blu e il "Clicca l'immagine per cambiarla" di colore verde scuro? Si può anche far rimpicciolire (basta che sia abbastanza visibile) appunto quest'ultima scritta cioè "Clicca l'immagine per cambiarla"?
Se lo sai me lo puoi dire? Grazie
Certo che te lo dico: se non ti è sufficiente la classe attribuita al div che contiene il link, l'immagine e la scritta "Clicca l'immagine per cambiarla" (.caption) puoi modificare l'output (echo "bla bla bla") oppure racchiudere il codice PHP con un div a cui assegnerai una classe o id.
Poi, con i CSS formatti quello che vuoi.
Author
Lemonsong io ho questo codice nell'Header:
<?php
require_once("res/x5engine.php");
$qfolder = $imSettings['general']['public_folder'];
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
//controllo esistenza immagine personalizzata
if ($dati) {
$avatar = glob($qfolder . "/avatar-" . $dati['username'] . ".*");
if (empty($avatar))
$foto = $qfolder . "/default.jpg";
else
$foto = $avatar[0];
echo "Benvenuto/a " . $dati['realname'] . "<br /><div class=\"caption\"><a href=\"form.php\"><img src=\"$foto\" height=\"30\" alt=\"\" onclick=\"return x5engine.utils.location('form.php', null, false)\"></a><br /><span><strong>Clicca l'immagine per cambiarla</strong></span></div>";
}
?>
dunque cosa dovrei cambiare come codici?
Purtroppo non basta se il cambio immagine avviene tra due immagini dello stesso tipo, da jpg a jpg.
Author
Qualcuno può rispondermi?
per il blu inserisci la parte in grassetto nell'header
echo "<p style=\"color:blue;\">Benvenuto/a " . $dati['realname'] . "</p><br />
per il verde sostituisci questa caption nel css
.caption span strong {
font-weight: bold;
font-size: 11px;
color: green;
text-transform: uppercase;
padding-bottom: 5px;
display: block;
}
OK, allora mi permetto di segnalarti un piccolo errore nell'attributo src (vedi allegato).
Correggi la sintassi nell'output.
Grazissime.
Ok ho aggiornato con i tuoi consigli: adesso è proprio bello! (il codice)
Author
Giorgio e perché non lo dai il codice?
Author
Ragazzi non ci sto capendo più niente!
Potete mandare il codice php sia dell'Header che dell'upload ma almeno corretti?
Grazie
@Francesco , non essere insistente ... appena può te lo posta ...
glielo hai già chiesto ...
... ma è quello che ha postato lemonsong!
La correzione era nel mio vecchio codice.
Ciao
Author
Ma allora Giorgio questo che mi hai mandato
"per il blu inserisci la parte in grassetto nell'header
echo "<p style=\"color:blue;\">Benvenuto/a " . $dati['realname'] . "</p><br />
per il verde sostituisci questa caption nel css
.caption span strong {
font-weight: bold;
font-size: 11px;
color: green;
text-transform: uppercase;
padding-bottom: 5px;
display: block;"
lo devo inserire nell'header di Giorgio che sarebbe questo?
<?php
require_once("res/x5engine.php");
$qfolder = $imSettings['general']['public_folder'];
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
//controllo esistenza immagine personalizzata
if ($dati) {
$avatar = glob($qfolder . "/avatar-" . $dati['username'] . ".*");
if (empty($avatar))
$foto = $qfolder . "/default.jpg";
else
$foto = $avatar[0];
echo "Utente: " . $dati['realname'] . "<br /><div class=\"caption\"><a href=\"form.php\"><img src=\"$foto\" height=\"85\" alt=\"\" onclick=\"return x5engine.utils.location('form.php', null, false)\"></a><br /><span><strong>Clicca l'immagine per cambiarla</strong></span></div>";
}
?>
Dove lo devo inserire scusa? Puoi mandarmi il codice completo come dovrebbe venire?
sono per modificare i colori
Author
Si lo so appunto ma devo inserirli nell'Header ma dove?
Il css nel'header >oggetto codice>esperto.
mentre l'altro lo inserisci al punto giusto nella pagina upload cerchi il punto dove c'è Benvenuto ecc... mi raccomando la /p di chiusura.
Author
Ma qual'è il codice completo del css da inserire nell'Hedaer oggetto codice esperto a parte questo?
.caption span strong {
font-weight: bold;
font-size: 11px;
color: green;
text-transform: uppercase;
padding-bottom: 5px;
display: block;"
Author
Riuscito per il css, ma questo
echo "<p style=\"color:blue;\">Benvenuto/a " . $dati['realname'] . "</p><br />
non so dove inserirlo perché nell'upload non c'è il punto "Benvenuto ecc..
L'upload di Lemonsong è il seguente:
function get_ext($tipo)
{
switch ($tipo) {
case "image/png":
return ".png";
break;
case "image/jpg":
return ".jpg";
break;
case "image/jpeg":
return ".jpg";
break;
case "image/gif":
return ".gif";
break;
default:
return false;
break;
}
}
function get_error($tmp, $type, $size, $max_size)
{
if (!is_uploaded_file($tmp)) {
echo "File caricato in modo non corretto<br />";
}
if (!check_ext($type)) {
echo "Estensione del file non ammesso<br />";
}
if ($size > $max_size) {
echo "Dimensione del file troppo grande<br />";
}
echo "<a href= \"form.php\" >Torna indietro</a>";
}
$homepage = $imSettings['general']['homepage_url'];
$tmp = $_FILES['image']['tmp_name'];
$type = $_FILES['image']['type'];
$size = $_FILES['image']['size'];
$max_size = 200000;
if (is_uploaded_file($tmp) && check_ext($type) && $size <= $max_size) {
//cancello immagine precedentemente caricata
if ($foto != $qfolder . "/default.jpg")
unlink($foto);
$ext = get_ext($type);
$newfoto = $qfolder . "/avatar-" . $dati['username'] . $ext;
if (move_uploaded_file($tmp, $newfoto)) {
echo "Immagine caricata con successo
<meta http-equiv=\"refresh\" content=\"1;URL=$homepage\">";
} else {
echo "Non è stato possibile caricare l'immagine<br />";
echo "<a href=\"form.php\">Torna</a>";
}
} else {
get_error($tmp, $type, $size, $max_size);
}
?>
e non c'è!
Stai facendo un pò di confusioni credo anche perché ora hai detto di inserire l'altro (non riesco a capire cosa) nell'upload mentre ieri hai detto invece:
per il blu inserisci la parte in grassetto nell'header
echo "<p style=\"color:blue;\">Benvenuto/a " . $dati['realname'] . "</p><br />
Puoi spiegarti meglio dove devo inserire questo codice esattamente? Magari manda una foto così si capisce meglio.
Grazie.
Ciao Francesco, scusami se non ti ho risposto ieri ma ero in giro e non potevo.
Allora per la riga fi benvenuto non la trovi nell'upload ma in un'altra pagina php che è quella di sopra in grassetto.
Il codice CSS è completo così come è.
Potresti gentilmente riepilogare tutto il codice funzionante che hai scritto passo passo?
Grazie!
Author
Allora io nell'Header ho questo codice php
<?php
require_once("res/x5engine.php");
require_once("res/x5settings.php");
require_once("res/access.inc.php");
$qfolder = $imSettings['general']['public_folder'];
$n = "";
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
If($dati)
{
$foto = $qfolder . "/KillePille". $dati['username'] . ".jpg";
//$foto="foto/".$dati['username'].".jpg";
If (!is_file($foto))
{$foto=$qfolder."/default.jpg";}
echo "<img src=$foto?\"$n\" height=\"85\"><br>Benvenuto ".$dati['realname']."<br>
<a href=\"form.php\" onclick=\"return x5engine.utils.location('form.php', null, false)\">Cambia l'immagine</a><br>
<!-- Private Area.Logout: START -->
<span class=\"imLogout\" style=\"font-weight: bold; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000\"></span>
<!-- Private Area.Logout: END -->";
}
?>
e come Upload ho questo
<?php
function check_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
break;
case "image/gif":
return false;
break;
default:
return false;
break;
}
}
function get_ext($tipo) {
switch($tipo) {
case "image/png":
return false;
break;
case "image/jpg":
return ".jpg";
break;
case "image/jpeg":
return ".jpg";
break;
case "image/gif":
return false;
break;
default:
return false;
break;
}
}
function get_error($tmp, $type, $size, $max_size) {
if(!is_uploaded_file($tmp)) {
echo "File caricato in modo non corretto<br />";
}
if(!check_ext($type)) {
echo "Estensione del file non ammesso<br />";
}
if($size > $max_size) {
echo "Dimensione del file troppo grande<br />";
}
echo "<a href= \"form.php\" >Torna indietro</a>";
}
$homepage=$imSettings['general']['homepage_url'];
$qfolder = $imSettings['general']['public_folder'];
$tmp = $_FILES['image']['tmp_name'];
$type = $_FILES['image']['type'];
$size = $_FILES['image']['size'];
$max_size = 800000;
if(is_uploaded_file($tmp) && check_ext($type) && $size <= $max_size) {
$ext = get_ext($type);
$foto = $qfolder."/KillePille".$dati['username'].$ext;
if(move_uploaded_file($tmp,$foto)) {
echo "Immagine caricata con successo
<meta http-equiv=\"refresh\" content=\"0;URL=$homepage\">";
} else {
echo "Non è stato possibile caricare l'immagine<br />";
echo "<a href=\"form.php\" >Torna</a>";
}
} else {
get_error($tmp, $type, $size, $max_size);
}
?>
solo che accedendo per il "Cambia l'immagine" ok funziona ma io come ho detto prima volevo invertire il testo cioè prima "Benvenuto Utente" e sotto la foto.
Ho fatto come ha detto Giorgio e ho messo il codice php nell'Header di Lemonsong cioè
<?php
require_once("res/x5engine.php");
$qfolder = $imSettings['general']['public_folder'];
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
//controllo esistenza immagine personalizzata
if ($dati) {
$avatar = glob($qfolder . "/avatar-" . $dati['username'] . ".*");
if (empty($avatar))
$foto = $qfolder . "/default.jpg";
else
$foto = $avatar[0];
echo "Utente: " . $dati['realname'] . "<br /><div class=\"caption\"><a href=\"form.php\"><img src=\"$foto\" height=\"85\" alt=\"\" onclick=\"return x5engine.utils.location('form.php', null, false)\"></a><br /><span><strong>Clicca l'immagine per cambiarla</strong></span></div>";
}
?>
e come upload questo
<?php
function check_ext($tipo)
{
switch ($tipo) {
case "image/png":
return true;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
break;
case "image/gif":
return true;
break;
default:
return false;
break;
}
}
function get_ext($tipo)
{
switch ($tipo) {
case "image/png":
return ".png";
break;
case "image/jpg":
return ".jpg";
break;
case "image/jpeg":
return ".jpg";
break;
case "image/gif":
return ".gif";
break;
default:
return false;
break;
}
}
function get_error($tmp, $type, $size, $max_size)
{
if (!is_uploaded_file($tmp)) {
echo "File caricato in modo non corretto<br />";
}
if (!check_ext($type)) {
echo "Estensione del file non ammesso<br />";
}
if ($size > $max_size) {
echo "Dimensione del file troppo grande<br />";
}
echo "<a href= \"form.php\" >Torna indietro</a>";
}
$homepage = $imSettings['general']['homepage_url'];
$tmp = $_FILES['image']['tmp_name'];
$type = $_FILES['image']['type'];
$size = $_FILES['image']['size'];
$max_size = 200000;
if (is_uploaded_file($tmp) && check_ext($type) && $size <= $max_size) {
//cancello immagine precedentemente caricata
if ($foto != $qfolder . "/default.jpg")
unlink($foto);
$ext = get_ext($type);
$newfoto = $qfolder . "/avatar-" . $dati['username'] . $ext;
if (move_uploaded_file($tmp, $newfoto)) {
echo "Immagine caricata con successo
<meta http-equiv=\"refresh\" content=\"1;URL=$homepage\">";
} else {
echo "Non è stato possibile caricare l'immagine<br />";
echo "<a href=\"form.php\">Torna</a>";
}
} else {
get_error($tmp, $type, $size, $max_size);
}
?>
ok ha messo prima il "Nome Utente" e sotto la foto (ciò che volevo) ma cliccando sulla foto per cambiarla non fa niente.
Potete vedere cosa manca o cosa ho dimenticato? In più come ho detto prima volevo cambiare pure il colore di "Utente: Nome Utente". Qualcuno può darmi tutti i codici php corretti da inserire e/o controllare se ho qualche errore nei codici sul sito?
Grazie.
Author
Ora comunque sono riuscito e funziona tutto. Vi mando i codici che ho ora
Come codice HTML nell'Header ho questo:
<?php
require_once("res/x5engine.php");
$qfolder = $imSettings['general']['public_folder'];
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
//controllo esistenza immagine personalizzata
if ($dati) {
$avatar = glob($qfolder . "/avatar-" . $dati['username'] . ".*");
if (empty($avatar))
$foto = $qfolder . "/default.jpg";
else
$foto = $avatar[0];
echo "Benvenuto/a " . $dati['realname'] . "<br /><div class=\"caption\"><a href=\"form.php\"><img src=\"$foto\" height=\"85\" alt=\"\" onclick=\"return x5engine.utils.location('form.php', null, false)\"></a><br /><span><strong>Clicca l'immagine per cambiarla</strong></span></div>";
}
?>
Come codice HTML esperto nell'Header ho questo:
css:
.caption span {
display: none;
}
.caption span strong {
font-weight: bold;
font-size: 11px;
color: green;
text-transform: uppercase;
padding-bottom: 5px;
display: block;
}
.caption:hover span
{
display: block;
}
e come Upload ho questo:
<?php
function check_ext($tipo)
{
switch ($tipo) {
case "image/png":
return true;
break;
case "image/jpg":
return true;
break;
case "image/jpeg":
return true;
break;
case "image/gif":
return true;
break;
default:
return false;
break;
}
}
function get_ext($tipo)
{
switch ($tipo) {
case "image/png":
return ".png";
break;
case "image/jpg":
return ".jpg";
break;
case "image/jpeg":
return ".jpg";
break;
case "image/gif":
return ".gif";
break;
default:
return false;
break;
}
}
function get_error($tmp, $type, $size, $max_size)
{
if (!is_uploaded_file($tmp)) {
echo "File caricato in modo non corretto<br />";
}
if (!check_ext($type)) {
echo "Estensione del file non ammesso<br />";
}
if ($size > $max_size) {
echo "Dimensione del file troppo grande<br />";
}
echo "<a href= \"form.php\" >Torna indietro</a>";
}
$homepage = $imSettings['general']['homepage_url'];
$tmp = $_FILES['image']['tmp_name'];
$type = $_FILES['image']['type'];
$size = $_FILES['image']['size'];
$max_size = 900000;
if (is_uploaded_file($tmp) && check_ext($type) && $size <= $max_size) {
//cancello immagine precedentemente caricata
if ($foto != $qfolder . "/default.jpg")
unlink($foto);
$ext = get_ext($type);
$newfoto = $qfolder . "/avatar-" . $dati['username'] . $ext;
if (move_uploaded_file($tmp, $newfoto)) {
echo "Immagine caricata con successo
<meta http-equiv=\"refresh\" content=\"1;URL=$homepage\">";
} else {
echo "Non è stato possibile caricare l'immagine<br />";
echo "<a href=\"form.php\">Torna</a>";
}
} else {
get_error($tmp, $type, $size, $max_size);
}
?>
Ora mi manca solo cambiare il colore del "Benvenuto Utente"
Qualcuno può darmi il codice HTML giusto senza far cambiare il "Clicca l'immagine per cambiarla" che ora funziona perfettamente?
Mi raccomando non fate confusioni perché non ho voglia di rifare sempre tutto da capo con questi codici!
Grazie
Author
Ho provato a modificare il colore da "Modello, Personalizzazione, Testo della Pagina e ok lì fa cambiare il colore su "Benvenuto Utente", ma purtroppo cambia colore anche sul "Guestbook" e anche sulle Impostazioni della pagina di Accesso che si trova sulle "Impostazioni" di "Gestione Accessi".
Qualcuno sa se c'è modo di lasciare inalterati i colori e modificarli solo nel "Benvenuto Utente"?
Se non si può non importa, ma se si può (ovviamente senza più far cambiare i codici HTML o al massimo modificare appunto solo qualcosa per il "Benvenuto Utente" sempre in questo codice html?
<?php
require_once("res/x5engine.php");
$qfolder = $imSettings['general']['public_folder'];
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
//controllo esistenza immagine personalizzata
if ($dati) {
$avatar = glob($qfolder . "/avatar-" . $dati['username'] . ".*");
if (empty($avatar))
$foto = $qfolder . "/default.jpg";
else
$foto = $avatar[0];
echo "Benvenuto/a " . $dati['realname'] . "<br /><div class=\"caption\"><a href=\"form.php\"><img src=\"$foto\" height=\"85\" alt=\"\" onclick=\"return x5engine.utils.location('form.php', null, false)\"></a><br /><span><strong>Clicca l'immagine per cambiarla</strong></span></div>";
}
?>
Aspetto qualcuno che mi sappia rispondere.
Grazie
Mi raccomando eh, schiavetti!
Questo post secondo me è durato troppo, sarebbe ora di chiuderlo.
Schiavetti m'ha fatto morire dalle risate! Grande Lemonsong.
Buona Pasqua a tutti!
Si giuseppe, c'è modo e modo di chiedere le cose ha raggggione lemon... e poi 250 risposte dai...
Buona Pasqua anche a te e a tutto helpcenter...
Author
Si Lemonsong lo chiudo se qualcuno mi sa rispondere:
C'è il modo di cambiare il colore solo al "Benvenuto Utente" e non anche al Guestbook e Impostazioni della pagina di Accesso che si trova sulle "Impostazioni" di "Gestione Accessi?
Comunque era solo una battuta per ridere niente di più.
Grazie.
Author
Se non si può cambiare il colore solo al Benvenuto Utente senza cambiare anche sul Guestbook e sulle Impostazioni della pagina di Accesso in Gestione Accessi non importa.
Voglio solo sapere se si può?
...!... sì ...!... ...leggi con attenzione; ... ti era stato già detto nel post 233, qui: https://helpcenter.websitex5.com/en/post/169385#comment233
.
Author
Grazie KolAsim ma se non ho il codice come faccio?
Author
Per esempio è giusto se inserisco questo codice che mi ha dato Giorgio?
echo "<p style=\"color:blue;\">Benvenuto/a " . $dati['realname'] . "</p><br />
Ma dove devo aggiungerlo? Nell'Header come Codice HTML ho già il seguente codice e se lo aggiungo forse mi sballa tutto o forse devo inserirlo nel posto giusto?
Nel codice HTML dell'Header ho il seguente codice
<?php
require_once("res/x5engine.php");
$qfolder = $imSettings['general']['public_folder'];
$n = time();
$pa = Configuration::getPrivateArea();
$dati = $pa->whoIsLogged();
//controllo esistenza immagine personalizzata
if ($dati) {
$avatar = glob($qfolder . "/avatar-" . $dati['username'] . ".*");
if (empty($avatar))
$foto = $qfolder . "/default.jpg";
else
$foto = $avatar[0];
echo "Benvenuto/a " . $dati['realname'] . "<br /><div class=\"caption\"><a href=\"form.php\"><img src=\"$foto\" height=\"85\" alt=\"\" onclick=\"return x5engine.utils.location('form.php', null, false)\"></a><br /><span><strong>Clicca l'immagine per cambiarla</strong></span></div>";
}
?>
Se qualcuno può darmi una mano si faccia avanti!
NON DEVI AGGIUNGERLO DEVI SOSTITUIRLO... DEVI SOLO LEGGERE QUELLO CHE CORRISPONDE A echo "Benvenuto/a... fino a </br>... E SOSTITUIRLO!!!