Къде бъркам в тази проверка?

vaster

Registered
Код:
	$i=0;

if($i==0 && !$_POST['Submit']) {
	$i=1;
	$Event = mysql_query('INSERT INTO `clients_events` (`caller`,`user_id`,`type`,`time`)
	 VALUES ("'.SID.'","'.$id.'","call","'.time().'")')
	or die(mysql_error());
	echo 'insert zaqvka';
}
define('insert_id',mysql_insert_id());

if(isset($_POST['Submit'])) {
	$Event_Update = mysql_query('UPDATE `clients_events` SET `content`="'.$_POST['content'].'" WHERE `id`="'.insert_id.'"')
	or die(mysql_error());
		echo '<h3>Бележката е записана.</h3>';
}

Идеята е като се отвори страницата еднократно да INSERT-ва данни в базата кой, кога, защо и когато се изпрати формата към вече добавеното id да добавя съдържание от формата.
Нещо обаче не ми се получава, защото сега когато отворя страницата се изпраща нов запис към базата, и когато изпратя формата добавя още един запис с инфромация от формата, вместо да добавя към вече съществуващия запис.
Дано сте ме разбрали.
+1 :?:
 
Замести този ред:
Код:
define('insert_id',mysql_insert_id());
с този:
PHP:
$_SESSION['insert_id'] = mysql_insert_id();
и в заявката, където имаш
Код:
insert_id
го замени с това:
PHP:
$_SESSION['insert_id']
Разбира се в самото начало сложи session_start();, за да работят сесиите.
Защо сесии?
Константата, която дефинираш, е като променлива - важи само за съответния скрипт (и тези, които включваш в него). Тоест като презаредиш, няма да имаш дефинирана константа.
Направи следния тест:
PHP:
<?php
if(is_defined(konstanta)) echo "Конастантата е дефинирана!";
else {
   echo "Няма дефинирана константа. Дефинира се...";
   define("konstanta", "value");
}
?>
И ще се увериш :)
 

Back
Горе