Имам следния скрипт:
index.html
zapis.php
view.php
search.php
и един db.inc празен
въпросът ми е следния: мога да записвам еднаква информация примерно: ads ads ads... колкото си пъти искам, а аз искам само веднъж да може да се добавя дадените данни - искам да стане с база данни защото така записите се записват в db.inc и затова могат да се записват по няколко пъти
кажете моляви как ще стане това с база данни
index.html
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>asd</title>
</head>
<body>
<FORM action=zapis.php method=post >
<b>
Име :<br>
<INPUT name=ime><br>
Фамилия :<br>
<INPUT name=fam><br>
eMail:<br>
<INPUT name=email><br>
Телефон :<br>
<INPUT name=tel><br>
Мобилен :<br>
<INPUT name=gsm><br>
Адрес :<br>
<INPUT name=adres><br>
<INPUT TYPE=submit value=ЗАПИС>
<br>
<br>
<a href=view.php>Всички записи</a><br>
</body>
</html>
zapis.php
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>asd</title>
</head>
<body>
<?php
//тези променливи приемат за стойност изпратеното от формуляра
//$ime - приема за стойност името, $fam -фамилията и тн.
$ime=$HTTP_POST_VARS['ime'];
$fam=$HTTP_POST_VARS['fam'];
$email=$HTTP_POST_VARS['email'];
$tel=$HTTP_POST_VARS['tel'];
$gsm=$HTTP_POST_VARS['gsm'];
$adres=$HTTP_POST_VARS['adres'];
//този редове са много важни - записват данните изпратени от формуляра
//на един ред, в db.inc като ги разделя със знака &
$zapis=$ime.'&'.$fam.'&'.$email.'&'.$tel.'&'.$gsm.'&'.$adres." \n" ;
//функцията fopen ( "db.inc" ,"a") ще добави данните на нов ред в db.inc
//ako db.inc не съществува, ще го създаде и ще запише данните на първия ред
$fp = fopen ( "db.inc" ,"a");
fwrite($fp, $zapis );
fclose($fp);
//Всеки път, когато вкарваме данни те ще се записват на отделен ред в файла db.inc
echo 'Данните са добавени!<br>
<a href="view.php">Всички записи</a>';
?>
</body>
</html>
view.php
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>asd</title>
</head>
<body bgcolor=#eaeaea>
<b>
<FORM ACTION="search.php" METHOD=POST>
<INPUT TYPE="text" NAME="search" value="" size="15" maxlength="15"><br>
<INPUT TYPE=submit value=Search >
</FORM>
<?php
//функцията file("db.inc") ще отвори файла и ще го раздели на редове
//като всеки ред ще бъде елемент от масива $file
$file= file("db.inc");
//Функцията count($file) ще даде(върне) броя на елементите в масива $file,
//а променливата $n ще е равна на броя на тези елементи
$n=count($file);
echo '<table border=1>
<tr>
<td>Име</td><td>Фамилия</td><td>ПОЩА</td><td>Телефон</td><td>Мобилен</td>
<td>Адрес</td>
</tr>
';
//с цикъла for ще обходиме всички редова на файла.
for ($i=0; $i<$n;$i++)
{
//Функцията explode разделя реда на части, като за разделител ползва знака &
//всяка част от реда става елемент от масива $line .
$line = explode ("&",$file[$i] );
//елементите на масива се подреждат в таблица
echo '
<tr>
<td>'.$line[0].'</td><td>'.$line[1].'</td><td>'.$line[2].'</td><td>'.$line[3].'</td>
<td>'.$line[4].'</td><td>'.$line[5].'</td>
</tr>';
}
?>
</body>
</html>
search.php
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>asd</title>
</head>
<body bgcolor=#eaeaea>
<b>
<FORM ACTION="search.php" METHOD=POST>
<INPUT TYPE="text" NAME="search" value="" size="15" maxlength="15"><br>
<INPUT TYPE=submit value=Search >
</FORM>
<?php
//$search - приема стойноста на търсената дума
$search=$HTTP_POST_VARS['search'];
//функцията str_replace(" ","",$search) маха всички бели полета около търсената дума
//за да не се обърква търсачката :
$search=str_replace(" ","",$search);
if ($search=='')
{exit;}
$file= file("db.inc");
$n=count($file);
echo '<table border=1>
<tr>
<td>Име</td><td>Фамилия</td><td>ПОЩА</td><td>Телефон</td><td>Мобилен</td>
<td>Адрес</td>
</tr>
';
//с for обхождаме редовете
for ($i=0; $i<$n;$i++)
{
//От всеки ред, който ще се сравнява с търсената дума се махат
//последователно белите полета, знака & и знака за нов ред
$file1=$file[$i];
$file1=str_replace(" ","",$file1);
$file1=str_replace("&","",$file1);
$file1=str_replace("\n","",$file1);
//ако намери съответствие го показва в таблица
if (eregi($search,$file1))
{
$line = explode ("&",$file[$i] );
echo '
<tr>
<td>'.$line[0].'</td><td>'.$line[1].'</td><td>'.$line[2].'</td><td>'.$line[3].'</td>
<td>'.$line[4].'</td><td>'.$line[5].'</td>
</tr>';
}
}
?>
</table>
<br>
<a href=view.php>Всички записи</a><br>
</body>
</html>
въпросът ми е следния: мога да записвам еднаква информация примерно: ads ads ads... колкото си пъти искам, а аз искам само веднъж да може да се добавя дадените данни - искам да стане с база данни защото така записите се записват в db.inc и затова могат да се записват по няколко пъти
кажете моляви как ще стане това с база данни