Как се едитва поле not null?

aquafresh

Registered
Значи имам една таблица която е not null с default '1'
И искам от админ панела да мога да го едитвам. Всичко друго се променя ,но това неще? Как да го едитна
 
Е да ама като го направя 0 ще ми се омешат другите неща. Това са един вид права..
1 - потребител
2 - ъплоудър
3- админ

Пък и какво значение има какъв дефаулт е?
 
А защо не иска? Каква грешка ти дава (ако изкарва грешка)?
mysql_query("UPDATE `таблицата` SET level = '2' WHERE username='$username'")or die(mysql_error());
 
Не няма грешка.. виж кода..
Код:
<?php
include ("config.php");
$id=(int)$_GET['id'];
$db=mysql_query("SELECT * FROM users WHERE id='$id'");
while ($r=mysql_fetch_array($db))
{
$username=$r['username'];
$email=$r['email'];
$avatar=$r['avatar'];
$sex=$r['sex'];
$age=$r['age'];
$site=$r['site'];
$skype=$r['skype'];
$signature=$r['signature'];
$location=$r['location'];
$interests=$r['interests'];
$regip=$r['regip'];
$level=$r['level'];
}
echo "
	<form method='post' action='uedit.php'>
	<table width='100%' border='0'>
	<tr>
    <td width='10%' class='uprofile'> </td>
    <td class='uprofile'>$username | $regip </td>
  </tr>
  <tr>
    <td width='10%' class='uprofile'>E-mail:</td>
    <td class='uprofile'><input type='text' name='email' value='$email'></td>
  </tr>
  <tr>
    <td width='10%' class='uprofile'>Аватар:</td>
    <td class='uprofile'><input type='text' name='avatar' value='$avatar'></td>
  </tr>
  <tr>
    <td width='10%' class='uprofile'>Пол:</td>
    <td class='uprofile'>
	<select name='sex'>
	<option value='Мъж'>Мъж</option>
	<option value='Жена'>Жена</option>
	</select>
	</td>
  </tr>
  <tr>
    <td width='10%' class='uprofile'>Години:</td>
    <td class='uprofile'><input type='text' name='age' value='$age'></td>
  </tr>
  <tr>
    <td width='10%' class='uprofile'>Сайт:</td>
    <td class='uprofile'><input type='text' name='site' value='$site'></td>
  </tr>
  <tr>
    <td width='10%' class='uprofile'>Skype:</td>
    <td class='uprofile'><input type='text' name='skype' value='$skype'></td>
  </tr>
  <tr>
    <td width='10%' class='uprofile' valign='top'>Подпис: </td>
    <td class='uprofile'><textarea name='signature' cols='35' rows='5' id='signature'>$signature</textarea></td>
  </tr>
  <tr>
    <td width='10%' class='uprofile'>Местоживеене:</td>
    <td class='uprofile'><input type='text' name='location' value='$location'></td>
  </tr>
  <tr>
    <td width='10%' class='uprofile'>Интереси:</td>
    <td class='uprofile'><input type='text' name='interests' value='$interests'/></td>
  </tr>
    <tr>
    <td width='10%' class='uprofile'>Групи</td>
    <td class='uprofile'>
	<input type='text' name='level' value='$level'/>
	</td>
  </tr>
  <tr>
    <td class='uprofile'></td>
    <td class='uprofile'><input type='submit' name='submit' class='submit2' value='Редактирай'></td>
  </tr>
	</table>
	</form>
";

if ($_POST['edit'])
{
$email=$_POST['email'];
$avatar=$_POST['avatar'];
$sex=$_POST['sex'];
$age=$_POST['age'];
$site=$_POST['site'];
$skype=$_POST['skype'];
$signature=$_POST['signature'];
$location=$_POST['location'];
$interests=$_POST['interests'];
$level=$_POST['level'];
if ($email != null || $avatar != null || $sex != null || $age != null || $site != null || $skype != null || $signature != null || $location != null || $interests != null || $level != null)
{
mysql_query("UPDATE users SET email='$email',avatar='$avatar',sex='$sex',age='$age',site='$site',skype='$skype',signature='$signature',location='$location',interests='$interests',level='$level' WHERE id='$id'");
echo "Профила е променен";
}
else
{
echo "Не сте попълнили всички полета.";
}
}
?>
<br>
 
Пробвай така
<?php
include ("config.php");
$id=(int)$_GET['id'];
$db=mysql_query("SELECT * FROM users WHERE id='$id'");
while ($r=mysql_fetch_array($db))
{
$username=$r['username'];
$email=$r['email'];
$avatar=$r['avatar'];
$sex=$r['sex'];
$age=$r['age'];
$site=$r['site'];
$skype=$r['skype'];
$signature=$r['signature'];
$location=$r['location'];
$interests=$r['interests'];
$regip=$r['regip'];
$level=$r['level'];
}
echo "
<form method='post' action='uedit.php'>
<table width='100%' border='0'>
<tr>
<td width='10%' class='uprofile'> </td>
<td class='uprofile'>$username | $regip </td>
</tr>
<tr>
<td width='10%' class='uprofile'>E-mail:</td>
<td class='uprofile'><input type='text' name='email' value='$email'></td>
</tr>
<tr>
<td width='10%' class='uprofile'>Аватар:</td>
<td class='uprofile'><input type='text' name='avatar' value='$avatar'></td>
</tr>
<tr>
<td width='10%' class='uprofile'>Пол:</td>
<td class='uprofile'>
<select name='sex'>
<option value='Мъж'>Мъж</option>
<option value='Жена'>Жена</option>
</select>
</td>
</tr>
<tr>
<td width='10%' class='uprofile'>Години:</td>
<td class='uprofile'><input type='text' name='age' value='$age'></td>
</tr>
<tr>
<td width='10%' class='uprofile'>Сайт:</td>
<td class='uprofile'><input type='text' name='site' value='$site'></td>
</tr>
<tr>
<td width='10%' class='uprofile'>Skype:</td>
<td class='uprofile'><input type='text' name='skype' value='$skype'></td>
</tr>
<tr>
<td width='10%' class='uprofile' valign='top'>Подпис: </td>
<td class='uprofile'><textarea name='signature' cols='35' rows='5' id='signature'>$signature</textarea></td>
</tr>
<tr>
<td width='10%' class='uprofile'>Местоживеене:</td>
<td class='uprofile'><input type='text' name='location' value='$location'></td>
</tr>
<tr>
<td width='10%' class='uprofile'>Интереси:</td>
<td class='uprofile'><input type='text' name='interests' value='$interests'/></td>
</tr>
<tr>
<td width='10%' class='uprofile'>Групи</td>
<td class='uprofile'>
<input type='text' name='level' value='$level'/>
</td>
</tr>
<tr>
<td class='uprofile'></td>
<td class='uprofile'><input type='submit' name='submit' class='submit2' value='Редактирай'></td>
</tr>
</table>
</form>
";

if ($_POST['edit'])
{
$email=$_POST['email'];
$avatar=$_POST['avatar'];
$sex=$_POST['sex'];
$age=$_POST['age'];
$site=$_POST['site'];
$skype=$_POST['skype'];
$signature=$_POST['signature'];
$location=$_POST['location'];
$interests=$_POST['interests'];
$level=$_POST['level'];
if ($email != "" || $avatar != "" || $sex != "" || $age != "" || $site != "" || $skype != "" || $signature != "" || $location != "" || $interests != "" || $level != "")
{
mysql_query("UPDATE users SET email='$email',avatar='$avatar',sex='$sex',age='$age',site='$site',skype='$skype',signature='$signature',location='$location',interests='$interests',level='$level' WHERE id='$id'")or die(mysql_error());
echo "Профила е променен";
}
else
{
echo "Не сте попълнили всички полета.";
}
}
?>
<br>
 
А защо ти е въобще това default ?
Направи при самата регистрация да записва level='1' но не съмнява да е от дефаута..
Виж кода на Replace сигурно ще стaне с него :)
 
Направих го

`level` varchar(255) NOT NULL,
и при регистрация се добавя '1' ... обаче не ще да се едитва пак :shock:
 

Горе