HTML varlıkları ile çalışma

2 Cevap php

Ben MySQL tablo sütununda HTML kodunu depolamak. Kayıtları eklemek için, ben böyle sorgu çerçeveli:

$InsertQuery = "INSERT INTO listing (ldate, places, company, designation, projectdetails, desiredcandidate, hrname, hrcontact, email) VALUES (DATE_FORMAT('" .$ldate ."','%Y/%m/%d'),'" .$places. "','" .$company. "','" .$designation. "','" .htmlentities($projectdetails). "','" .htmlentities($desiredcandidate). "','" .$hrname. "','" .$hrcontact. "','" .$email. "')";

Ben aşağıdaki kodu kullanarak sonuçları çıkış duyuyorum ama ne zaman, HTML etiketleri ile metni gösterir. Bu sayfada etiketleri uygulama değildir.

$FetchResultsQuery = "SELECT * FROM listing WHERE recordid=" . $SelectedRowID;

	$result = mysql_query($FetchResultsQuery);
	$row = mysql_fetch_row($result);
	if ($row)
	{
		$PostedDate = date($row[0],'d.m.Y');
		$Places =  $row[1];
		$Company = $row[2];
		$Designation = $row[3];
		$ProjectDetails = $row[4];
		$DesiredCandidate = $row[5];
		$HRName = $row[6];
		$HRContact = $row[7];
		$Email = $row[8];
	}

       <td valign="top" style="padding-left:10px; text-align:justify;"><h4>&nbsp;</h4>
          <p><strong>Company Name: </strong> <strong><?PHP echo $Company; ?></strong></p>
          <p>&nbsp;</p>
          <p><strong>Location: </strong> <?PHP echo $Places; ?> </p>
          <p>&nbsp;</p>
          <p><strong>Posted Date: </strong><span class="style19"> <?PHP echo $PostedDate; ?></span></p>
          <p>&nbsp;</p>
          <p><strong>Designation:</strong><?PHP echo $Designation; ?></p>
          <p>&nbsp;</p>
          <p><strong>Project Details :</strong></p><br>
			  <?PHP echo $ProjectDetails; ?>	
          <p>&nbsp;</p>
          <p><strong>HR Name: </strong> <?PHP echo $HRName; ?> </p>
          <p>&nbsp; </p>
          <p><strong> HR's Contact details: </strong><?PHP echo $HRContact;  ?></p>
          <p>&nbsp;</p>
          <p><strong>Email: </strong><?PHP echo $Email;  ?></p>
          <p><span class="style18"><strong><br />
            <br />
          </strong></span></p></td>
        <td></td>

2 Cevap

Böyle yankı deneyin:

print html_entity_decode('your text here');

Sorun htmlentities function kendi HTML varlık eşdeğer tüm açılı ayraçlar dönüştürür olduğunu. Peki yerine çıktısı '<' Sadece '<' alacak.

Veritabanında veri saklarken, daha sık değil bunu saklamak isteyeceksiniz bulunuyor ham biçimi, yani un-kodlanmış her zaman HTML verileri görüntülemek istemeyebilirsiniz gibi, örneğin Eğer CSV dışa isteyebilirsiniz. Tarayıcıda verileri çıkış yaparken genellikle htmlentities kullanmak istiyorsunuz.

Eğer yapmadıysanız bu yüzden zaten - bu INSERT kod parçacığını gelen anlatmak biraz zor - Eğer mysql_real_escape_string aracılığıyla parametrelerini geçmek ya da kullanmak için SQL değiştirmek isteyebilirsiniz prepared statements yerine.