Stampare div uno sotto l'altro come nei forum

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
si, se vuoi che sia letto come html5.
quasi tutti i tag di html4 vanno bene anche con html5, con l'esclisione di qualcuno es <frame>
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
cioa
no non servono più.
scusa ma ho fatto un erroretto mi sono dimenticato di togliere l'apice
<!DOCTYPE html>

Bene, io direi che ora è tutto a posto, devo sistemare qualche misura delle immagini con questo nuovo !DOCTYPE,

penso abbiamo finito, se vuoi controllare, i js sono disinstallati

Un'ultima cosa poi, ho visto che quando invio il form con il campo mail vuoto, la mail mi arriva, ma al posto del mittente (visto che non c'è), cioè io, c'è scritto Apache, dovrebbe invece arrivarmi DA: con la mia mail; questo invece funziona se il campo mail è pieno $headers1S .= "From:$suoemailS\r\n";

PHP:
$headersS  = "MIME-Version: 1.0\r\n";
$headersS .= "content-type: text/html; charset=iso-8859-1\r\n";
$headersS .= "X-Mailer: PHP\n"; 
$headersS .= "From:Alberti.Alveo<[email protected]>\r\n"; 

$headers1S  = "MIME-Version: 1.0\r\n";
$headers1S .= "content-type: text/html; charset=iso-8859-1\r\n";
$headers1S .= "X-Mailer: PHP\n"; 
$headers1S .= "From:$suoemailS\r\n";  

//Successo del Cliente a me 
$aS = "Me<[email protected]>";   
$oggettoS = "Successo del Cliente";  //Le mail vanno formattate con HTML 
$messaggioMailS = "<html>

...

//Invio della mail 
mail($aS,$oggettoS,$messaggioMailS,$headers1S);
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intendi in $headers1S .= "From:$suoemailS\r\n"; se $suoemailS? se è così bisogna soprattutto verificare i controlli, se $suoemailS è vuota (qunidi non sai chi è il mittente e non puoi rispondergli) l'email non dovrebbe partire e dare l'alert che l'indirizzo email è obbligatorio.
verifico
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
intendi in $headers1S .= "From:$suoemailS\r\n"; se $suoemailS? se è così bisogna soprattutto verificare i controlli, se $suoemailS è vuota (qunidi non sai chi è il mittente e non puoi rispondergli) l'email non dovrebbe partire e dare l'alert che l'indirizzo email è obbligatorio.
verifico

No, la mail non deve essere obbligatoria, semplicemente se il campo è vuoto deve arrivarmi con la mia mail.

Però ne vale la pena? anche se arrivano con scritto Apache, cambia qualcosa?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
il controllo c'è
PHP:
<?php
//.....
if(!filter_var($suoemailS, FILTER_VALIDATE_EMAIL)){
        $errori.="indirizzo email non corretto o non inserito<br>";
    }else{
        $_SESSION['suoemailS'] = $_POST['suoemailS'];
    } 
//.....
?>
hai messo l'invio dell'email fuori dall'if($errori==""){.....} ?
i controlli non dovrebbero servire solo per verificare il messaggio da visualizzare, ma che tutti i dati richiesti siano giusti.
ti conviene inserire tutto l'ambaradan dell'invio
PHP:
<?php
//......
else {
                file_put_contents('messaggi.html', $mess_da_ins);
            }
			//QUI.........................................
			$headersS  = "MIME-Version: 1.0\r\n";
			$headersS .= "content-type: text/html; charset=iso-8859-1\r\n";
			$headersS .= "X-Mailer: PHP\n"; 
			$headersS .= "From:Alberti.Alveo<[email protected]>\r\n"; 
			$headers1S  = "MIME-Version: 1.0\r\n";
			$headers1S .= "content-type: text/html; charset=iso-8859-1\r\n";
			$headers1S .= "X-Mailer: PHP\n"; 
			$headers1S .= "From:$suoemailS\r\n";  
			//Successo del Cliente a me 
			$aS = "Me<[email protected]>";   
			$oggettoS = "Successo del Cliente";  //Le mail vanno formattate con HTML 
			$messaggioMailS = "<html>";//immagino che qui tu abbia dell'altro
			//...
			//Invio della mail 
			mail($aS,$oggettoS,$messaggioMailS,$headers1S); 
            session_destroy();
            echo "<meta http-equiv='REFRESH' content='0; url=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
        }else{ 
//......
?>
poi può succedere che per motivi di linea o server l'email non venga inviata, quindi ti conviene sostituire
mail($aS,$oggettoS,$messaggioMailS,$headers1S);
con
PHP:
<?php
			//...
			//Invio della mail 
			if(mail($aS,$oggettoS,$messaggioMailS,$headers1S)){//invio e verifica
				session_destroy();
				echo "email inviata con successo";//potresti usare per il div la stessa classe dell'alert
			}else{
				echo "c'è stato un errore di trasmissione, riprova più tardi";//potresti usare per il div la stessa classe dell'alert
			}
            //e modificare il tempo di attesa da zero a tre per visualizzare il messaggio di avviso
			echo "<meta http-equiv='REFRESH' content='3; url=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
        }else{ 
//......
?>
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Aspetta un attimo, qui stiamo complicando, così com'è funziona perfettamente, l'unico capriccio era che mi arriva con scritto Apache, ma forse va bene anche così, dopotutto arriva a me quel tipo di mail.

Puoi provare il form e vedrai che escono gli alert php se i campi obbligatori sono vuoti

http://gruppoalveo.altervista.org/successi.php
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
secondo me sarebbe meglio che se i campi non sono tutti correttamente inviati l'email non parta anche perche potrebbero mandarti un messaggio vuoto o mittente sconosciuto allora come fai a ricontattare che eventualmete ti ha scritto? comunque è una tua scelta.

ora guardo
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
secondo me sarebbe meglio che se i campi non sono tutti correttamente inviati l'email non parta anche perche potrebbero mandarti un messaggio vuoto o mittente sconosciuto allora come fai a ricontattare che eventualmete ti ha scritto? comunque è una tua scelta.

ora guardo
Appunto, se quelli obbligatori sono vuoti, non parte
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Borgo Italia, scusa se ti disturbo ancora, ma ho notato un problema: quando entro nel file messaggi.html trovo stampato ciò che era scritto nei post, es.

sabato 10 novembre 2012 - 15:11:48 GMT+0100 (CET)|Benessere|Ciao,<br />
<br />
come va?|Piero|Bologna|[email protected]|::1|


a video ovviamente è stampato giusto, se però modifico qualche parola in questo file e lo salvo, poi a video si ripresentano i famosi box doppi o tripli.

Se invece nel form scrivo in linea senza andare a capo col tasto Invio, posso modificare il file messaggi.html che non fa sballare niente

come controlli ho questi, li devo per forza tenere entrambi altrimenti si moltiplicano i box se premo Invio

PHP:
$messaggioS = str_replace("\n","",$messaggioS);
  
$messaggioS = nl2br($messaggioS);
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
il problema è che interpreta \n come fine della riga quindi se lo trova a metà messaggio per php è un fine riga.
prova una cosa
usa solo l'istruzione
PHP:
$messaggioS = nl2br($messaggioS);
questa istruzione trasforma tutti i \n in <br> quindi "dovrebbe" eliminare il problema.
se guardi la parte di script che inserisce (a parte le variabili che sono state modificate) vedi che comunque il \n di fine riga viene inserito
PHP:
$mess_da_ins=$nome."|".$citta."|".$email."|".$messaggio."\n";

relativamente alla modifica del file devi stare attento a non introdurre \n es.
mettiamo che tu voglia correggere la riga
sabato 10 novembre 2012 - 15:11:48 GMT+0100 (CET)|Benessere|Ciao,come va?|Piero|Bologna|[email protected]|::1|
in modo che a video il "come va?" venga su un'altra riga non devi correggere in
sabato 10 novembre 2012 - 15:11:48 GMT+0100 (CET)|Benessere|Ciao,
come va?|Piero|Bologna|[email protected]|::1|
facendo così introduci un \n, ma proprio scrivere <br> o <br /> cioè
sabato 10 novembre 2012 - 15:11:48 GMT+0100 (CET)|Benessere|Ciao,<br>come va?|Piero|Bologna|[email protected]|::1|

p.s.
domanda come mai la stringa termina con | ? non dovrebbe esserci
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Quella barretta dopo l'ip non è niente era in locale, ho lasciato solo $messaggioS = nl2br($messaggioS);


sballano i box e nel file messaggi.html stampa questo

sabato 10 novembre 2012 - 17:38:37 GMT+0100 (CET)|Ottimo|Sto benissimo,<br />
<br />
provalo anche tu!|Piero|Bologna||95.224.174.122|<img src="http://gruppoalveo.altervista.org/ip_flags/flags/IT.gif" width="16" height="12" alt="Italy" title="Italy" />
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ho dato un occhio, ma mi risulta un po' ostico sistemare.
proprio non riesci a passare a mysql? ti toglieresti un sacco di grane e acquisteresti facilità per leggere/inserire/eliminare/uppare/cercare.
ti faccio un esempio guarda quello che ti avevo postato al #15 e vedi sotto con con che facilità si risolve (non ho usato i tuoi dati, ma è lo stesso)
PHP:
<?php
require_once "connessione.php"; //un file con i dati di connessione al db
$query="SELECT * FROM tabella_messaggi ORDER BY data LIMIT 20";
$risultato=mysql_query($query);
if(mysql_num_rows($risultato == 0){
	echo echo "<div class=\"me\">non ci sono messaggi</div>";
}else{
	while($riga=mysql_fetch_array($risultato)){
		echo "<div class=\"me\">";
		echo $riga['nome']. " - citt&agrave ".$riga['citta']. " - ".$riga['email']."<br />";
		echo nl2br($riga['citta']);//senza preuccuparsi del /n di fine record
		echo "</div>";
	}
}
//...
?>
ancora più semplice l'inserimento
PHP:
<?php
//......
	$nome=$_POST['nome'];
    $citta=$_POST['citta'];
    $email=$_POST['email'];
    $mess=$_POST['messaggio'];
	$query="(INSERT INTO tabella_messaggi(data, nome, citta, email, messaggio) VALUES('$data',$none','$citta','$email','$mess')";
	mysql_query($query);
	//.....
?>
senza contare che la tabella stessa diventa archivio di tutti i messaggi che ti inviano e/o inserire una paginazione dei messaggi
(io ho messo LIMIT 20) ma si può fare in modo che si possano vedere 20 messaggi alla volta (dall'ultimo al primo).

p.s.
non so che server locale tu utilizzi per vedere le pag php, ma molto probabilmente ha il db mysql abbinato.
comunque sono qui per darti una mano
 
Discussioni simili
Autore Titolo Forum Risposte Data
S estrarre e stampare a video un record in un div PHP 7
G Stampare valori in più div con PHP e MySQL PHP 4
I stampare una stringa echo PHP 2
F Stampare valori di un database PHP 14
A Stampare dati da form PHP 15
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
G leggere file txt e stampare con php il contenuto a video PHP 7
F stampare a video i risultati della query PHP 1
elpirata Ricavare e stampare indirizzo ip da array associativo PHP 0
B Stampare una porzione della pagina PHP 0
V Come stampare su Excel tabella con rowspan e colspan Javascript 2
elpirata Stampare carattere simbolo euro PHP 10
W Stampare file PDF in varie modalità. Windows e Software 5
L pdo (stampare un valore con ritorno a funzione) PHP 0
P [PHP] Aggiungere giorni e stampare risultato da data inserita in input PHP 3
P [PHP] Stampare record di diverse tabelle ma con nomi uguali PHP 6
K [PHP] Stampare tabella da database differenti. PHP 4
M Stampare con php e mysql PHP 8
L [PHP] stampare un'array di un database PHP 0
J modifica spooler di stampa per stampare in ordine di nome i files pdf Windows e Software 2
T PHP+MYSQL: stampare record con numero progressivo PHP 3
cristoforo58 Stampare dei valori XML in PHP PHP 0
elpirata [PHP] Stampare i valori di una variabile scritta su più righe PHP 1
K [PHP] Cancellare e Stampare tabella PHP 3
M [PHP] come stampare un Qr-code in FPDF PHP 8
M [Javascript] "Stampare" nel codice Var JS Javascript 5
N [PHP] stampare pagina html PHP 0
fulviozecchin [Java] Stampare intervallo tra due interi senza cicli Java 2
F [PHP] Stampare dati inviati tramite ajax PHP 0
elpirata [RISOLTO]Stampare giorno della settimana in tabella php PHP 6
elpirata [PHP] [RISOLTO] Stampare classe css in base al risultato della query PHP 6
Fuego2806 Stampare dati Form su immagine di sfondo con html HTML e CSS 1
Fuego2806 [PHP] Stampare dati Form su immagine di sfondo con html PHP 70
webmachine [PHP] Problema: Stampare tutte le occorrenza di una SELECT PHP 2
momeraths come stampare immagini contenute in un database PHP 7
I stampare in video i dati inseriti nel db PHP 1
M Sito "e-commerce", stampare dati di registrazione e dati dell'acquisto da pagine diverse PHP 7
L Stampare immagine php PHP 2
elpirata Stampare a video in echo table il risultato di una query PHP 4
Shyson Stampare lista in ordine decrescente Database 1
A Stampare senza sidebar Javascript 0
F stampare array php PHP 2
N Non stampare valori duplicati PHP 1
T Stampare maschera fronte/retro MS Access 0
C Stampare font personalizzati HTML e CSS 2
N FPDF stampare pdf automaticamente su stampante impostata PHP 0
M Stampare valore di un array PHP 1
P Stampare a video PHP 1
P Stampare '<?' in php PHP 7
D Stampare una query in una tabella MySQL 2

Discussioni simili