2014-02-04 3 views
0

Я использую preg_replace для замены любых символов, помещенных в форму, которую я не хочу, я пробовал читать на preg_replace, но многие из рассмотренных мной примеров не очень ясны.preg_replace заменить разрешенные символы

В моем коде ниже я использую [^a-z и т. Д. ..., чтобы указать, какие символы разрешены, а затем '' - это то, что он должен заменить любые символы, которые не разрешены, но мой код не работал, поэтому я повторил INSERT, которая должна вводить данные пользователя в базу данных, а большинство полей заменяется на ''. Может ли кто-нибудь указать мне в правильном направлении?

Спасибо, только c и e переменных вставляются в базу данных, e, поскольку он не использует preg_replace и c является выпадающим списком, то up также работать, но все остальное заменяются ' ', например, я поставил первое имя, как Джо и фамилию как Вейн, но когда я смотрю на эхо заявления они ' '

$u = preg_replace('#[^a-z0-9]#i', '', $_POST['u']); 
    $e = mysqli_real_escape_string($db_conx, $_POST['e']); 
    $p = $_POST['p']; 
    $ln = preg_replace('#[^a-z]#i', '', $_POST['lastName']); 
    $fn = preg_replace('#[^a-z]#i', '', $_POST['firstName']); 
    $g = preg_replace('#[^a-z]#i', '', $_POST['g']); 
    $c = preg_replace('#[^a-z ]#i', '', $_POST['c']); 
    $m = preg_replace('#[^0-9]#', '', $_POST['m']); 
    $ci = preg_replace('#[^a-z]#i', '', $_POST['ci']); 
    $pc = preg_replace('#[^a-z0-9]#i', '', $_POST['pc']); 
    $rs = $_POST['relationshipStatus']; 
    $d = $_POST['d']; 
+0

Что дает эхо $ e или echo $ ci? – bart2puck

+0

Я использую это в форме, и когда я эхо $ e, он дает мне адрес электронной почты, который я ввел, и когда я эхо $ c, он отображает страну, которую я выбрал из раскрывающегося списка, но все, что я вхожу, похоже, заменяется на '' – Joey93

+0

Вы подтвердили, что '$ _POST ['u']' не пуст, когда он попадает на сервер? –

ответ

-1

следующий код:

<?php 
$x = "heLlo World"; 
$y = preg_replace('#[^a-z0-9]#i', '', $x); 
echo "y=$y|"; 
?> 

производит:

y=heLloWorld| 

Так что ваши выражения выглядит хорошо для меня. Вы должны будете проверить, что ваши объекты не пусты, когда они доходят до конца сервера.

+0

'^' - отрицание в символьном классе. – AbraCadaver

Смежные вопросы