2014-01-26 2 views
0

я пытаюсь обновить данные из MySQL
это форма, и она работает нормально
код:Форма кнопка отправки не работает PHP

$sb2e = mysql_query("select * from blocks where b_id ='$b_id' "); 
$rbe = mysql_fetch_object($sb2e); 
if ($_REQUEST['edit'] == 'block') 
{ 
echo ("<form action='?cpages=blocks' method='post'> 
<table align='center' width='100%' cellpadding='0' cellspacing='0'> 
<tr> 
<td width='20%'>اسم المربع الجانبي</td> 
<td width='80%'><input type='text' name='b_name' id='inputwrap' value=' 
".$rbe- >b_name."'/></td> 
</tr> 
<tr> 
<td width='20%'>ترتيب المربع الجانبي</td> 
<td width='80%'><input type='text' name='b_order' id='inputwrap' value=' 
".$rbe->b_order."'/></td> 
</tr> 
<tr> 
<td width='20%'>مكان المربع الجانبي</td> 
<td width='80%'> "); 
if ($rbe->b_dir == 1) 
{ 
    echo (" 
<select name='b_dir' id='inputwrap'> 
<option value='1'>يمين</option> 
<option value='2'>اعلى المنتصف</option> 
<option value='3'>اسفل المنتصف</option> 
<option value='4'>يسار</option> 
</select></td> 
</tr> ") ; 
} 
else if ($rbe->b_dir == 2) 
{ 
    echo (" 
<select name='b_dir' id='inputwrap'> 
<option value='2'>اعلى المنتصف</option> 
<option value='3'>اسفل المنتصف</option> 
<option value='1'>يمين</option> 
<option value='4'>يسار</option> 
</select></td> 
</tr> "); 
} 
else if ($rbe->b_dir == 3) 
{ 
    echo (" 
<select name='b_dir' id='inputwrap'> 
<option value='3'>اسفل المنتصف</option> 
<option value='2'>اعلى المنتصف</option> 
<option value='1'>يمين</option> 
<option value='4'>يسار</option> 
</select></td> 
</tr> "); 
} 
else if ($rbe->b_dir == 4) 
{ 
    echo (" 
<select name='b_dir' id='inputwrap'> 
<option value='4'>يسار</option> 
<option value='2'>اعلى المنتصف</option> 
<option value='1'>يمين</option> 
<option value='3'>اسفل المنتصف</option> 
</select></td> 
</tr> "); 
} 


echo (" 
<tr> 
<td width='20%'>محتوى المربع الجانبي</td> 
<td width='80%'><textarea name='b_content' id='inputwrap' rows='5' cols='40'> 
".$rbe- >b_content."</textarea> </td> 
</tr> 
<tr> 
<td width='20%'>حالة المربع الجانبي</td> 
<td width='80%'> 
"); if ($rbe->b_active == 1) { 
    echo (" 
<select name='b_active' id='inputwrap'> 
<option value='1'>مفعل</option> 
<option value='2'>غير مفعل</option> 
</td> 
</tr> ");} else if ($rbe->b_active == 2) 
{ 
    echo (" 
<select name='b_active' id='inputwrap'> 
<option value='2'>غير مفعل</option> 
<option value='1'>مفعل</option> 
</td> 
</tr> "); 
} echo (" 
<tr> 
<td colspan='2'><input type='submit' value='تحديث' class='button' /></td> 
</tr></table> 
<input type='hidden' name='edit' value='blocks' /> 
<input type='hidden' name='b_id' value='".$rbe->b_id."' /> 
</form> "); 
} 

и это запрос на обновление
код

if (isset($_POST['edit']) and $_POST['edit'] == 'blocks') 

{ 
$updateblocks = mysql_query("update blocks 
set b_dir='$b_dir' 
,b_order='$b_order' 
,b_name='$b_name' 
,b_content='$b_content',b_active='$b_active' where b_id='$b_id' 

") or die (mysql_error()); 
if ($updateblocks) 
{ 
    echo "done"; 
} 
} 

проблема в том, что я нажимаю обновление «это слово« تحديث »в коде« ничего не происходит без отчета об ошибке
разместить значения

$b_dir = strip_tags($_POST['b_dir']); 
$b_order = $_POST['b_order']; 
$b_name = strip_tags($_POST['b_name']); 
$b_content = addslashes($_POST['b_content']); 
$b_active = $_POST['b_active']; 
$b_id = intval($_GET['id']) ; 
+0

Обратите внимание, что этот метод (mysql_) теперь устарел. См. PDO/mysqli – Strawberry

ответ

0

Первое, что я думаю, вы должны использовать что-то вроде этого первой генерации функции называется selected как пример

function selected(a , b){ 
    if(a == b) { 
     return ' selected="selected" ' ; 
    } 
} 

В этой части مكان المربع الجانبي В английском это означает «Block Position»

Вместо этого

if ($rbe->b_dir == 1) 
{ 
    echo (" 
<select name='b_dir' id='inputwrap'> 
<option value='1'>يمين</option> 
<option value='2'>اعلى المنتصف</option> 
<option value='3'>اسفل المنتصف</option> 
<option value='4'>يسار</option> 
</select></td> 
</tr> ") ; 
} 
else if ($rbe->b_dir == 2) 
{ 
    echo (" 
<select name='b_dir' id='inputwrap'> 
<option value='2'>اعلى المنتصف</option> 
<option value='3'>اسفل المنتصف</option> 
<option value='1'>يمين</option> 
<option value='4'>يسار</option> 
</select></td> 
</tr> "); 
} 
else if ($rbe->b_dir == 3) 
{ 
    echo (" 
<select name='b_dir' id='inputwrap'> 
<option value='3'>اسفل المنتصف</option> 
<option value='2'>اعلى المنتصف</option> 
<option value='1'>يمين</option> 
<option value='4'>يسار</option> 
</select></td> 
</tr> "); 
} 
else if ($rbe->b_dir == 4) 
{ 
    echo (" 
<select name='b_dir' id='inputwrap'> 
<option value='4'>يسار</option> 
<option value='2'>اعلى المنتصف</option> 
<option value='1'>يمين</option> 
<option value='3'>اسفل المنتصف</option> 
</select></td> 
</tr> "); 
} 

Вы должны использовать наши Выбранные функции

echo " 
    <select name='b_dir' id='inputwrap'> 
    <option value='4' ".selected( 4 , $rbe->b_dir)." >يسار</option> 
    <option value='2' ".selected( 2 , $rbe->b_dir).">اعلى المنتصف</option> 
    <option value='1' ".selected( 1 , $rbe->b_dir)." >يمين</option> 
    <option value='3' ".selected( 3 , $rbe->b_dir)." >اسفل المنتصف</option> 
    </select></td> 
    </tr> "; 

и для вашей проблемы

Распечатайте $_POST после покориться и проверить все VALES Первые

С наилучшими пожеланиями Sec.php

+0

спасибо ^^ за помощь
после размещения echo $ _POST это дает мне слово «массив»? – user3210329

+0

Нет брата, вы должны использовать print_r ($ _POST); для печати массива сообщений, эхо не будет работать здесь – Safy

+0

это печать 1 в echo или print_r – user3210329

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