PDA

View Full Version : مشکل در فرستادن value ه radio button



Sepax1
یک شنبه 13 مرداد 1392, 09:52 صبح
با سلام به همه دوستان .
من به یه مشکل عجیب برخوردم .
3 تا رادیو باتن دارم که هر کدوم می خوام یه value رو به دیتا بیس بدن ولی فقط آخری کار می کنه . مثلا" بکنمش 4 تا هم فقط آخری کار می کنم . اینم فرمم :



<form action="send.php" method="post" id="form_sefaresh">
<p> نام :<br><input type="text" name="first_name" /> </p>
<p> نام خانوادگی :<br><input type="text" name="last_name" /> </p>
<p> شماره ی تماس :<br><input type="text" name="numbers" /> </p>
<p> سفارش :<br>
محصول خود را انتخاب کنید . <br>
اولی :<input type="radio" name="sefaresh_name" value="1" id="koosan" />&nbsp;
دومی :<input type="radio" name="sefaresh_name" value="2" id="domasbi" />&nbsp;
سومی :<input type="radio" name="sefaresh_name" value="3" id="mobli" />&nbsp;
</p><br>
<p id="avali">
تعداد:<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : B8</option>
<option value="B9">Code : B9</option>
</select>

</p>
<p id="dom">
تعداد:<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : D8</option>
<option value="B9">Code : D9</option>
</select>

</p>
<p id="mob">
تعداد:<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : M8</option>
<option value="B9">Code : M9</option>
</select>

</p>
<p> <input type="submit" value="ثبـت" /></p>



</form>

colors
یک شنبه 13 مرداد 1392, 10:36 صبح
مشکلی نداره!

<?php
if(isset($_POST['sefaresh_name']) && !empty($_POST['sefaresh_name'])){
echo $_POST['sefaresh_name'].'<br><hr>';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form method="post" id="form_sefaresh">
<p> نام :<br>
<input type="text" name="first_name" />
</p>
<p> نام خانوادگی :<br>
<input type="text" name="last_name" />
</p>
<p> شماره ی تماس :<br>
<input type="text" name="numbers" />
</p>
<p> سفارش :<br>
محصول خود را انتخاب کنید . <br>
اولی :
<input type="radio" name="sefaresh_name" value="1" id="koosan" />
&nbsp;
دومی :
<input type="radio" name="sefaresh_name" value="2" id="domasbi" />
&nbsp;
سومی :
<input type="radio" name="sefaresh_name" value="3" id="mobli" />
&nbsp; </p>
<br>
<p id="avali"> تعداد:
<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : B8</option>
<option value="B9">Code : B9</option>
</select>
</p>
<p id="dom"> تعداد:
<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : D8</option>
<option value="B9">Code : D9</option>
</select>
</p>
<p id="mob"> تعداد:
<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : M8</option>
<option value="B9">Code : M9</option>
</select>
</p>
<p>
<input type="submit" value="ثبـت" />
</p>
</form>
</body>
</html>

Sepax1
یک شنبه 13 مرداد 1392, 11:26 صبح
منم موندم چرا اینطوری ه ؟؟!!

الان مثلا" وقتی تو سایت رادیو باتن دومی رو انتخاب می کنم چیزی تو دیتابیس ثبت نمیشه و ارور میده ولی وقتی آخری رو انتخاب کنم درست میشه .

اینم قسمت mysql ش :



$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$number = $_POST['numbers'];
$sefaresh_name = $_POST['sefaresh_name'];
$sefaresh_code = $_POST['sefaresh_code'];
$sefaresh_adad = $_POST['sefaresh_adad'];

$query = " INSERT INTO sefaresh ( first_name , last_name , number , sefaresh_name , sefaresh_code , sefaresh_adad) VALUES (
'{$first_name}' , '{$last_name}' , {$number} , '{$sefaresh_name}' , '{$sefaresh_code}' , {$sefaresh_adad})";

iradata
یک شنبه 13 مرداد 1392, 11:31 صبح
<form action="send.php" method="post" id="form_sefaresh">
<p> نام :<br><input type="text" name="first_name" /> </p>
<p> نام خانوادگی :<br><input type="text" name="last_name" /> </p>
<p> شماره ی تماس :<br><input type="text" name="numbers" /> </p>
<p> سفارش :<br>
محصول خود را انتخاب کنید . <br>
اولی :<input type="radio" name="sefaresh_name[]" value="1" id="koosan" />&nbsp;
دومی :<input type="radio" name="sefaresh_name[]" value="2" id="domasbi" />&nbsp;
سومی :<input type="radio" name="sefaresh_name[]" value="3" id="mobli" />&nbsp;
</p><br>
<p id="avali">
تعداد:<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : B8</option>
<option value="B9">Code : B9</option>
</select>

</p>
<p id="dom">
تعداد:<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : D8</option>
<option value="B9">Code : D9</option>
</select>

</p>
<p id="mob">
تعداد:<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : M8</option>
<option value="B9">Code : M9</option>
</select>

</p>
<p> <input type="submit" value="ثبـت" /></p>



</form>



کد html رو مثل بالا کنین و با php اینطور بخون :



$_POST['sefaresh_name'][0];
$_POST['sefaresh_name'][1];
$_POST['sefaresh_name'][2];

Sepax1
یک شنبه 13 مرداد 1392, 11:39 صبح
اینطوری هم فقط آخریه کار می کنه . :(

p30online
یک شنبه 13 مرداد 1392, 11:58 صبح
دوست عزیز این کد اطلاعات رادیو را در بانک ذخیره می کند !


<form action="" method="post">
<input checked="checked" type="radio" name="n" value="1" /><label> طراحی سایت عالی است!</label><br />
<input type="radio" name="n" value="2" /><label>طراحی سایت خوب است!</label><br />
<input type="radio" name="n" value="3" /><label>طراحی سایت متوسط است!</label><br />
<input type="radio" name="n" value="4" /><label>طراحی سایت بد است!</label><br />
<input type="radio" name="n" value="5" /><label>طراحی سایت خیلی بد است!</label><br />
<input style="margin-right:100px" type="submit" name="nazar" value="ثبت" />
</form>

<?php
if(isset($_POST['nazar']))
{
$connect=mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("perspolis");

$sql="insert into `nazar` ( `nazar` ) values ('$_POST[n]' )";
if(mysql_query($sql))
echo "نظر شما ثبت شد" ;
mysql_close($connect);
}
?>


شما کدهای php خود را بگذارید اینجا ببینیم کدهای send.php

Sepax1
یک شنبه 13 مرداد 1392, 12:04 عصر
کد من بدون validate ولی همین فلا" کار نمی کنه :



<?php
$connection = mysql_connect("localhost","root","");
if(!$connection){
die("Error in Connection to the DB " . mysql_error());
}
$db_select = mysql_select_db("tash", $connection);
if(!$db_select){
die("Error in Selection DB " . mysql_error());
}
mysql_query('SET NAMES \'utf8\'');
mysql_set_charset('utf8');

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$number = $_POST['numbers'];
$sefaresh_name = $_POST['sefaresh_name'];
$sefaresh_code = $_POST['sefaresh_code'];
$sefaresh_adad = $_POST['sefaresh_adad'];

$query = " INSERT INTO sefaresh ( first_name , last_name , number , sefaresh_name , sefaresh_code , sefaresh_adad) VALUES (
'{$first_name}' , '{$last_name}' , {$number} , '{$sefaresh_name}' , '{$sefaresh_code}' , {$sefaresh_adad})";
$result = mysql_query($query, $connection);
if($result) {
header('Location: index.php');
exit();
}
else {
header('Location: sefaresh.php');
exit();
}

?>

p30online
یک شنبه 13 مرداد 1392, 12:32 عصر
ببین این برات کار می کنه یا نه؟



<?php
$connection = mysql_connect("localhost","root","");
if(!$connection){
die("Error in Connection to the DB " . mysql_error());
}
$db_select = mysql_select_db("tash", $connection);
if(!$db_select){
die("Error in Selection DB " . mysql_error());
}
mysql_query('SET NAMES \'utf8\'');
mysql_set_charset('utf8');

// $first_name = $_POST['first_name'];
// $last_name = $_POST['last_name'];
// $number = $_POST['numbers'];
// $sefaresh_name = $_POST['sefaresh_name'];
// $sefaresh_code = $_POST['sefaresh_code'];
// $sefaresh_adad = $_POST['sefaresh_adad'];

$query = " INSERT INTO sefaresh ( first_name , last_name , number , sefaresh_name , sefaresh_code , sefaresh_adad) VALUES (
'$_POST[first_name]' , '$_POST[last_name]' , '$_POST[numbers]' , '$_POST[sefaresh_name]' , '$_POST[sefaresh_code]' , '$_POST[sefaresh_adad]')";
$result = mysql_query($query, $connection);
if($result) {
header('Location: index.php');
exit();
}
else {
header('Location: sefaresh.php');
exit();
}

?>

Sepax1
یک شنبه 13 مرداد 1392, 12:54 عصر
این الان کار می کنه ولی تو دیتا بیسم به جای اون name ها . فقط می نویسه array .

p30online
یک شنبه 13 مرداد 1392, 13:02 عصر
کدوم فیلد ؟؟first_name and last_name ???

Sepax1
یک شنبه 13 مرداد 1392, 13:09 عصر
نه . اونا درستن . من می خوام تو فیلد sefaresh_name یه نوشته ای باشه . که الان به جاش می نویسه array .
sefaresh _adad هم اصلا" عددشو ثبت نمی کنه .

p30online
یک شنبه 13 مرداد 1392, 13:30 عصر
ببین دوست خوب مربوط میشه به قسمت فرمی که درست کردی !!!
شما باید اطلاعات قسمت فرمت را درست کنی !شما اومدید 3 تا


<input type="text" name="sefaresh_adad" >

درست کردی هر سه تا هم نامشون برابر است چرا؟؟؟
بعد ' را از دور سفارش عدد بردار .شاید متغیرت از نوع صحیح باشه .من از نوع ورچر بود.

abolfazl-z
یک شنبه 13 مرداد 1392, 13:33 عصر
دوست من کد زیر تا قبل دیتابیس کار میکند.ببینید که مشکلی دارید تا قبل ارسال اطلاعات به دیتابیس(یعنی قبل از اینکه ثبت کنین اطلاعات دریافت میشه)


<form action="" method="post" id="form_sefaresh" dir="rtl">
<p> نام :<br><input type="text" name="first_name" /> </p>
<p> نام خانوادگی :<br><input type="text" name="last_name" /> </p>
<p> شماره ی تماس :<br><input type="text" name="numbers" /> </p>
<p> سفارش :<br>
محصول خود را انتخاب کنید . <br>
اولی :<input type="radio" name="sefaresh_name" value="1" id="koosan" />&nbsp;
دومی :<input type="radio" name="sefaresh_name" value="2" id="domasbi" />&nbsp;
سومی :<input type="radio" name="sefaresh_name" value="3" id="mobli" />&nbsp;
</p><br>
<p id="avali">
تعداد:<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : B8</option>
<option value="B9">Code : B9</option>
</select>

</p>
<p id="dom">
تعداد:<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : D8</option>
<option value="B9">Code : D9</option>
</select>

</p>
<p id="mob">
تعداد:<input type="text" name="sefaresh_adad" >
کد:
<select name="sefaresh_code" >
<option value="B8">Code : M8</option>
<option value="B9">Code : M9</option>
</select>

</p>
<p> <input type="submit" value="ثبـت" /></p>



</form>
<?php
if($_POST)
echo $_POST['sefaresh_name'];
?>

اگر اطلاعات را تا اینجا درست دریافت کرده اید سپس مشکل از قسمت ثبت اطلاعاتتون هست!

abolfazl-z
یک شنبه 13 مرداد 1392, 13:36 عصر
درست کردی هر سه تا هم نامشون برابر است چرا؟؟؟دلیل این کار دوستمان این هست که اگر هر وقت نام چند رادیو باتن را مثل هم در نظر بگیریم آن ها در یک فریم قرار میگیرد و حالت select-one (یعنی از بین این سه تا یکی انتخاب میشه)میگیرد.

p30online
یک شنبه 13 مرداد 1392, 13:43 عصر
دلیل این کار دوستمان این هست که اگر هر وقت نام چند رادیو باتن را مثل هم در نظر بگیریم آن ها در یک فریم قرار میگیرد و حالت select-one (یعنی از بین این سه تا یکی انتخاب میشه)میگیرد.

منظورم مقدرا text است نه radio

Sepax1
یک شنبه 13 مرداد 1392, 13:44 عصر
ببخشید اون array ی که نشون میداد . برای اون [] هایی که دوست قبلی مون گفته بود اضافه کن مونده بود . الان اون درست شد .

من 3 تا input text دارم که هر سه شون یه name دارن . درسته .

به این دلیل ه که تو خود فرم اول فقط رادیو باتن ها نشون داده میشن و بقیه hide ن . وقتی رو یکی از رادیو باتن ها کلیک میشه . اون 2 تا فیلد مخصوص به خودش show میشه .

=====
الان هم مشکل فقط توی sefaresh_adad که هر عددی بزنی صفر نشون میده


پ.ن : ببخشید این قدر درگیرتون کردم

p30online
یک شنبه 13 مرداد 1392, 14:10 عصر
از ما که نشون میده
http://www.uploadtak.com/images/h8328_Untitled.png

این هم ساخت بانک با خصوصیاتش
http://www.uploadtak.com/images/p987_Untitled2.png

Sepax1
یک شنبه 13 مرداد 1392, 14:19 عصر
الان شما تو کدتون 3 تا <input type="text" دارین یا یدونه ؟؟؟

p30online
یک شنبه 13 مرداد 1392, 14:22 عصر
این کد را به جای قبلی بگذار ببین کارت راه میفته؟؟؟(خصوصیات بانکت باید مثل تصویر بالایی باشد)



<?php
$connection = mysql_connect("localhost","root","");
if(!$connection){
die("Error in Connection to the DB " . mysql_error());
}
$db_select = mysql_select_db("tash", $connection);
if(!$db_select){
die("Error in Selection DB " . mysql_error());
}
mysql_query('SET NAMES \'utf8\'');
mysql_set_charset('utf8');

// $first_name = $_POST['first_name'];
// $last_name = $_POST['last_name'];
// $number = $_POST['numbers'];
// $sefaresh_name = $_POST['sefaresh_name'];
// $sefaresh_code = $_POST['sefaresh_code'];
// $sefaresh_adad = $_POST['sefaresh_adad'];

$query = " INSERT INTO sefaresh ( first_name , last_name , number , sefaresh_name , sefaresh_code , sefaresh_adad) VALUES (
'$_POST[first_name]' , '$_POST[last_name]' , $_POST[numbers] , '$_POST[sefaresh_name]' , '$_POST[sefaresh_code]' , $_POST[sefaresh_adad])";
$result = mysql_query($query, $connection);
if($result) {
header('Location: index.php');
exit();
}
else {
header('Location: index.php');
exit();
}

?>

Sepax1
یک شنبه 13 مرداد 1392, 14:54 عصر
نه در این صورت اصلا" ثبت نمیشه . ارور میده .
من امتحان کردم وقتی 3 تا فیلدو پر کنم عدد سند میشه .
به خاطر همین می خوام به جای رادیو باتن بکنمش چک باکس و چند تا فیلد تو دیتابیس بیشتر کنم تا هم درست شه هم بهتر شه .

در هر صورت خیلی ممنون از شما . خیلی کمک کردید

p30online
یک شنبه 13 مرداد 1392, 16:26 عصر
این فایل ضمیمه را دانلود کن بانک اطلاعاتی را هم ایمپورت کن!
http://www.uploadtak.com/images/f1495_sepax.rar

Sepax1
یک شنبه 13 مرداد 1392, 17:25 عصر
دیگه نیاز نیست دوست عزیز . با چک باکس بهتر هم شد . ممنون