[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в коде
Гость_Лена
Народ,кто знает помогите пожалуйста.Вот код программы:
<?php 
$dbhost = "localhost"; // Имя хоста БД
$dbusername = "root"; // Пользователь БД
$dbpass = ""; // Пароль к базе
$dbname = "Kadr"; // Имя базы
$dbconnect = mysql_connect ($dbhost, $dbusername, $dbpass);
if (!$dbconnect) { echo ("Не могу подключиться к серверу базы данных!"); }
if(@mysql_select_db($dbname)) { echo "Подключение к базе $dbname установлено!"; }
else die ("Не могу подключиться к базе данных $dbname!");
if ( !isset( $_GET["action"] ) ) $_GET["action"] = "showlist";

switch ( $_GET["action"] )
{
case "showlist": // Список всех записей в таблице БД
show_list(); break;
case "addform": // Форма для добавления новой записи
get_add_item_form(); break;
case "add": // Добавить новую запись в таблицу БД
add_item(); break;
case "editform": // Форма для редактирования записи
get_edit_item_form(); break;

case "update": // Обновить запись в таблице БД
update_item(); break;
case "delete": // Удалить запись в таблице БД
delete_item(); break;
default:
show_list();
}// Функция выводит список всех записей в таблице БД
function show_list()
{
$query = 'SELECT * FROM Organizacia where 1';

$res = mysql_query( $query );
echo '<h2>Список</h2>';
echo '<table border="1" cellpadding="2" cellspacing="0">';
echo '<tr><th>Код_орг</th><th>Название</th><th>Вид деят.</th><th>Фам.рук</th><th>Ред</th><th>Удл</th></tr&a mp;g t;';
while ( $item = mysql_fetch_array( $res ) )
{
echo '<tr>';
echo '<td>'.$item['kod_org'].'</td>';
echo '<td>'.$item['nazv'].'</td>';
echo '<td>'.$item['vid_deiad'].'</td>';

echo '<td>'.$item['fam_ruk'].'</td>';
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?action=editform&id='.$item['kod_org'].'">Ред.</a></td>';
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?action=delete&id='.$item['kod_org'].'">Удл.</a></td>';
echo '</tr>';
}
echo '</table>';
echo '<p><a href="'.$_SERVER['PHP_SELF'].'?action=addform">Добавить</a></p>';
}
// Функция формирует форму для добавления записи в таблице БД
function get_add_item_form()
{

echo '<h2>Добавить</h2>';
echo '<form name="addform" action="'.$_SERVER['PHP_SELF'].'?action=add" method="POST">';
echo '<table>';
echo '<tr>';
echo '<td>Код орг.</td>';
echo '<td><input type="text" name="kod_org" value="" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td>Название</td>';
echo '<td><input type="text" name="nazv" value="" /></td>';

echo '</tr>';
echo '<tr>';
echo '<td>Вид деят.</td>';
echo '<td><input type="text" name="vid_deiad" value="" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td>Фам.рук.</td>';
echo '<td><input type="text" name="fam_ruk" value="" /></td>';
echo '</tr>';
echo '<tr>';

echo '<td><input type="submit" value="Сохранить"></td>';
echo '<td><button type="button" onClick="history.back();">Отменить</button></td>';
echo '</tr>';
echo '</table>';
echo '</form>';
}
// Функция добавляет новую запись в таблицу БД
function add_item()
{
$kod_org = mysql_escape_string( $_POST['kod_org'] );
$nazv = mysql_escape_string($_POST['nazv']);
$vid_deiad = mysql_escape_string( $_POST['vid_deiad'] );

$fam_ruk = mysql_escape_string( $_POST['fam_ruk']);
$query = "INSERT INTO Organizacia (nazv,vid_deiad,fam_ruk) VALUES ( '".$nazv."','".$vid_deiad."',
'"
.$fam_ruk."');";
mysql_query ( $query );
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}// Функция формирует форму для редактирования записи в таблице БД
function get_edit_item_form()
{
echo '<h2>Редактировать</h2>';

$query = 'SELECT * FROM Organizacia WHERE kod_org='.$_GET['id'];
$res = mysql_query( $query );
$item = mysql_fetch_array( $res );
echo '<form name="editform" action="'.$_SERVER['PHP_SELF'].'?action=update&kod_org='.$_GET['id'].'" method="POST">';
echo '<table>';
echo '<tr>';
echo '<td>Код орг</td>';
echo '<td><input type="text" name="kod_org" value="'.$item['kod_org'].'"></td>';
echo '</tr>';
echo '<tr>';

echo '<td>Название</td>';
echo '<td><input type="text "name="nazv" value="'.$item['nazv'].'"></td>';
echo '</tr>';
echo '<tr>';
echo '<td>Вид д-ти</td>';
echo '<td><input type="text" name="vid_deiad" value="'.$item['vid_deiad'].'"></td>';
echo '</tr>';
echo '<tr>';
echo '<td>Фам. рук-ля</td>';
echo '<td><input type="text" name="fam_ruk" value="'.$item['fam_ruk'].'"></td>';

echo '</tr>';
echo '<tr>';
echo '<td><input type="submit" value="Сохранить"></td>';
echo '<td><button type="button" onClick="history.back();">Отменить</button></td>';
echo '</tr>';
echo '</table>';
echo '</form>';
} // Функция обновляет запись в таблице БД
function update_item()

{
$kod_org = mysql_escape_string( $_POST['kod_org'] );
$nazv = mysql_escape_string( $_POST['nazv'] );
$vid_deiad = mysql_escape_string( $_POST["vid_deiad"] );
$fam_ruk = mysql_escape_string( $_POST["fam_ruk"] );
$query = "UPDATE Organizacia SET kod_org='".$kod_org."',nazv='".$nazv."',
vid_deiad='"
.$vid_deiad."', fam_ruk='".$fam_ruk."'
WHERE id="
.$_GET['id'];
mysql_query ( $query );
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();

}
// Функция удаляет запись в таблице БД
function delete_item()
{ header( 'Location: '.$_SERVER['PHP_SELF'].'' );
$query = "delete FROM Organizacia WHERE kod_org=".$_GET['id'];
mysql_query ( $query );
header( 'Location: '.$_SERVER['PHP_SELF']);
die();
}
?>


пишет ошибку:
Warning: Cannot modify header information - headers already sent by (output started at L:\home\localhost\www\Kadr\admin.php:8) in L:\home\localhost\www\Kadr\admin.php on line 144

Это вот эта строчка
header( 'Location: '.$_SERVER['PHP_SELF']);
Исправьте пожалуйста...



Спустя 14 минут, 48 секунд (26.05.2012 - 18:08) redreem написал(а):
скорее всего достаточно сохранить файл в кодировке UTF8 БЕЗ БОМ

Спустя 55 минут, 7 секунд (26.05.2012 - 19:03) Гость_Лена написал(а):
попробовала поменять,но все тоже самое,просто буквы непонятные стали user posted image

Спустя 6 минут, 59 секунд (26.05.2012 - 19:10) vagrand написал(а):
При чем тут UTF, хидеры можно посылать пока не отослано тело документа, а у вас по всей видимости до отправки хидера редиректа уже происходит вывод какой-то информации.

Спустя 3 часа, 21 минута, 29 секунд (26.05.2012 - 22:32) Zzepish написал(а):
header можно производить ДО любого вывода информации в браузер! Даже пробел и перенос строки вне <?php ?> считается выводом информации!

<?php
header();
?>
- правильно!
<html>

<?php
header();
?> - не правильно

Спустя 12 часов, 57 минут, 56 секунд (27.05.2012 - 11:30) Guest написал(а):
а тогда почему вот эта прога рабочая

<?php


// переменные для подключения к базе

$db_server = "localhost"; // адрес сервера

$db_database = "Kadr_agentstvo"; // имя базы данных

$db_username = "root"; // логин к базе

$db_password = ""; // пароль к базе данных

// определение режима (просмотр/редактирование/создание)


$mode = "show";
$method = mb_strtolower($_SERVER['REQUEST_METHOD']);


if ($_GET["mode"] != "")

{
$mode = $_GET["mode"];
}



// создание подключения к базе данных

$connection = mysql_connect($db_server,$db_username,$db_password)
or die("Could not connect: " . mysql_error());

mysql_select_db($db_database, $connection);

mysql_query("Set names cp1251;");



// просмотр списка компаний

if ($mode == "show" || $mode == "")
{
echo "<h3>Список компаний</h3>";

$result = mysql_query("SELECT * FROM Company");

echo "<table border='1'>";

while($row = mysql_fetch_array($result))
{

echo "<tr>";

echo "<td>";
echo $row['Title'];
echo "</td>";

echo "<td>";

echo "<a href='?mode=edit&id=".$row['Id']."'>Редактировать</a> ";
// echo "<a href='?mode=delete&id=".$row['Id']."' onclick=\"javascript:return confirm('Удалить?')\">Удалить</a> ";
echo "</td>";

echo "</tr>";
}

echo "</table>";

echo "<br/><br/><br/><a href='?mode=add'>Добавить компанию</a>";
}
// окончание просмотра списка компаний


// редактирование компании (отображение формы)


if ($mode == "edit" && $method == "get")
{
echo "<h3>Редактирование компании</h3>";


$result = mysql_query("SELECT * FROM Company WHERE Id=".$_GET["id"]);

echo "<form action='?mode=edit' method='post'><table>";

while($row = mysql_fetch_array($result))
{

echo "<input type='hidden' name='Id' value='".$row['Id']."'/>";


echo "<tr>";

echo "<td>Название</td>";

echo "<td><input name='Title' value='".$row['Title']."'/></td>";

echo "</tr>";


echo "<tr>";

echo "<td>Адрес</td>";

echo "<td><input name='Address' value='".$row['Address']."'/></td>";

echo "</tr>";


echo "<tr>";

echo "<td>Телефон</td>";

echo "<td><input name='Phone' value='".$row['Phone']."'/></td>";

echo "</tr>";



echo "<tr>";

echo "<td></td>";

echo "<td><input type='submit' value='Сохранить'/></td>";

echo "</tr>";

}

echo "</table></form>";


echo "<br/><br/><br/><a href='?mode=show'>вернуться к списку</a>";
}
// окончание редактирования компании (отображение формы)




// редактирование компании (сохранение изменений в базе)


if ($mode == "edit" && $method == "post")
{

$txtsql = "UPDATE Company SET Title='".$_POST["Title"]."', Address='".$_POST["Address"]."',
Phone='"
.$_POST["Phone"]."' WHERE Id=".$_POST["Id"];

mysql_query($txtsql);
header('Location:?mode=show');
}
// окончание редактирования компании (сохранение изменений в базе)




// создание компании (отображение формы)


if ($mode == "add" && $method == "get")
{

echo "<h3>Добавление компании</h3>";


echo "<form action='?mode=add' method='post'><table>";


echo "<tr>";

echo "<td>Название</td>";

echo "<td><input name='Title' value=''/></td>";

echo "</tr>";


echo "<tr>";

echo "<td>Адрес</td>";

echo "<td><input name='Address' value=''/></td>";

echo "</tr>";


echo "<tr>";

echo "<td>Телефон</td>";

echo "<td><input name='Phone' value=''/></td>";

echo "</tr>";



echo "<tr>";

echo "<td></td>";

echo "<td><input type='submit' value='Сохранить'/></td>";

echo "</tr>";


echo "</table></form>";


echo "<br/><br/><br/><a href='?mode=show'>вернуться к списку</a>";
}
// окончание создания компании (отображение формы)



// создание компании (отображение формы)


if ($mode == "add" && $method == "post")
{

$txtsql = "INSERT INTO Company (Title, Address, Phone) VALUES ('".$_POST["Title"]."',
'"
.$_POST["Address"]."', '".$_POST["Phone"]."')";

mysql_query($txtsql);
header('Location:?mode=show');
}
// окончание создания компании (отображение формы)
// закрытие соединения с базой

mysql_close($connection);

?>

Спустя 14 минут, 51 секунда (27.05.2012 - 11:45) killer8080 написал(а):
Цитата (Guest @ 27.05.2012 - 11:30)
а тогда почему вот эта прога рабочая

На этот вопрос уже ответили многократно Читай что тебе отвечают.

Спустя 2 часа, 32 минуты, 38 секунд (27.05.2012 - 14:17) Гость_Лена написал(а):
спасибо всем
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.