-
codeigniter - عدم ذخیره
من از codeigniter استفاده می کنم
in view
کد:
<script type="text/javascript" src="<?php echo SITE_URL ?>js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#searchmenu").click(function(){
setRegisterUserEvent();
});
<div id ="registerbox" class="border">
<div id ="newuser">
<div>    ثبت نام کاربر :</div>
<div>
<br>
    <label> نام کاربر:</label>  
<input type="text" id="username" class="textbox" name="user_name" value="" />
     
<label> نوع کاربر:</label>  
<select id="type" class="textbox" >
<option value="none"> </option>
<option value="admin">مدیر</option>
<option value="doc">دکتر</option>
<option value="lab">تکنسین</option>
<option value="sec">منشی</option>
</select>
               
<label> اسم:</label>
<input type="text" id="name" class="textbox" name="user_n" value="" />
<p>
   
<label> رمز گذر:</label>  
<input type="password" id="password1" class="textbox" name="user_nc" value="" />
       
<label> تکرار رمز:</label>  
<input type="password" id="password2" class="textbox" name="user_nc" value="" />
       
<input type="submit" id="register" class="button" value="ثبت" />
</div>
</div>
</div>
function validpass()
{
var hasError = false;
var passwordVal = $("#password1").val();
var checkVal = $("#password2").val();
if (passwordVal == '') {
alert('لطفا رمز عبور را وارد کنید');
hasError = true;
} else if (checkVal == '') {
alert('لطفا رمز عبور را وارد کنید');
hasError = true;
} else if (passwordVal != checkVal ) {
alert('رمز یکسانی انتخاب نکردید');
hasError = true;
}
if(hasError == true) { return false; }
else {
alert('رمز عبور تایید شد');
return false;
}
}
function setRegisterUserEvent()
{
$('#register').click(function(){
validpass();
var name = $('#registerbox #name').val();
var type = $('#registerbox #type').val();
var username = $('#registerbox #username').val();
var password = $('#registerbox #password').val();
if (name == '' || username == '') {
alert('نام و نام کاربری را پر کنید');
} else {
url = '<?php echo SITE_URL; ?>index.php/ajax/registerUser';
data = '&name='+name+'&type='+type+'&username='+username+'&password='+password;
$.post(url, data, function(Data){
if (Data == '0') {
alert('مشکلی در ذخیره سازی داده ها پیش آمده است');
} else {
edituser(Data);
$("#id").val(Data);
}
// open a new popup div by jquery
});
}
});
}
function edituser(id)
{
$.get('<?php echo SITE_URL; ?>index.php/ajax/edituser/'+id,function(Data){
$("#registerbox").show();
$('#registerbox').html(Data);
$('#editinfobutton').click(function(){
$.get('<?php echo SITE_URL; ?>index.php/ajax/loadeditinfo/'+prv,function(Data){
$("#registerbox").html(Data);
$('#sendeditbutton').click(function(){
//alert('asdf');
sendEditInfo();
});
});
});
});
}
in controllers / ajax
کد:
function registeruser()
{
$name = $this->getPostVar('name', 'name');
$username = $this->getPostVar('username', '');
$type = $this->getPostVar('type', 0);
$password = $this->getPostVar('password', 0);
if ($name == '' || $username == '') {
die('0');
}
$fields = array('name', 'username', 'type', 'password');
$values = array("'".mysql_real_escape_string($name)."'", "'".mysql_real_escape_string($username)."'", "'".mysql_real_escape_string($type)."'AND password='".md5($password)."'");
$result = mysql_query($sql = "INSERT INTO patient (".implode(',',$fields).") VALUES (".implode(',', $values).")");
$id = mysql_insert_id();
echo "$id";
}
مشکل من این هست که اطلاعات در mysql ذخیره نمی شود
مشکل چیه؟
-
ارور معلومه کجاست ولی بهتره خودت پیدا کنی
بعد این خط
[PHP]
$result = mysql_query($sql = "INSERT INTO patient (".implode(',',$fields).") VALUES (".implode(',', $values).")");
[/PHP]
این خطو اضافه کن
[PHP]
if (!$result) die(mysql_error);
[/PHP]
توجه داشته باش تو پی اچ پی فقط واسه تست کردن باید از die استفاده کرد
-
دوست عزیز شما چرا کد SQL رو خودت میزنی؟ چرا از کلاس database خود codeigniter استفاده نمیکنی؟ تو سایتش بری توضیحات کاملش هست، فقط بگم که حتما از ActiveRecord هم استفاده کن(تو همون database هست)، کار رو خیلی راحت میکنه.