Гостевая

@Real@

Новичок
Код:
PHP:
<?php

mysql_connect ('localhost', 'root', '') or die(mysql_error());
mysql_select_db ('gbook') or die(mysql_error());

if (isset($_POST['name']) AND isset ($_POST['email']) AND isset ($_POST['msg'] ))
{
    $name  = $_POST['name'];
    $email = $_POST['email'];
    $msg  =  $_POST['msg'];
   
    $sql  = "INSERT INTO msgs (name, email, msg)
            VALUES 
            (
                '$name',
                '$email',
                '$msg'
            )";
mysql_query ($sql);
    
    header('Location: ' . $_SERVER['PHP_SELF']);
    exit;
} 

if (isset ($GET['del']))
{
    $delete = $GET['del'];
    $sql2 = "DELETE FROM msgs WHERE id=$delete";
    mysql_query ($sql2);
    header('Location: ' . $_SERVER['PHP_SELF']);
    exit();
} 

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
	<title>Гостевая книга</title>
	<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>

<h1>Гостевая книга</h1>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

Ваше имя:<br />
<input type="text" name="name" /><br />
Ваш E-mail:<br />
<input type="text" name="email" /><br />
Сообщение:<br />
<textarea name="msg" cols="50" rows="5"></textarea><br />
<br />
<input type="submit" value="Добавить!" />

</form>

<?php

$sql1 = "SELECT * FROM msgs ORDER BY id DESC";
$res = mysql_query ($sql1);

$rows = mysql_num_rows($res);
print "<p>Записей в гостевой книге: $rows</p>";

while ($row = mysql_fetch_array($res, MYSQL_ASSOC))
{
    $id = $row['id'];
    $name = $row['name'];
    $email = $row['email'];
    $msg = $row ['msg'];
    echo '<strong> id = </strong> '."$id </br>". '<strong>Имя:</strong>'. "$name</br> ". '<strong>email:</strong>' . "$email</br>" . '<strong>Сообщения:</strong>' . "<p>$msg</br> </p>";
?> 
<p alight="right">
    <a href="gbook.php?del=<?=$row['id']?>"> Delete </a>
</p>  
<hr>
            
<? 

}
mysql_close();
?>


</body>
</html>
Почему не работает удаления?
 

Alex Bond

Новичок
Ты написал
PHP:
if (isset ($GET['del']))
$delete = $GET['del'];
а надо
PHP:
if (isset ($_GET['del']))
$delete = $_GET['del'];
И на будущее - старайся защищаться от SQL инъекций хотя бы так:
PHP:
if (isset ($_GET['del']) && is_int($_GET['del']))
 

@Real@

Новичок
И кст
Ты написал
PHP:
if (isset ($GET['del']))
$delete = $GET['del'];
а надо
PHP:
if (isset ($_GET['del']))
$delete = $_GET['del'];
И на будущее - старайся защищаться от SQL инъекций хотя бы так:
PHP:
if (isset ($_GET['del']) && is_int($_GET['del']))
Когда я добавляю
PHP:
is_int()
Удаления не происходит. Почем? Ведь приходит число...
 

fixxxer

К.О.
Партнер клуба
потому что это не число, а строка, содержащая число

ctype_digit
 
Сверху