Должен выглядеть вот так: Строка ввода, кнопка отправки. Ниже - в столбик всё, что ввели. Помогите! Заранее спасибо
Да. Похоже на гостевую книгу. Upd: ещё было бы хорошо, если б в строку можно было бы набрать только емейлы (т.е. принимать сообщения только с символом @) и чтобы эти емейлы не повторялись в списке (типа антифлуд). Понимаю, что уже прошу много, поэтому дам шестёрку инвиз за работу )
PHP: <? print"<form method=post action=''> <input type=text name=stroka value=''> <input type=submit value='' name=noname> </form><hr>"; $t=fopen('file.txt','a'); //если забудешь создать файл file.txt fclose($t); include('file.txt'); echo'<hr>'; $f=fopen('file.txt','a'); $str="$stroka"; $str.='<br>'; fwrite($f,$str); fclose($f); ?> не тестировал, некогда
Вот с проверкой на повторения и валидность e-mail'a PHP: <form method="post"> E-mail: <input type="text" name="email"> <input type="submit" value="ok"> </form> <?php $file='file.txt'; $f=file($file); $string=explode(';',$f[0]); if($_POST['email']){ if (!preg_match("/^\w+(\.*|\-*|\w*)*\w*@\w+(\.*|\-*\w*)*\w*\.\w{2,3}$/",$_POST['email'])){echo '<b>Ошибка:</b> Не правильный e-mail.<br><br>';} elseif(in_array($_POST['email'],$string)){echo '<b>Ошибка:</b> E-mail уже есть.<br><br>';} else { $fp=fopen($file,"a+"); fputs($fp,$_POST['email'].';'); fclose($fp); } } $f=file($file); $string=explode(';',$f[0]); for ($i=0;$i<count($string);$i++){ echo $string[$i],'<br>'; } ?>
gibson, Sn@k3, ant0ha, спасибо вам большое ant0ha, буду использовать твой скрипт. Только одна незадача - мыло добавляется в конец списка. Как сделать, чтобы оно в начало добавлялось?
Нужно заменить это PHP: for ($i=0;$i<count($string);$i++) на это PHP: for ($i=count($string);$i>=0;$i--) четвертая строчка с конца
Да, теперь всё работает, как надо =) ant0ha, если нужен шестизнак инвиз, как и обещал - стукни мне в аську. 174-207 Всем спасибо =)