Caratteri HTML salvati nella tabella

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio

Max61

Utente Attivo
2 Mar 2014
760
4
18
Buongiorno, vi chiedo aiuto perchè nell'inserimento dei dati nella tabella da pagina php, oltre i dati mi inserisce anche i caratteri HTML, ho fatto varie prove ma non riesco a venirne a capo.
Allego codice da dove prende i caratteri HTML:
PHP:
$Legale1.="<option value='".$row['id'].">".$row['Legale1']."</option>";

Codice HTML che inserisce in tabella:
PHP:
<option value='></option>
oltre il valore del campo Legale1

Chi sa darmi una dritta?

Grazie
Max61
 
Ciao,

che database utilizzi? e che metodo utilizzi per il collegamento?

se usi mysql e ti collegi tramite mysqli
prova a formattare la tua stringa prima di inserirla nel db con
mysqli_real_escape_string
http://php.net/manual/en/mysqli.real-escape-string.php


Ciao, uso
Server: 127.0.0.1 via TCP/IP
Tipo di server: MySQL
Versione del server: 5.6.11 - MySQL Community Server (GPL)
Versione protocollo: 10
Utente: root@localhost
Codifica caratteri del server: UTF-8 Unicode (utf8)


Apache/2.4.4 (Win32) OpenSSL/1.0.1e PHP/5.5.3
Versione del client del database: libmysql - mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef551dfaca71298a83fad8d03d62d4 $
Estensioni PHP: mysqli

e mi connetto così
PHP:
//Mi connetto al MySql Server
$myconn = mysql_connect('localhost', 'utente', 'password') or die('Impossibile connettersi al server');

//Mi connetto al database 'gestionesinistri'
mysql_select_db('gestionesinistri', $myconn) or die('Errore di connessione alla tabella');

Allego query completa:
PHP:
<?php
		$Query1="SELECT DISTINCT Legale1 FROM tbllegale1
		 UNION 
		 SELECT Legale1 FROM tblverbali";
       //esecuzione della query 
     $Leggi_Legale1=@mysql_query($Query1) or die (mysql_error());
       if(!$Leggi_Legale1)
         print("<H2>Queryfallita!</H2>");
       else
	   echo "<select name='Legale1' id='Legale1id'>";//Genera casella a discesa
	   while ($row = mysql_fetch_array($Leggi_Legale1)) 
		{ 
		//$Legale1 = $row['Legale1'];
		$Legale1.="<option value='".$row['id'].">".$row['Legale1']."</option>";

		echo "<option value =\"$Legale1\">$Legale1 </option>"; //Popola casella
		}
		echo "value=$Legale1 </select>"; 		
		?>

Questa stringa è sempre valida?
E a quale punto della query la metto?
PHP:
mysqli_real_escape_string

Grazie...non sono molto esperto
Max61
 
Perdonami,
avevo male interpretato la tua richiesta.

hai solo dimenticato qualche apice nei VALUE.
Prova cosi

Codice:
		$Legale1.="<option value=' ".$row['id']." ' >".$row['Legale1']."</option>";

		echo "<option value =' \"$Legale1\" '>$Legale1 </option>"; //Popola casella
		}
		echo "value=$Legale1 </select>"; 		
		?>


EDIT: ti consiglio di valutare di modificare il tuo metodo di connessione verso mysql considerando che è deprecato e che dalla versione 7.0 di PHP è stato totalmente rimosso. ti consiglio mysqli o PDO.
 
Ultima modifica:
Perdonami,
avevo male interpretato la tua richiesta.

hai solo dimenticato qualche apice nei VALUE.
Prova cosi

Codice:
		$Legale1.="<option value=' ".$row['id']." ' >".$row['Legale1']."</option>";

		echo "<option value =' \"$Legale1\" '>$Legale1 </option>"; //Popola casella
		}
		echo "value=$Legale1 </select>"; 		
		?>


EDIT: ti consiglio di valutare di modificare il tuo metodo di connessione verso mysql considerando che è deprecato e che dalla versione 7.0 di PHP è stato totalmente rimosso. ti consiglio mysqli o PDO.

Grazie del consiglio.
Ho provato il tuo codice, i caratteri HTML sono spariti, ma adesso non inserisce nulla nella tabella...
Ciao e grazie ancora
Max61
 

Discussioni simili