Много странен проблем със зявка..

TaLenTo

Registered
Пиша една система и всичко върви на добре.. Слагам един код, който ще добавя публикации в страница.. та проблема е следния когато напиша нещо от формата за добавяне пише, че е добавено успешно, но когато проверя PhpMyAdmin там няма добавена заявка, а и в страницата не излиза.. Ето ми целият код

Код:
<?
if($_POST['addl'])
{
$title = htmlspecialchars($_POST['title']);
$description = htmlspecialchars($_POST['description']);
$lesson = htmlspecialchars($_POST['lesson']);
$photo = htmlspecialchars($_POST['photo']);
$where = htmlspecialchars($_POST['where']);

if(empty($title)) { echo '<font face="Tahoma" size=2>Моля въведете име на албума!</font>'; }
elseif(empty($description)) { echo '<font face="Tahoma" size=2>Моля въведете линк на албума!</font>'; }
elseif(empty($lesson)) { echo '<font face="Tahoma" size=2>Моля въведете снимка на албума!</font>'; }
elseif(empty($photo)) { echo '<font face="Tahoma" size=2>Моля въведете песните в албума!</font>'; }
elseif(empty($where)) { echo '<font face="Tahoma" size=2>Моля въведете ot в албума!</font>'; }
else {
$insertalbum = mysql_query("INSERT lessons (photo, title, description, lesson, photo, where) VALUES ('$photo', '$title', '$description', '$lesson', '$photo', '$where')");
{
echo '<table border="0" width="100%" cellspacing="2" cellpadding="2">
			<tr>
				<td>
					<table border="0" width="100%" cellspacing="2" cellpadding="2">
						<tr><div class="success"><div><font face="Tahoma" size="2"><center><b>Албума е добавен успешно!<br />Чака одобрение от администратор!</b></font></div></div></table></td></tr></table>';
}
}
}
?>

<form action="" method="POST">
<table border="0" cellspacing="2" cellpadding="2">
 <tr>
  <td><font face="Tahoma" size="2">Заглавие:</font> <font color="red" font="Tahoma" size="2">*</font></td>
  <td><input type="text" size="30" name="title"></td>
 </tr>
 <tr>
  <td><font face="Tahoma" size="2">Описание:</font> <font color="red" font="Tahoma" size="2">*</font></td>
  <td><input type="text" size="30" name="description"></td>
 </tr>
 <tr>
  <td><font face="Tahoma" size="2">Снимка:</font> <font color="red" font="Tahoma" size="2">*</font></td>
  <td><input type="text" size="30" name="photo"></td>
 </tr>
 <tr>
  <td><font face="Tahoma" size="2">Цялата:</font> <font color="red" font="Tahoma" size="2">*</font></td>
  <td><textarea name="lesson" cols="30" rows="10"></textarea></td>
 </tr>
  <tr>
  <td><font face="Tahoma" size="2">От:</font> <font color="red" font="Tahoma" size="2">*</font></td>
  <td><input type="text" size="30" name="where"></td>
 </tr>
<tr>
	<td colspan="2" height="40px"><small>Полетата със звездички <font color="red" font="Tahoma" size="2">*</font> са задължителни!</small></td>
 </tr>
 <tr>
  <td colspan="2"><input type="submit" name="addl" value="добави"></td>
 </tr>
</table>
</form>
 
Не съм сигурен, но да Where знам какво изпълнява.. поправих го, дори махнах този ред от заявката ...

п.п Кода го взех от един мой сайт където работи на 6, но там имам вход панел, а тук не. Защото този сайт не е нужно да се регистрираш и т.н ..

Сега кодът е така и проблема си е същият...

Код:
<?
if($_POST['addl'])
{
$title = htmlspecialchars($_POST['title']);
$description = htmlspecialchars($_POST['description']);
$lesson = htmlspecialchars($_POST['lesson']);
$photo = htmlspecialchars($_POST['photo']);

if(empty($title)) { echo '<font face="Tahoma" size=2>Моля въведете име на албума!</font>'; }
elseif(empty($description)) { echo '<font face="Tahoma" size=2>Моля въведете линк на албума!</font>'; }
elseif(empty($lesson)) { echo '<font face="Tahoma" size=2>Моля въведете снимка на албума!</font>'; }
elseif(empty($photo)) { echo '<font face="Tahoma" size=2>Моля въведете песните в албума!</font>'; }
else {
$insertalbum = mysql_query("INSERT lessons (photo, title, description, lesson, photo) VALUES ('$photo', '$title', '$description', '$lesson', '$photo')");
{
echo '<table border="0" width="100%" cellspacing="2" cellpadding="2">
			<tr>
				<td>
					<table border="0" width="100%" cellspacing="2" cellpadding="2">
						<tr><div class="success"><div><font face="Tahoma" size="2"><center><b>Албума е добавен успешно!<br />Чака одобрение от администратор!</b></font></div></div></table></td></tr></table>';
}
}
}
?>

<form action="" method="POST">
<table border="0" cellspacing="2" cellpadding="2">
 <tr>
  <td><font face="Tahoma" size="2">Заглавие:</font> <font color="red" font="Tahoma" size="2">*</font></td>
  <td><input type="text" size="30" name="title"></td>
 </tr>
 <tr>
  <td><font face="Tahoma" size="2">Описание:</font> <font color="red" font="Tahoma" size="2">*</font></td>
  <td><input type="text" size="30" name="description"></td>
 </tr>
 <tr>
  <td><font face="Tahoma" size="2">Снимка:</font> <font color="red" font="Tahoma" size="2">*</font></td>
  <td><input type="text" size="30" name="photo"></td>
 </tr>
 <tr>
  <td><font face="Tahoma" size="2">Цялата:</font> <font color="red" font="Tahoma" size="2">*</font></td>
  <td><textarea name="lesson" cols="30" rows="10"></textarea></td>
 </tr>

<tr>
	<td colspan="2" height="40px"><small>Полетата със звездички <font color="red" font="Tahoma" size="2">*</font> са задължителни!</small></td>
 </tr>
 <tr>
  <td colspan="2"><input type="submit" name="addl" value="добави"></td>
 </tr>
</table>
</form>
 
Тогава виж къде е проблема -> mysql_erorr();

Код:
$insertalbum = mysql_query("INSERT lessons (photo, title, description, lesson, photo) VALUES ('$photo', '$title', '$description', '$lesson', '$photo')") or die(mysql_error());

И кажи каква грешка дава, ако изобщо има такава.
Другия начин да дебъгваш да направиш прмерна заявка и да я изпълниш от phpmyadmin-a ти. Нещо от сорта на:

Код:
INSERT lessons (photo, title, description, lesson, photo) 
VALUES ('примерно инфо', 'примерно заглавие', 'примерно описание', 'примерно инфо', 'блабла');

Сега забелязах, че имаш photo два пъти :)
 
Оооо колко съм прост. Пиша гледам и пак не до виждам. В първият код не знам къде е бил проблема, но в този след като сложих това
Код:
 or die (mysql_error())
си видях грешката. Понеже кода е взет от другият ми сайт и имало вече едно photo и след това съм сложил още един път photo. :) Мерси много, +1 все пак ми помогна да си открия грешката.. ;)
 

Back
Горе