


Веб мастерам
Всем доброго времени суток. Имеется файл с расширением РНР (гостевая книга) и файл с расширением JS(скрипт проверки формы) . Подскажите ПОЖАЛУЙСТА как сделать красивый вывод сообщений (отзывов) что бы не было похоже на месиво? Куда нужно вписать текстовые теги?
Файл: index2.PHP
<html>
<head>
<link>
<meta>
<script></script>
</head>
<body>
";
}
}
}
if(isset($_POST["send"])){
$result.="";
foreach($_POST as $key=>$val){
$result.=$key."=".$val.";";
}
$result.="\r\n";
$fp=fopen("bd.txt","a+");
fputs($fp, $result,300);
}
?>
<form>
<p>E-mail</p>
<input><br/>
<p>Имя</p>
<input><br/>
<p>Текст сообщения</p>
<input><br/>
<input><br/>
<input><br/>
</form>
</body>
</html>
Файл: form.js
function validate(){
//Считаем значения из полей name и email в переменные x и y
var email=document.forms['form']['email'].value;
var name=document.forms['form']['name'].value;
var text=document.forms['form']['text'].value;
//Если поле email пустое выведем сообщение и предотвратим отправку формы
if (email.length==0){
document.getElementById('email').value="*данное поле обязательно для заполнения";
return false;
}
//Проверим содержит ли значение введенное в поле email символы @ и .
at=email.indexOf('@');
dot=email.indexOf('.');
//Если поле не содержит эти символы знач email введен не верно
if (at<1 || dot <1){
document.getElementById('email').value="*email введен не верно";
return false;
}
if (name.length==0){
document.getElementById('name').value="*данное поле обязательно для заполнения";
return false;
}
if (text.length==0){
document.getElementById('text').value="*данное поле обязательно для заполнения";
return false;
}
}
Первое,
А что если, пользователь отключит JavaScript в настройках браузера? Тогда гостевая книга будет взломана, не напрягаясь. Но ты проверь это - отключи JavaScript в своем браузере и посмотри что будет при отправке формы.
Второе,
На дворе 2013 год, никто уже не пишет на чистом JavaScript. Jquery библиотека жизненно необходима для манипуляции деревом DOM.
Третье,
Нужно всегда отделять презентацию (в данном случае HTML) от бизнес логики приложения (в данном случае запись в файл)
Четвертое,
Нарушается святая традиция - валидация данных на сервере. Валидацию данных, нужно всегда выполнять на сервере, и через AJAX передовать сообщения об ошибках
Пятое,
email.indexOf('@') - просто смотреть есть ли в стринге символ @ - это просто ...
Должно быть полноценное регулярное выражение.. .
В общем не охота дальше писать...