Problema con apostrofi e accenti

Max61

Utente Attivo
2 Mar 2014
740
4
18
Buongiorno come da titolo ho problemi nell'inserimento di testo con accenti e apostrofi:
per la precisione inserisco i dati con addslashes e li leggo con stripslashes e fin qui tutto bene, il problema nasce se modifico il testo aggiungendo o togliendo una qualsiasi lettera, in questo caso quando vado a salvare il testo scompare del tutto.
Va forse modificata la query di aggiornamento?
Allego query update che utilizzo per il salvataggio delle modifiche che funziona perfettamente senza apostrofi e accenti:

PHP:
mysql_query("UPDATE tblsinistri SET Nominativo='$Nominativo', NumPratica='$NumPratica', DataRichiesta='$DataRichiesta', LocalitaSinistro='$LocalitaSinistro', ViaSinistro='$ViaSinistro',
DataSinistro='$DataSinistro', OraSinistro='$OraSinistro', SintesiSinistro='$SintesiSinistro', AnnoSinistro='$AnnoSinistro', _________CausaSinistro_________='$_________CausaSinistro_________', ProtArrivo='$ProtArrivo', 
Legale1='$Legale1', Legale2='$Legale2',CitazioneGiudizio='$CitazioneGiudizio' WHERE id='$id'")

Grazie per l'aiuto
Max61
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, mi sono permesso di formattare un attimo la tua query
PHP:
<?php

$query = "UPDATE tblsinistri "
        . "SET Nominativo='$Nominativo',"
        . " NumPratica='$NumPratica',"
        . " DataRichiesta='$DataRichiesta',"
        . " LocalitaSinistro='$LocalitaSinistro',"
        . " ViaSinistro='$ViaSinistro',"
        . " DataSinistro='$DataSinistro',"
        . " OraSinistro='$OraSinistro',"
        . " SintesiSinistro='$SintesiSinistro',"
        . " AnnoSinistro='$AnnoSinistro',"
        . " _________CausaSinistro_________='"
        . "$_________CausaSinistro_________',"
        . " ProtArrivo='$ProtArrivo', "
        . " Legale1='$Legale1',"
        . " Legale2='$Legale2',"
        . " CitazioneGiudizio='$CitazioneGiudizio'"
        . " WHERE id='$id'";
?>
Sono corretti quegli underscore e quel dollaro ? non mi sembra corretta
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ciao, mi sono permesso di formattare un attimo la tua query
PHP:
<?php

$query = "UPDATE tblsinistri "
        . "SET Nominativo='$Nominativo',"
        . " NumPratica='$NumPratica',"
        . " DataRichiesta='$DataRichiesta',"
        . " LocalitaSinistro='$LocalitaSinistro',"
        . " ViaSinistro='$ViaSinistro',"
        . " DataSinistro='$DataSinistro',"
        . " OraSinistro='$OraSinistro',"
        . " SintesiSinistro='$SintesiSinistro',"
        . " AnnoSinistro='$AnnoSinistro',"
        . " _________CausaSinistro_________='"
        . "$_________CausaSinistro_________',"
        . " ProtArrivo='$ProtArrivo', "
        . " Legale1='$Legale1',"
        . " Legale2='$Legale2',"
        . " CitazioneGiudizio='$CitazioneGiudizio'"
        . " WHERE id='$id'";
?>
Sono corretti quegli underscore e quel dollaro ? non mi sembra corretta

Ciao, penso che sia corretta, perchè funziona, e sono anche riuscito a far si che sia in insert che in edit le parole contenenti apostrofi e accenti li scrivo, li leggo e li modifico.
Allego parte di codice che utilizzo:
PHP:
// ottenngo i dati del modulo e verifico che siano validi
$id = $_POST['id'];
$Nominativo = mysql_real_escape_string(htmlspecialchars($_POST['Nominativo']));
$NumPratica = mysql_real_escape_string(htmlspecialchars($_POST['NumPratica']));
$DataRichiesta = mysql_real_escape_string(htmlspecialchars($_POST['DataRichiesta']));
ecc.
$_________CausaSinistro_________= addslashes($_POST['_________CausaSinistro_________']);

Probabilmente la tua sintassi è più performante della mia, l'ho provata e funziona come la mia, in quanto al lungo underscore ($_________CausaSinistro_________ ) siccome è un campo txt che può contenere tanti caratteri, se vado in visualizzazione con DATAGRID vedrei una riga alta con la colonna del campo stretta, così invece ho trovato un giusto equilibrio tra altezza della riga e larghezza della colonna.

Con la speranza di essermi spiegato, ti chiedo due cose:
1) Se esistono formattazioni dei campi a altro codice per ovviare agli underscore
2) Relativamente a questo programma avrei da lanciare le stampe sulle tabelle uno-a molti fatte con il vostro aiuto in altra discussione, devo aprire una nuova discussione? O proseguire la stessa sulle tabelle uno-a molti?

Grazie
Max61
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Non è più performante, è solo più leggibile, avevo interpretato male dovrebeb allora essere cosi
PHP:
$query = "UPDATE tblsinistri "
        . "SET Nominativo='$Nominativo',"
        . " NumPratica='$NumPratica',"
        . " DataRichiesta='$DataRichiesta',"
        . " LocalitaSinistro='$LocalitaSinistro',"
        . " ViaSinistro='$ViaSinistro',"
        . " DataSinistro='$DataSinistro',"
        . " OraSinistro='$OraSinistro',"
        . " SintesiSinistro='$SintesiSinistro',"
        . " AnnoSinistro='$AnnoSinistro',"
        . " _________CausaSinistro_________='$_________CausaSinistro_________',"
        . " ProtArrivo='$ProtArrivo', "
        . " Legale1='$Legale1',"
        . " Legale2='$Legale2',"
        . " CitazioneGiudizio='$CitazioneGiudizio'"
        . " WHERE id='$id'";
però scusa, non ho capito il motivo degli underscore, non dovrebbero influire sulla struttura
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Con DATAGRID la larghezza della colonna è fissa, quindi più il testo è lungo e più la riga diventa alta.
Gli underscore servono soltanto per allargare la colonna, non so se ci sono altri metodi...
Max61
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
per formattare le tabelle si usano i css
HTML:
<th style='width:200px'>CausaSinistro</th>
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Grazie per la dritta, ma ho provato a metterlo all'inizio della pagina ma non fa niente, ti posto il codice che utilizzo per visualizzare i dati:
PHP:
$query = 'SELECT id, tblanagrafica_id, NumPratica, Nominativo, CodiceFiscale, DataRichiesta, LocalitaSinistro, ViaSinistro, DataSinistro, OraSinistro, AnnoSinistro, SintesiSinistro, CausaSinistro, ProtArrivo, CitazioneGiudizio, Legale1, Legale2 FROM tblsinistri';

$risultato = mysql_query($query, $myconn) or die("Impossibile eseguire l'interrogazione.");

    if(mysql_num_rows($risultato) == 0)
    {
	?>

	<br><br><br><form>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input
style="color:blue" type="submit" value=" Back " onclick="this.form.action='MenuPrincipale.php?var=value'"/>

		<?php

		exit
("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span
style=\"color:black; font-family:arial; font-size: 14pt\"><b><span
style=\"color:blue; font-size: 14pt\"><span style=\"color:red;
font-size: 14pt\"><i>Nessun dato da visualizzare...<span
style=\"color:black\"><span style=\"color:blue>");


	    }
    else
    {
     $query = 'SELECT id, tblanagrafica_id, NumPratica, Nominativo, CodiceFiscale, DataRichiesta, LocalitaSinistro, ViaSinistro, DataSinistro, OraSinistro, AnnoSinistro, SintesiSinistro, CausaSinistro, ProtArrivo, CitazioneGiudizio, Legale1, Legale2  FROM tblsinistri';

    }

//---------------------------------------------
// open the connection to the db server
$link = mysql_connect($host,$user,$password);
include ('datagrid.class.php');
// Print HTML
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
echo '<html xmlns="http://www.w3.org/1999/xhtml">';
echo '<head>';
echo '<meta http-equiv="Content-Type" 
     content="text/html; charset=iso-8859-1" />';
echo '<title>Visualizza Sinistro</title>';
echo '<link href="styles.css" rel="stylesheet" type="text/css" />';
echo '</head><body>';
// Use datagrid class with full options
$mydatagrid = & new datagrid($link,$database,$query,150);
$mydatagrid->setLinkPage("Sinistro_Insert.php?id");
$mydatagrid->setLinkLabel("<img src='../images/Piu.jpg' alt='edit' />");
$mydatagrid->setLinkTitle("Inserisci sinistro");
$mydatagrid->setPrev("<img src='../images/prev.gif' alt='previous' />");
$mydatagrid->setNext("<img src='../images/next.gif' alt='next' />");
$mydatagrid->setPkIsVisible(true);
$mydatagrid->setSummaryTable("Elenco nominativi");
$mydatagrid->setCaptionTable("Elenco nominativi");
$mydatagrid->makeTable();
echo '</body></html>';
?>

Uso la classe datagrid

Grazie
Max61
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Bisognerebbe vedere cosa fa la classe, dove l'hai presa ?
e anche styles.css
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
nel file style.css prova a sostituire nelle regole di .datatable {
Codice:
width: auto;
con
Codice:
width: 100%;
vedi che effetto fa
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
prova ad aggiungere queste righe sempre nel css
Codice:
.datatable th:nth-child(10) {
    width: 500px;
}
si riferisce in pratica alla decima colonna e se non ho contato male quella che ti interessa è la decima
in alternativa se lo hai onlien posta il link
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
l'ho provato sul codice dell'autore, deve funzionare Posta il css
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ecco il css:
PHP:
body {
	font: normal 11px auto Verdana, Arial, Helvetica, sans-serif;
	color: #4f6b72;
	background: White;
}

a {
	color: #c75f3e
}

.datatable {
	width: auto;
	padding: 0;
	margin: 0;
}

.datatable caption {
	padding: 0 0 5px 0;
	width: 700px;
	font: bold 12px Verdana, Arial, Helvetica, sans-serif;
	text-align: left;
}

.datatable th {
	font: bold 9px Verdana, Arial, Helvetica, sans-serif;
	color: #4f6b72
	border-right: 1px solid #C1DAD7;
	border-bottom: 1px solid #C1DAD7;
	border-top: 1px solid #C1DAD7;
	text-transform: uppercase;
	text-align: left;
	padding: 6px 6px 6px 12px;
	background: #CAE8EA;
}

.datatable td {
	border-right: 1px solid #C1DAD7;
	border-bottom: 1px solid #C1DAD7;
	background: #fff;
	padding: 6px 6px 6px 12px;
	color: #4f6b72;
}


.datatable td.alt {
	background: #F5FAFA;
	color: blue
}

.datatable tfoot.tfooter{
	text-align: center;
}

.datatable img{
	vertical-align: middle;
}

.datatable a img{
	border: none;
}
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
non vedo le modifiche che ti avevo fatto fare
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Te lo ho mandato senza le modifiche perchè pensavo che le volessi far te, l'unica differenza che mi sono accorto è che con la modifica stringe ancor di più la colonna.
PHP:
body {
	font: normal 11px auto Verdana, Arial, Helvetica, sans-serif;
	color: #4f6b72;
	background: White;
}

a {
	color: #c75f3e
}

.datatable {
	width: auto;
	padding: 0;
	margin: 0;
}

.datatable caption {
	padding: 0 0 5px 0;
	width: 700px;
	font: bold 12px Verdana, Arial, Helvetica, sans-serif;
	text-align: left;
}

.datatable th {
	font: bold 9px Verdana, Arial, Helvetica, sans-serif;
	color: #4f6b72
	border-right: 1px solid #C1DAD7;
	border-bottom: 1px solid #C1DAD7;
	border-top: 1px solid #C1DAD7;
	text-transform: uppercase;
	text-align: left;
	padding: 6px 6px 6px 12px;
	background: #CAE8EA;
}

.datatable td {
	border-right: 1px solid #C1DAD7;
	border-bottom: 1px solid #C1DAD7;
	background: #fff;
	padding: 6px 6px 6px 12px;
	color: #4f6b72;
}


.datatable td.alt {
	background: #F5FAFA;
	color: blue
}

.datatable tfoot.tfooter{
	text-align: center;
}

.datatable img{
	vertical-align: middle;
}

.datatable a img{
	border: none;
}

.datatable th:nth-child(10) {
    width: 500px;
}
Ciao
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
prova ad aumentare i pixel
PHP:
.datatable th:nth-child(10) {
    width: 1000px;
}
calcola che per vedere le modifiche del css su un brower e necessario aggiornare la pagina con f5
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
prova ad aumentare i pixel
PHP:
.datatable th:nth-child(10) {
    width: 1000px;
}
calcola che per vedere le modifiche del css su un brower e necessario aggiornare la pagina con f5

Adesso non posso, oggi pomeriggio prima di risponderti ho provato con 900 px, ma non succede nulla.
Ciao
Max61
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ciao volevo dirti che anche se non risolviamo gli underscore non mi interessa, anche se è un pò bruttino a vedersi l'importante è che funzioni...
Avrei però a questo punto la necessità di fare le stampe con le tabelle uno a molti...
devo quindi aprire un nuovo post?
O continuare sul post "Relazione uno a molti" dove ho avuto le indicazioni di come strutturare le tabelle?

Ciao
Max61
 
Discussioni simili
Autore Titolo Forum Risposte Data
P [PHP] Problema con accenti ed apostrofi PHP 0
N Problema con gli apostrofi PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema con eccessiva nitidezza apertura Camera Raw Photoshop 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1
M Problema con php per calcolo costo percentuale PHP 7

Discussioni simili