memorizzazione degli elementi

zighy

Utente Attivo
20 Gen 2012
96
0
0
Ciao ragazzi,
vengo subito al problema,ho una pagina con un javascript che mi permette di fare drag & drop con degli elementi solo che quando aggiorno la pagina questi elementi ritornano nella loro posizione iniziale e non dove li ho lasciati.
Avrei bisogno di poter memorizzare queste posizioni,magari con un pulsante ,ma anche di poter modificarle nuovamente in futuro se volessi.E' possibile una cosa del genere?
Posto la pagina:

HTML:
<head>
 <style type="text/css"> .dragme{position:relative;cursor: pointer; cursor:hand}</style>

 <script type="text/javascript">
 var ie=document.all;
 var nn6=document.getElementById&&!document.all;
 var isdrag=false;
 var x,y;
 var dobj;

 function movemouse(e){
 if (isdrag){
 dobj.style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
 dobj.style.top = nn6 ? ty + e.clientY - y : ty + event.clientY - y;
 return false;
 }
 }

 function selectmouse(e){
 var fobj = nn6 ? e.target : event.srcElement;
 var topelement = nn6 ? "HTML" : "BODY";
 while (fobj.tagName != topelement && fobj.className != "dragme"){
 fobj = nn6 ? fobj.parentNode : fobj.parentElement; }
 if (fobj.className=="dragme"){
 isdrag = true;
 dobj = fobj;
 tx = parseInt(dobj.style.left+0);
 ty = parseInt(dobj.style.top+0);
 x = nn6 ? e.clientX : event.clientX;
 y = nn6 ? e.clientY : event.clientY;
 document.onmousemove=movemouse;
 return false;
 }
 }

 document.onmousedown=selectmouse;
 document.onmouseup=new Function("isdrag=false");

 </script>
 <script>

 import com.sun.image.codec.jpeg.JPEGCodec;
 import com.sun.image.codec.jpeg.JPEGImageEncoder;
 import java.awt.Component;
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
 import java.io.*;
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;
 import java.awt.image.*;
 import javax.swing.*;
 
public class cattura
 {
 
public static void main(String[] args)
 { 
GraphicsEnvironment environment =
 GraphicsEnvironment.getLocalGraphicsEnvironment();
 GraphicsDevice screen = environment.getDefaultScreenDevice();
 try {
 Robot robot = new Robot(screen);
 run(robot);
 }
 catch (AWTException exception){}
 }
 
public static void run(Robot robot)
 {
 robot.delay(2000);
 BufferedImage image = robot.createScreenCapture(new Rectangle(0, 0, 800, 600));
 ImageF frame = new ImageF(image);
 frame.show();
 }
 
}
 
class ImageF extends JFrame
 {
 public ImageF(Image image)
 {
 setTitle("Cattura");
 setSize(800,600);
 
Container contentPane = getContentPane();
 JLabel label = new JLabel(new ImageIcon(image));
 contentPane.add(label);
 label.setSize(800,600);
 
saveComponentAsJPEG(label,"a.jpg");
 }
 
public static void saveComponentAsJPEG(Component myComponent, String filename)
 {
 BufferedImage myImage;
 Dimension size = myComponent.getSize();
 myImage = new BufferedImage(size.width, size.height,BufferedImage.TYPE_INT_RGB);
 java.awt.Graphics2D g2 = myImage.createGraphics();
 myComponent.paint(g2);
 try{
 OutputStream out = new FileOutputStream(filename);
 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
 encoder.encode(myImage);
 out.close();
 }
 catch(Exception e){
 System.out.println(e);
 }
 }
 }
 
</script>

 
<body bgcolor="#000000">

 
<div align="center">
 <table border="0" cellspacing="0" width="100%" cellpadding="0" id="table1" height="662">
 <tr>
 <td width="50%">

 <div align="center" class="dragme"><font face="Bodoni MT Black" color="#FFFF00" size="2">elemento 1</font></div>
 <div align="center" class="dragme"><font face="Bodoni MT Black" color="#FFFF00" size="2">elemento 2</font></div>
 <div align="center" class="dragme"><font face="Bodoni MT Black" color="#FFFF00" size="2">elemento 3</font></div>
 </td>
 </tr></table>
 </div>
 </body>
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
mi sembra che questo sia un post più adatto alla sezione js che alla php.
poi: racchiudete sempre il codice tra gli appositi tag (sulla barra di formattazione ultime 3 iconcine in basso a sx) è più leggibile
 

zighy

Utente Attivo
20 Gen 2012
96
0
0
il codice per il drag è in java ma per la memorizzazione volevo usare php...se qualcuno mi puo'aiutare
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa non avevo letto bene.
comunque credo che sia un po' difficile in quanto js è lato client e php lato server.
mentre puoi comunicare variabili da php a js (es scrivendo nel js var pinco=<?php echo $variabile; ?>; ) non puoi fare il contrario, cioè tramettere il valore di una variabile da js a php.
non so se con js puoi aprire/leggere/scrivere su una tabella db come mysql, se possibile forse questa è la soluzione
questo salvo che qualcuno più esperto do me abbia qualche soluzione
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
googlando (javascript e mysql) ho trovato questo, se puù esserti utile:

c'è un modo per interrogare un database MySQL da Javascript?
No, dal momento che Javascript non puo' aprire socket.

Puoi invece usare Javascript per interrogare un'applicazione web in
esecuzione sul server ed estrarne dati: cerca XMLHttpRequest
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Sì, la cosa si chiama anche AJAX. :D
Il problema è che così chiunque può effettuare una richiesta "manuale" alla pagina che salva gli elementi. Non so se questo nel tuo caso possa portare problemi/rischi alla sicurezza.
 

zighy

Utente Attivo
20 Gen 2012
96
0
0
Sapevo gia'che con java non posso interagire con Mysql ,per questo mi ero buttato su PHP,mi servirebbe tipo un pulsante che memorizzi su databese le posizioni dei vari <div> per poi restituirle magari anche in un altra pagina (sempre in php).Ovviamente se nella pagina A (quella con il drag) poi muovo i vari elementi e li ''salvo'' di nuovo con il pulsante i vecchi dati nel database devono venire sovrascritti...è un po contorto forse :mexican:

Ho visto ora l'altro post.Il problema non sussiste perchè per accedere alla famigerata pagina A si deve passare un login quindi a modificare le posizioni sarebbe sempre lo stesso utente quello che cambia è il risultato ma che viene solo visualizzato sulla pagine degli altri utenti
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa, ma non ho capito o ho capito male.
ma le coordinate X e Y del div (draggato o meno) come vengono determinate?
se per draggare l'utente sposta il div col mouse, le variabili sono lato client (lette/elaborate da uno script lato client) per cui non puoi passarle lato server dove opera php.
se le coordinate iniziali sono funzione del log, puoi passarle a php e quindi determinare la posizione iniziale del div, ma quelle dello spostamento no, salvo credo, come dice il sommo, tramite ajax.
forse, ma qui alex può smentirmi, puo fare delle freccette (link) dx/sx/su/giu che, tramite get +ajax per non ricaricare la pagina, spostano il div, se possibile farlo a quel punto puoi salvare, o su mysql o passarle in sessione o cookie, le variabili deteminate dai get (se isset $_GET['dx'] allora $X_iniziale++)

credo, ma può darsi che sbagli, che il fatto che l'utente sia loggato non c'entri nulla
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
aspetta.... aspetta....

prova questo... e vedi se ti funziona :book:

http://max400scuola.altervista.org/aaa/a-php/gatto-posizione.html

provate anche voi... specie con altri browser a differenza di Firefox

esperimento Flash & PHP

Istruzioni:
Trascinante l'astronave "il gattaccio" in un punto qualsiasi
poi chiudete la pagina e la riaprite di nuovo (oppure ricarica la pagina)
dopo 3 secondi l'astronave si posizione nel punto in cui l'hai trascinato.
 
Ultima modifica:

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Ciao Alessandro,

quali sono questi "dispositivi" che intendi tu? In italia Flash funziona soltanto all'estero non và!

L'oggetto in questione può muoversi anche inviando le variabili da uno stupido form html
si potrebbe fare anche in javascript ma l'invio e la ricezione delle variabili avviente tramite stringa per poi essere splittata da un altra pagina che legge le variabili e memorizza la pasione dell'oggetto da una pagina dinamica ma sarebbe alquanto, macchinoso.... troppi passaggi da eseguire.

Comunque ho visto che funziona... ieri sera avevo posizionato l'astronave "il gattaccio" nell'orbita del pianeta blu (la terra) e adesso l'ho vista da un altra parte, vicino anzi poco distante dal pianeta rosso (marte)


PS: Il gatto da credenza quello che fa pensa!
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Un esempio di piattaforma su cui non funziona Flash? iOS. Javascript è supportato nativamente da tutti i browser, quindi perché dovremmo rinunciarci? E l'operazione di invio/ricezione di variabili non avviene tramite stringa. L'invio lo si esegue sotto forma di richiesta POST, quindi per PHP è come se l'utente compilasse manualmente un form inserendo le coordinate dell'elemento. La ricezione avviene in formato JSON, che non è altro che un banalissimo array per Javascript.

P.S. Ho spostato io l'astronave. :p
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Caro Gighen... quanto sei bravo...

...mi piacerebbere essere come te...hai una preparazione così solida
che ogni volta che leggo un tuo messaggio rimango a bocca aperta... ih ih ih

Però nello stesso tempo non capisco un c.zz. ih ih ih... mi spieghi cos'è iOS?

La ricezione avviene in formato JSON, che non è altro che un banalissimo array per Javascript.

Immagino dev'essere un array "rivestito in oro" ih ih ih... io conosco soltanto l'array tradizionale se magari
mi spieghi un po meglio... io sono ignorante e semi-analfabeta però vorrei imparare...
magari quando hai tempo mi spieghi qualcosa tipo ajax e jquery così oltre alle mie conoscenze attuali potrò fare anche i miracoli come Gesu Cristo... eh eh.

Grazie.
 
Ultima modifica:

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
il gattoooooooooo.... è tornato il gatto!!!

ma dove sei stato Signor gattino?

Non ti preoccupare era solo una domanda verso Alessandro tra poco
apro una discussione in quella sezione.

Ma dove c.zz è finito zighy? - voglio proseguire con l'esperimento inerente al titolo
Memorizzazione degli elementi.

Intanto ho visto la situazione della Honshu (l'astronave che ha come nick: "il Gattaccio")
e sai perchè gli ho dato questo nome? E' di colore bianco come la tua pelliccia Signor Gattino.

L'astronave si trova nel puntio in cui l'ha posizionata Gighen...adesso facciamo un esperimento:
il gatto muove la sua astronave in un punto qualsiasi (usa il browser Internet Explorer o altri)
ed io e Gighen ti diremo dove l'hai posizionata
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Benvenuto zighy

me l'aspettavo con Explorer... bisogna eliminare la cache...
oppure aggiornare il file di deposito delle coordinate

in questo momento vedo l'astronave nell'angolo in basso a sinistra e voi
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Memorizzazione degli Acquisti fatti sul SitoWeb da parte di diversi utenti Database 1
M Memorizzazione temi per le diverse pagine del sito Javascript 1
P [PHP] checkbox e sua memorizzazione nel db PHP 31
P doppio problema nella memorizzazione dati PHP 11
P problema memorizzazione dati o immagine PHP 18
P leggere dvd e memorizzazione dei dati letti PHP 1
K consiglio su supporto di memorizzazione MySQL 6
A problema estrazione singolo valore e memorizzazione in variabile PHP 1
A Facebook login - memorizzazione su mysql Sviluppo app per Android 1
Alessandro Le Mura [risolto] PHP problema memorizzazione array PHP 4
R ordinamento immagini con drag and drop e memorizzazione db PHP 1
R checkbox e memorizzazione dati PHP 1
W Memorizzazione post utenti in database PHP 6
A [PHP] Creare memorizzazione indirizzi ip PHP 2
M Array. Stampa e memorizzazione in database PHP 2
M form per login con memorizzazione id utente da database PHP 5
S Procedura memorizzazione Javascript 0
G Perché il mio sito su Google news fa vedere le immagini degli articoli la mia foto profilo? WordPress 1
A media degli elementi estratti da una query MySQL 0
P Errore nell'indirizzo degli elementi HTML e CSS 2
Shyson Mettere categorie nelle anteprime degli articoli PHP 1
MarcoGrazia foreign key cancellazione degli alberi figli di un nodo mancante MySQL 0
Max 1 Importante Sostieni Fondazione Banca degli Occhi, dona il tuo 5x1000 Altri Annunci 2
G Fare uno sfondo con il prato e degli alberi Photoshop 0
V [CSS] Uso degli id HTML e CSS 2
Max 1 Grave episodio alla Fondazione Banca degli Occhi di Mestre Discussioni Varie 7
filograndipad2 Da dove arrivano i parametri degli event handler? Sviluppo app per Android 1
filograndipad2 Esempi chiari e completi sul funzionamento degli eventi in Java Java 1
felino [WordPress] File di log degli errori WordPress 6
S [Javascript] [HTML] problema nella stampa degli elementi della pagina Javascript 3
N Affidabilità degli e-commerce Leggi, Normative e Fisco 0
S Codice degli Headings SEO e Posizionamento 5
M Dimensioni diverse degli input text tra Firefox per Linux e Windows HTML e CSS 3
L Il titolo degli articoli e tag è diverso da quello impostato da me WordPress 6
A Spostare Degli Oggetti in Più PictureBox in VB 6 Presentati al Forum 0
Marco_88 Verificare la selezione degli elementi dom jQuery 2
A come eliminare i suggerimenti della barra degli indirizzi su google chrome? Windows e Software 3
felino [Virtuemart 1.1.9] Gestione ordini: export ordini attuali e reset degli stessi Joomla 0
felino Visualizzare degli input dinamicamente dentro un div jQuery 1
filippino Rating stato d'animo degli utenti a fine post WordPress 1
braccobaldo Cooperativa degli sviluppatori Leggi, Normative e Fisco 0
andry79fi PLUGIN (o script) per Pagina Facebook con INTERVENTI degli utenti WordPress 0
felino [JS] Passare un array ed effettuare la somma degli elementi Javascript 2
felino Ordinamento dinamico degli elementi visualizzati PHP 6
L elenco anagrafe degli utenti PHP 5
Z Cambiare colore alla finestra degli avvisi CMS (Content Management System) 1
M Cambiare le impostazioni di visualizzazione degli strumenti cs 4 Photoshop 1
S Nascondere nome pagina web dalla barra degli indirizzi HTML e CSS 2
borgo italia priorità degli operatori Discussioni Varie 8
V Invio E-Mail con la notifica degli ordini effettuati PHP 2

Discussioni simili