Архив рассылки -программирование на PHP

         

А это очеь полезно


А это очеь полезно. Особенно, когда надо разобраться в своих же скриптах полугодовалой давности (в годовалых все равно не разберетесь, без бутылки).


И вот, как у меня это получилось.

В файл /WWW/text/index.php я добавил вызов процедуры добавления данных, если переменная post активна:

if($post=="Y") { $err=$my->out_vote_add($text, $name, $email, $vote, $comment); if($err) { $my->html_error=$my->err_to_html($err); }else { $my->html_error=$my->ok_to_html("Ваше мнение успешно добавлен в базу и будет проверено модератором на корректность"); unset($name, $email, $vote, $comment); } }

    Обратите внимание! Чем отличается этот вызов процедуры от всех предыдущих, которые мы делали? Ага! Тем, что мы данные не присваиваем глобальным переменным, а передаем их классически -- через сам вызов.

    Почему в этот раз так? А потому, что в этом нет никакой необходимости -- это во-первых, а во-вторых, вы не забывайте, что мне надо показать читателю все возможные синтаксические и логические обороты PHP, а уж читатель пусть сами выберет, что ему ближе и удобнее.


Ну а в файл out.inc, соответственно, добавим саму процедуру (мы тут уже люди все взрослые и опытные, поэтому я постараюсь писать код компактнее; чем дальше -- тем компактнее):

function out_vote_add($text, $name, $email, $vote, $comment) { $text=(int)$text; $name=substr(AddSlashes(strip_tags($name)),0.50); $email=substr(AddSlashes(strip_tags($email)),0,50); $vote=(int)$vote; if(!in_array($vote, $this->VOTING_MENU)) return(1); // ошибка в оценке или попытка взлома $comment=substr(AddSlashes(strip_tags(htmlspecialchars($comment))),0,50); $this->sql_query="insert into tbl_php_voting(v_text, v_ip, v_dt, v_vote, v_name, v_email, v_comm) values('$text','".$this->remote_ip()."',now(),'$vote','$name','$email','$comment')"; $this->sql_execute(); if($this->sql_err) return(11); return(0); }
Как видите, ничего необычного.



Содержание раздела