PHP: вопросы и ответы

ReQ

Старожил
Pit":1pmbvlej сказал(а):
А при входе на сайт эта переменная отсутствует. И скрипт выдает ошибку, при последующем переходе все нормально.

Код:
if empty($var)
    {
    }
   else{
       }
 

Pit

Старожил
Я планирую сделать не только гостевую книгу, к примеру хочу файловый архив, новости, рассылку и т.д. И чтобы это было взаимозаменяемым. А болки(верх, низ и навигация) оставались на месте, на всех страницах сайта. О как! :lol: Короче подобие систем на основе Templates.
 

Pit

Старожил
Вот пишу
Код:
<?php
$cont = $_GET['cont'];
if empty ($cont) {
 include "glav.php";
 }
 else {
 include $cont;
 }
 ?>

Выдает в 3 строчке ошибку
Код:
Parse error: syntax error, unexpected T_EMPTY, expecting '(' in
как от этого избавиться? В чем моя ошибка?
 

Scar

Старожил
Код:
if (isset($_GET['cont'])) { $cont = $_GET['cont']; } else { $cont = "glav.php"; }
include $cont;
 

Pit

Старожил
2Scar Большое спасибо. Все заработало как я хотел.
 

Druid

Старожил
Почему то не работает функция mail(), отчего это может быть?
(Сервер пока localhost).
 

jeefo

Старожил
Druid":2psklhj0 сказал(а):
Почему то не работает функция mail(), отчего это может быть? (Сервер пока localhost).
в пхп для mail () нужно иметь рабочий sendmail, во всяких сборках Apache+PHP+Mysql для венды обычно просто юзают заглушку sendmail, которая просто записывает письмо на диск. Да и на локалхосте это не особо нужно.
 

ReQ

Старожил
jeefo":1jjg0kgy сказал(а):
Druid":1jjg0kgy сказал(а):
Почему то не работает функция mail(), отчего это может быть? (Сервер пока localhost).
в пхп для mail () нужно иметь рабочий sendmail
зачем? для винды в php.ini есть другое решение:

Код:
[mail function]

; Только для Win32 - используемый SMTP-сервер.
; Укажите здесь SMTP-сервер своего провайдера.
SMTP = localhost
smtp_port = 25

правда я не знаю, как обстоит дело с авторизацией на smtp-сервере
 

Druid

Старожил
Спасибо. Ну например у меня почта на mail.ru, мне указывать smpt - сервер mail'a, или gtn'а?
 

SerЕga

Старожил
Druid":2itcej0n сказал(а):
Спасибо. Ну например у меня почта на mail.ru, мне указывать smpt - сервер mail'a, или gtn'а?
Если у тебя глобальник или smpt порт на mail'е НЕ 25, то можешь указывать mail'овский, в ином случае smtp.gtn.ru с включенной авторизацией. Как вариант юзай гтн'вский ящик, тогда авторизация не нужна.
 

jeefo

Старожил
SerЕga":10r1b6dr сказал(а):
Druid":10r1b6dr сказал(а):
Спасибо. Ну например у меня почта на mail.ru, мне указывать smpt - сервер mail'a, или gtn'а?
Если у тебя глобальник или smpt порт на mail'е НЕ 25, то можешь указывать mail'овский, в ином случае smtp.gtn.ru с включенной авторизацией. Как вариант юзай гтн'вский ящик, тогда авторизация не нужна.
и еще, если у тебя нет глобальника, то об отсылке через SMTP мэйла можно забыть...
 

SerЕga

Старожил
вот поэтому и не работает.
25 порт закрыт, для всех кроме обладателей глобальников.
 

Druid

Старожил
Ясно, спасибо большое, значит невидать мне php - почты пока что ... :)

Добавлено спустя 27 минут 39 секунд:

Ок, теперь такой вопросик. Есть код, который создаёт заполняемой поле, информация из поля записывается как элемент массива $_POST и затем выводится:
<html> <head><title>...</title></head> <body> <form action = "<?php echo $_SERVER['PHP_SELF']; ?>" method = "post"> <input type = "text" name = "FirstName" value = "<?php echo $_POST['FirstName']; ?>" size = "30"><br> <input type = "submit" name = "submit" value = "Submit"> </form> <?php echo $_POST["FirstName'] ?>
Но, ведь в поле можно ввести любой код или скрипт (на html, js и т. д.), что, естественно, плохо сказывается на безопасности. Как можно этого избежать?
 

Druid

Старожил
Вот, strip_tags то, что нужно, фильтрация знаков. Спасибо.
 

Druid

Старожил
Хм...странно, пишу
Код:
$link = mysql_connect("localhost", "name", "password");
Всё работает, когда же пишу
Код:
$link = mysql_connect("localhost", "name", "password");
mysql_create_db("test", $link);
то выдаёт:
PHP Fatal error: Call to undefined function mysql_create_db() in C:\\WWW\\mysql.php on line 5
Из-за чего может быть проблема?
 
Верх