Jump to content
php.lv forumi

Ievietojot DB tiek pazaudeeti dazhi simboli


IM24LV

Recommended Posts

Tiek pazaudēti, piemēram + un &. Pats iisti nevaru atkost kas par vainu, draugs grib lai sataisa.

$message=$_POST['message'];

$sql = "INSERT INTO ".$db_prefix."shoutbox (shout_name, shout_message, shout_datestamp, shout_ip) VALUES ('".$shout_name."', '".$message."', '".time()."', '".USER_IP."')";

 

 

 

un nekas vairāk arī itkā īpaši tur nenotiek, cik papētīju. ā vēl DB ir

 

message	  varchar(600)	  latin1_swedish_ci			No

Link to comment
Share on other sites

tu gadijuma neizmanto kko šadu????

$deletable = array("+", "&");
$string_replace = str_replace($deletable, "", "$message");

ja izmanto tad tas vnk visus + un & aizvieto ar "" jeb neko(piemeram janis&juris bus janisjuris)

Link to comment
Share on other sites

phpjanis, ja viņš izmantotu, tad gan jau zinātu. :) Nejauši tādu kodu grūti uzrakstīt. :)

 

IM24LV, uzreiz pirms kverija izpildes pamēģini izdrukāt to kveriju un paskaties kāds tas izskatās.

Kā arī - tā ir MySQL datubāzē ? Cik zinu, tad varchar max garums ir 255 MySQL datubāzē.

Link to comment
Share on other sites

nu tur nav problema, megjinaju nomainit to arii uz text un citiem jā, mysql datubāzē + vietā irliek atstarpi. vaina varbūt ir javascriptaa, jo tas notiek ar ajax. taa varetu but? itkaa neko aizdomigu arii javascripta nemaniju

Link to comment
Share on other sites

phpjanis, ja viņš izmantotu, tad gan jau zinātu. :) Nejauši tādu kodu grūti uzrakstīt. :)

Vins tak teica, ka Pats iisti nevaru atkost kas par vainu, draugs grib lai sataisa.(tatad pats nav rakstijis)

Pirmais kas ienaca prata apskatot vina iedoto izravumu no coda bija str_replace

Edited by phpjanis
Link to comment
Share on other sites

function saveData(){
htmlRequest = ajaxFunction();
if (htmlRequest==null){ // If it cannot create a new Xmlhttp object.
	alert ("Browser does not support HTTP Request");
	return;
} 

if(document.shoutbox.shouter_comment.value == "" || document.shoutbox.shouter_comment.value == "NULL"){
	alert('Ieraksti kko!');
	return;
}
htmlRequest.open('POST', 'post_chatbox.php');
htmlRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
htmlRequest.send('message='+document.shoutbox.shouter_comment.value); 

document.shoutbox.shouter_comment.value = ''; // Updates the shout box’s text area to NULL.
document.shoutbox.shouter_comment.focus(); // Focuses the text area.





}

 

 

tulit izmegjinashu izdrukat

 

hee, pashaa phpmydadmin izpildot to kveriju viss ir ok, taatad vaina nezin kur ir. varbuut taja input laukaa vaina?

 

<form id="shout" name="shoutbox" method="POST" onsubmit="saveData(); return false;">
<input name="shouter_comment" id="shouter_comment" type="text" />
<input type="hidden" name="submit" value="submit" />
</form>

Edited by IM24LV
Link to comment
Share on other sites

vaina varbūt ir javascriptaa, jo tas notiek ar ajax. taa varetu but?

Jaa ...

 

Dodu 99% ka pazuud arii ? ( Jautajuma zime ) un iespejams ka arii =

Jo Ajax pieprasijumam & + ? un vel dazji ir rezervetie simboli ...

Shadiem gadijumiem ir izdomaata taada lieta kaa JSON

VAI base64 ...

 

PHP to atbalsta sakot no vers 5.2.xx vecakam jameklee (jaizmanto) atseviskjas klases...

 

// skaties linkus //

Link to comment
Share on other sites

Grey_Wolf, JSON nav nekāda sakara ar datu eskeipošanu. :)

 

base64 gan, un tas ir iebūvēts jau no 4. versijas vismaz.

 

Bet vispār ar AJAX postējot datus, šādām problēmām parasti nevajadzētu būt (kaut gan ? un & tiešam ir tādi īpaši simboli, kas varētu sagādāt problēmas).

 

IM24LV, tev šī rindiņa točna vajadzīga ?

htmlRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

 

 

Vari arī pamēģināt pirms datu nosūtīšanas escape()ot tos (http://www.w3schools.com/jsref/jsref_escape.asp).

Edited by andrisp
Link to comment
Share on other sites

"?" un "=" ziimes nepazuud, un andri, bez taas rindinjas jebkas ko ierakstu ievietojaas kaa tukshums ar vienu space. tad jau laikam tur arii taa probleema varetu buut?

Edited by IM24LV
Link to comment
Share on other sites

Grey_Wolf, JSON nav nekāda sakara ar datu eskeipošanu. :)

Es laikam ne taa noformuleeju :(

Doma bija ka izmantojot gatavus JS skriptus kas izmanto JSON dati tiek arii aizkodeeti ... tb. automatiski nav vairs jaarupejaas par Aizliegtajiem simboliem...

un PHP pusee tiek arii automatiski 'atkodeeti' ...

Link to comment
Share on other sites

×
×
  • Create New...