Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal estou fazendo meu sistema de cadastro em PDO, Mais em alguns campos do formulario de cadastro ou de edição
eu quero por espaços ao cadastrar os conteudos
e o meu SQL Injection ele bloqueia ou seja ele tira os espaço da onde que eu não quero que sai por causa do trim
porem também não quero tirar o trim
quero que apenas alguns campo seja cadastrados com os espaços
vou mostra os codigo pra vcs..
Este é a minha função SQL Injection
<?php
// URL Amigavel
function UrlAmigavel($str){
$str = strtolower(utf8_decode($str)); $i=1;
$str = strtr($str, utf8_decode('à áâãäåæçèéêëìÃîïñòóôõöøùúûýýÿ'), 'aaaaaaaceeeeiiiinoooooouuuyyy');
$str = preg_replace("/([^a-z0-9])/",'-',utf8_encode($str));
while($i>0) $str = str_replace('--','-',$str,$i);
if (substr($str, -1) == '-') $str = substr($str, 0, -1);
return $str;
}
// SQL Injection
function antiInject($tmp_mix){
if(is_array($tmp_mix)){
foreach($tmp_mix as $k => $v){
$tmp_mix[$k] = antiInject($v);
}
return $tmp_mix;
} else {
$tmp_mix = preg_replace(mb_sql_regcase("/(%0a|%0d|Content-Type:|bcc:| to:|cc:|Autoreply:|insert |delete |where|drop table|show tables|--|\\\\)/"), "", $tmp_mix);
$tmp_mix = preg_replace("/<script.*?\/script>/s", "", $tmp_mix);
$tmp_mix = str_replace('"',"'",$tmp_mix);
$tmp_mix = trim($tmp_mix);
$search = array('--','--','CDATA','<![CDATA[');
$replace = '';
$tmp_mix = str_ireplace($search,$replace,$tmp_mix);
return $tmp_mix;
}
}
Este aqui é o codigo do formulario de cadastro
<div class="tab-content">
<?php if(isset($_GET['AdicionarItem'])){
VerificaCategoria('c_recados'); ?>
<form method="post" action="?Adicionar" enctype="multipart/form-data">
<div class="col-md-6">
<div class="form-group">
<label>Nome:</label>
<input class="form-control" name="nome" required>
</div>
<div class="form-group">
<label>Categoria:</label>
<select class="form-control" name="id_categoria">
<?php $Query = DBRead('c_recados','*','WHERE id > 0'); if (is_array($Query)) { foreach ($Query as $c_dados) { ?>
<option value="<?php echo $c_dados['id']; ?>"><?php echo $c_dados['categoria']; ?></option>
<?php } } ?>
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>E-mail:</label>
<input class="form-control" name="email">
</div>
<div class="form-group">
<label>Status:</label>
<select class="form-control" name="status">
<option value="S" >Ativo</option>
<option value="N">Inativo</option>
</select>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label>Imagem:</label>
<input class="form-control" type="file" name="imagem">
</div>
<div class="form-group">
<label>Recado:</label>
<textarea class="form-control" name="recado" rows="4" required></textarea>
</div>
<div class="form-group">
<label>Resposta:</label>
<textarea class="form-control" name="resposta" rows="4"></textarea>
</div>
<center><hr>
<button class="btn btn-primary">Adicionar</button>
<br><br>
</center>
</div>
</form>
No caso ai quero apenas nestes campos seja cadastrados com os espaços porem que o trim não tira eles
<div class="form-group">
<label>Recado:</label>
<textarea class="form-control" name="recado" rows="4" required></textarea>
</div>
<div class="form-group">
<label>Resposta:</label>
<textarea class="form-control" name="resposta" rows="4"></textarea>
</div>Carregando comentários...