2013-08-13 2 views
1

я получить работу, извините, ребята ... Я не должен положить $ _POST снова внутри $ STMфункция preg_replace установлен, но не работает

Код ниже, где я получил отправил значение для целей безопасности, я планирую поставить функцию preg_replace ... но она не работает?

<?php 
if (isset($_POST['cartOutput'])) { 

$customer_name = preg_replace("/[^A-Za-z0-9 ]/", '', $_POST['customer_name']); 

Больше кода ..., что может вызвать проблему? я проверил мой PHP это не фильтровать

<?php 
if (isset($_POST['cartOutput'])) { 

$customer_name = preg_replace('/[^A-Za-z0-9 ]/', '', $_POST['customer_name']); 
$tel_num = $_POST['tel_num']; 
$customer_address = $_POST['customer_address']; 
$error_status = false; 

if (empty($_POST['customer_name'])){ 
echo '<a href="cart.php">Please Fill Your Name</a>'; 
$error_status = true; 
} 
if (empty($_POST['tel_num'])){ 
echo '</br><a href="cart.php">Please Fill Your Contact Number</a></br>'; 
$error_status = true; 
} 
if (empty($_POST['customer_address'])){ 
echo'<a href="cart.php">Please Fill Your Address</a></br>'; 
$error_status = true; 
} 

if(!$error_status) { 

$sql= 'INSERT INTO orders (customer_name,tel_num,customer_address,product_name, price, quantity, date_added,customer_messages) VALUES(?,?,?,?,?,?,NOW(),?)';  

$stmt = $myConnection->prepare($sql); 
$countArray = count($_POST["item_name"]); 
for ($i = 0; $i < $countArray; $i++) { 
$stmt->bind_param('sssssss', $_POST['customer_name'],$_POST['tel_num'],$_POST['customer_address'], $_POST['item_name'][$i], $_POST['amount'][$i], $_POST['quantity'][$i],$_POST['customer_messages']); 
$stmt->execute(); 
} 
; 
+2

Какова цель этого регулярного выражения? – netvision73

+0

Откуда вы знаете, что это не работает? Какие ошибки, какие результаты вы получили? – vikingmaster

+0

позволяют только A-Z, a-z и 0-9? –

ответ

1

Это выглядит хорошо для меня! Возможно, сначала проверьте, что имя_пользователя имеет значение?

$text = "h^&%*ello"; 
$new = preg_replace("/[^A-Za-z0-9 ]/", '', $text); 
echo $new; 

output: hello 

При тестировании здесь http://writecodeonline.com/php/ я получить правильный результат, так что синтаксис выглядит отлично! Попробуйте убедиться, что есть ценность!

+0

все хорошо .. спасибо –

1

Я написал PHP скрипт:

$customer_name = preg_replace("/[^A-Za-z0-9 ]/", '', '!h#e$l%l^o'); 
var_dump($customer_name); 

И результат:

string(5) "hello" 

Пожалуйста отлаживать коды для проверки $_POST['customer_name'] содержания

+0

Должен ли я добавить preg_replace внутри $ stmt? –

+0

все хорошо все хорошо –

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