Stampare div uno sotto l'altro come nei forum

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio
Si è inspiegabilmente sistemato anche questo: ho spento il mac, l'ho riacceso e anche la pagina offline funziona, i box non sballano più se modifico messaggi.html.

Perciò direi che siamo alla fine, ho solo bisogno di mandare automaticamente in un file archivio i messaggi che superano il 20.

Come db si può sempre usare il file messaggi.html ma ovviamente li deve stampare in una nuova pagina che poi io sistemerò
 
ciao
allora forse il problema era che non azzeravi la cache tra una prova e una prova dopo modifica.
fattibile, devi fare le modifiche dove fa l'inserimento (sposta i record) e lo spostato lo inserisci in un nuovo file
 
ciao
allora forse il problema era che non azzeravi la cache tra una prova e una prova dopo modifica.
fattibile, devi fare le modifiche dove fa l'inserimento (sposta i record) e lo spostato lo inserisci in un nuovo file

Questa parte dici?

PHP:
// ...3/6 - In questa sequenza stampa in messaggi.html
$mess_da_ins=$data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."\n";
$mess_ultimo=2;  //numero di messaggi massimo da visualizzare

 // ...4/6
if ($erroreS=="") {
if(file_exists('messaggi.html')){
        $righe = file('messaggi.html');
        $quante=count($righe);
        if($quante==0){  //il file messaggi.html esiste ma è vuoto
            $inserire=$mess_da_ins;
        }elseif($quante == 1){  //esiste una sola riga
            $inserire=$righe[0].$mess_da_ins;
        }elseif($quante > 1){
            if($quante < $mess_ultimo){
                $righe[$quante]=$mess_da_ins;
            }else{
                //sposto in su i messaggi (in pratica elimino il più vecchio)...
                for($k= 0; $k< ($quante-1);$k++){
                    $j=$k+1;
                    $righe[$k]=$righe[$j];
                }
            $righe[$mess_ultimo]=$mess_da_ins; //...e aggiungo l'ultimo
            }
            foreach($righe as $ch => $testo){ //preparo la stringa da salvare
                $inserire.=$testo;
            }
        }
        file_put_contents('messaggi.html', $inserire);
    }
    else {
        file_put_contents('messaggi.html', $mess_da_ins);
    }
    session_destroy();
...
 
ciao
prova in questo modo (non giuro che funzi, l'ho buttata giu di getto)
PHP:
<?php
//........
}else{
                //sposto in su i messaggi (in pratica elimino il più vecchio)...
				//in prtatica qui
				//verifichi che esista il file archivio
				if(file_exists('archivio.html')){//il file esiste
					//leggi le righe del file archivio
					$righe_arc=file_get_contents('archivio.html');
					//inserisci quella cha andrai a cancellare
					$righe_arc[]=$righe[($quante-1)];
					//preparo la stringa da salvare
					foreach($righe_arc as $ch_a => $testo_a){ //preparo la stringa da salvare
                		$inserire_a.=$testo_a;
            		}
					//e riscrivo
					file_put_contents('archivio.html', $inserire_a);
					
				}else{//il file ancora non esiste quindi lo creo inserendo
					file_put_contents('archivio.html', $righe[($quante-1)]);
				}
                for($k= 0; $k< ($quante-1);$k++){
                    $j=$k+1;
                    $righe[$k]=$righe[$j];
                } 
//...........
?>

aahhh, quante meno grane con mysql
 
ciao
prova in questo modo (non giuro che funzi, l'ho buttata giu di getto)
PHP:
<?php
//........
}else{
                //sposto in su i messaggi (in pratica elimino il più vecchio)...
				//in prtatica qui
				//verifichi che esista il file archivio
				if(file_exists('archivio.html')){//il file esiste
					//leggi le righe del file archivio
					$righe_arc=file_get_contents('archivio.html');
					//inserisci quella cha andrai a cancellare
					$righe_arc[]=$righe[($quante-1)];
					//preparo la stringa da salvare
					foreach($righe_arc as $ch_a => $testo_a){ //preparo la stringa da salvare
                		$inserire_a.=$testo_a;
            		}
					//e riscrivo
					file_put_contents('archivio.html', $inserire_a);
					
				}else{//il file ancora non esiste quindi lo creo inserendo
					file_put_contents('archivio.html', $righe[($quante-1)]);
				}
                for($k= 0; $k< ($quante-1);$k++){
                    $j=$k+1;
                    $righe[$k]=$righe[$j];
                } 
//...........
?>

aahhh, quante meno grane con mysql
Dove va messo? In ogni punto non mi apre la pagina, non si può usare lo stesso file messaggi.html come db?
 
ciao
non si può usare lo stesso file messaggi.html come db
se fosse così semplice non avrebbero inventato i db.
così di getto come detto mi è venuto in mente di usare un altro file. puo essere fattibile, ma devo pensarci e modificare, quasi sicuramente quello sin ora fatto (sia in lettura quando stampi a monitor che in scrittura quando l'utente ti invia un nuovo messaggio)

edit
tra la riga del commento
//sposto in su i messaggi (in pratica elimino il più vecchio)...
e la riga del for che sposta i messaggi
 
Ultima modifica:
ciao
se fosse così semplice non avrebbero inventato i db.
così di getto come detto mi è venuto in mente di usare un altro file. puo essere fattibile, ma devo pensarci e modificare, quasi sicuramente quello sin ora fatto (sia in lettura quando stampi a monitor che in scrittura quando l'utente ti invia un nuovo messaggio)

edit
tra la riga del commento
//sposto in su i messaggi (in pratica elimino il più vecchio)...
e la riga del for che sposta i messaggi
Qualcosa non quadra, sparisce metà pagina dei successi, io pensavo, non è più semplice una cosa del tipo: "se più di 20 messaggi spostali in archivio.html", e qui si chiude un ciclo.

Poi nella pagina archivio_messaggi.php metto il richiamo dal db (archivio_messaggi.html)

Ho messo così ma non quadra qualcosa

PHP:
if ($erroreS=="") {
if(file_exists('messaggi.html')){
        $righe = file('messaggi.html');
        $quante=count($righe);
        if($quante==0){  //il file messaggi.html esiste ma è vuoto
            $inserire=$mess_da_ins;
        }elseif($quante == 1){  //esiste una sola riga
            $inserire=$righe[0].$mess_da_ins;
        }elseif($quante > 1){
            if($quante < $mess_ultimo){
                $righe[$quante]=$mess_da_ins;
            }else{
                //sposto in su i messaggi (in pratica elimino il più vecchio)...
                
                //in prtatica qui
                //verifichi che esista il file archivio
                if(file_exists('archivio.html')){//il file esiste
                    //leggi le righe del file archivio
                    $righe_arc=file_get_contents('archivio.html');
                    //inserisci quella cha andrai a cancellare
                    $righe_arc[]=$righe[($quante-1)];
                    //preparo la stringa da salvare
                    foreach($righe_arc as $ch_a => $testo_a){ //preparo la stringa da salvare
                        $inserire_a.=$testo_a;
                    }
                    //e riscrivo
                    file_put_contents('archivio.html', $inserire_a);
                    
                }else{//il file ancora non esiste quindi lo creo inserendo
                    file_put_contents('archivio.html', $righe[($quante-1)]);
                }
                
                for($k= 0; $k< ($quante-1);$k++){
                    $j=$k+1;
                    $righe[$k]=$righe[$j];
                }
            $righe[$mess_ultimo]=$mess_da_ins; //...e aggiungo l'ultimo
            }
            foreach($righe as $ch => $testo){ //preparo la stringa da salvare
                $inserire.=$testo;
            }
        }
        file_put_contents('messaggi.html', $inserire);
    }
    else {
        file_put_contents('messaggi.html', $mess_da_ins);
    }
    session_destroy();
 
Borgo Italia, sei sparito?

Il problema è sempre il codice in rosso, quando clicc o invia del form, il form sparisce (rimangono solo i box) e non invia

// ...3/6 - In questa sequenza stampa in messaggi.html
$mess_da_ins=$data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."\n";
$mess_ultimo=2; //numero di messaggi massimo da visualizzare

//$messaggioS = ($mess_ultimo >=2);
//file_put_contents("archivio.html",$messaggioS);

// ...4/6
if ($erroreS=="") {
if(file_exists('messaggi.html')){
$righe = file('messaggi.html');
$quante=count($righe);
if($quante==0){ //il file messaggi.html esiste ma è vuoto
$inserire=$mess_da_ins;
}elseif($quante == 1){ //esiste una sola riga
$inserire=$righe[0].$mess_da_ins;
}elseif($quante > 1){
if($quante < $mess_ultimo){
$righe[$quante]=$mess_da_ins;
}else{
//sposto in su i messaggi (in pratica elimino il più vecchio)...

//verifichi che esista il file archivio
if(file_exists('archivio.html')){//il file esiste
//leggi le righe del file archivio
$righe_arc=file_get_contents('archivio.html');
//inserisci quella cha andrai a cancellare
$righe_arc[]=$righe[($quante-1)];
//preparo la stringa da salvare
foreach($righe_arc as $ch_a => $testo_a){ //preparo la stringa da salvare
$inserire_a.=$testo_a;
}
//e riscrivo
file_put_contents('archivio.html', $inserire_a);

}else{//il file ancora non esiste quindi lo creo inserendo
file_put_contents('archivio.html', $righe[($quante-1)]);
}


for($k= 0; $k< ($quante-1);$k++){
$j=$k+1;
$righe[$k]=$righe[$j];
}
$righe[$mess_ultimo]=$mess_da_ins; //...e aggiungo l'ultimo
}
foreach($righe as $ch => $testo){ //preparo la stringa da salvare
$inserire.=$testo;
}
}
file_put_contents('messaggi.html', $inserire);
}
else {
file_put_contents('messaggi.html', $mess_da_ins);
}
session_destroy();
 
ciao
no non sono sparito è che sto seguendo anche altri
ma prima funzionava (a parte i difetti del \n)?
comunque ci do un occhio poi ti so dire (forse e sottolineo forse) ho una mezza idea per semplificare il tutto
 
ciao
no non sono sparito è che sto seguendo anche altri
ma prima funzionava (a parte i difetti del \n)?
comunque ci do un occhio poi ti so dire (forse e sottolineo forse) ho una mezza idea per semplificare il tutto
Tutto funziona, è quello in rosso che dovrebbe spostare i messaggi (oltre i 2) nell'archivio, che da problemi
 
Senti, che dici se facciamo l'esperienza del db? Però mi segui e mi insegni?

Altervista ha questo phpMyAdmin - 2.11.11.3
 
ciao
Senti, che dici se facciamo l'esperienza del db? Però mi segui e mi insegni?
no problem.
il phpMyAdmin va bene, hai provato a collegarti al/ai tuo/tuoi databse?
tra l'altro dovresti averlo anche in locale (non so che server locale usi per php, ma generalmente sono assieme)
 
ciao

no problem.
il phpMyAdmin va bene, hai provato a collegarti al/ai tuo/tuoi databse?
tra l'altro dovresti averlo anche in locale (non so che server locale usi per php, ma generalmente sono assieme)
In locale uso MAMP, a me piacerebbe che ne posso avere uno anche in locale.

Sono entrato nel db,
Img_03.jpg
 
ciao
alcune cose:
1) ho dato un occhio a mamp e se l'hai installato bene hai anche mysql e phpmyadmin, non so il numero di porta che hai utilizzato, ma se digiti sul bw
http://localhost:8080/
dovresti accedere all'interfaccia di mamp (credo che sia simile a quello che ho io).
da li dovresti poter accedere a phpmyadmin, ti richiede l'user e la pass (generalmente di default user= root, password=password)
2) se non lo sai usare (è molto semplice) guarda questo articolo
https://www.mrw.it/php/guide/guida-phpmyadmin/
3) per capire poi quello che andremo a fare ti conviene tenere d'occhio anche la guida
https://www.mrw.it/mysql/guide/guida-mysql/
4) importante: conviene che tu apra un altra discussione (questa sta diventanto lunga come la divina commedia), tra l'altro potrebbe interessare anche ad altri utenti
5) importante: prima di gettarti a corpo morto sul problema non dimenticarti di usare carta e matita per definire bene quello che fai (partiremo a costruire una tabella)

p.s.
dopo un po' ti accorgerai quante cose puoi fare in più con php+mysql
 
ciao
alcune cose:
1) ho dato un occhio a mamp e se l'hai installato bene hai anche mysql e phpmyadmin, non so il numero di porta che hai utilizzato, ma se digiti sul bw
http://localhost:8080/
dovresti accedere all'interfaccia di mamp (credo che sia simile a quello che ho io).
da li dovresti poter accedere a phpmyadmin, ti richiede l'user e la pass (generalmente di default user= root, password=password)
2) se non lo sai usare (è molto semplice) guarda questo articolo
https://www.mrw.it/php/guide/guida-phpmyadmin/
3) per capire poi quello che andremo a fare ti conviene tenere d'occhio anche la guida
https://www.mrw.it/mysql/guide/guida-mysql/
4) importante: conviene che tu apra un altra discussione (questa sta diventanto lunga come la divina commedia), tra l'altro potrebbe interessare anche ad altri utenti
5) importante: prima di gettarti a corpo morto sul problema non dimenticarti di usare carta e matita per definire bene quello che fai (partiremo a costruire una tabella)

p.s.
dopo un po' ti accorgerai quante cose puoi fare in più con php+mysql
Ho questo, ma Apache e myslq sono 2 cose diverse? Poi apro una nuova discussione
 

Allegati

  • Img_01.jpg
    Img_01.jpg
    33,4 KB · Visite: 270
ciao
si sono due cose diverse
apache è quello che serve per simulare il server locale, senza di quello non potresti simulare in locale come se le pagine fossere hostate in remoto
(le pagine dinamiche come php non potrebbero funzionare in locale senza)
mysql è un db (non so se conosci access suppergiù è la stessa cosa, ma molto più semplice)
non conosco mamp, chiedo a chi sa sperando che mi risponda
 
ciao
si sono due cose diverse
apache è quello che serve per simulare il server locale, senza di quello non potresti simulare in locale come se le pagine fossere hostate in remoto
(le pagine dinamiche come php non potrebbero funzionare in locale senza)
mysql è un db (non so se conosci access suppergiù è la stessa cosa, ma molto più semplice)
non conosco mamp, chiedo a chi sa sperando che mi risponda
Io non ho nemmeno capito come cominciare
 
ciao
ho letto (non tutto) il tutorial che hai postato e la parte che ti interessa per mysql è (da quello che capisco usi di già php in locale)

MAMP è fornito di phpMyAdmin per amministrare MySQL che è raggiungibile attraverso questa url: http://127.0.0.1/phpMyAdmin/

I parametri per accedere al server MySQL sono:
Host = localhost
User = root
Password = root

da quello che ho capito se apri il tuo browser e digiti
http://127.0.0.1/phpMyAdmin/
dovrebbe aprirsi una pagina in cui ti chiede l'user e la password, digitate si apre phpmyadmin

prova e sappimi dire (poi partiamo da li)
comunque ribadisco apri un altra discussione
 

Discussioni simili