$ sql = ' SELECT COUNTC*) AS matched FROM users WHERE username="'
. $username . "' ANDpassword="' . Spassword . ""; Sresult = mysql_query($sql);
Sarray = mysql_fetch„array($result); $windows[ ' main 3->disconnect($disconnect_id); $windows['nain']->destroy();
if
loadSearchPageO;
else
quit("Authentication failed\n");
}
Последние две функции - quit() и destroyWnd() - используются для выхода из принимает один аргумент и выводит его в командную
строку перед выходом из программы, a destroyWnd() выступает в качестве функции обратного вызова окнами регистрации и поиска, в результате чего при щелчке по кнопке X в правой верхней части окна программа завершается:
function quit(Smsg) {
printf($msg , "\n"); gtk::main_quit();
}
function destroyWnd() {
gtk::main_quit();
)
Последние несколько строк кода загружают расширение PHP-GTK, как было описано в примере Hello World. Затем мы вызываем функцию loadMain- Window(), чтобы показать страницу регистрации, и наконец, как во всех приложениях PHP-GTK, вызываем функцию gtk: :main() для запуска главного цикла PHP-GTK:
if (strtoupper(substr(PHP„OS, 0, 3)) == 'WIN') dlCphp_gtk.dll');
else
: dl('php_gtk.so');
loadMainWindow(); gtk::main(); 1>
В качестве маленького упражнения читатель может изменить функцию
чтобы вместо вывода сообщений об ошибках в командную строку она выводила небольшое диалоговое окно, информируя пользователя об ошибке (совет: не забудьте о классе GtkDialog). ,
Вот несколько снимков экрана готового продукта (рис. 20.3-20.5):
Для этой простой задачи потребовалось написать много кода, но не всегда обязательно делать это самому. К счастью, PHP-GTK поддерживает приложение под названием Glade, предназначенное для построения GUI. С помощью Glade можно разработать GUI и сохранить его в файле XML. Затем файл XML загружается в PHP-GTK путем объявления его как нового экземпляра класса GladeXML, после чего он будет выполнять тот GUI, который разработал программист. Рассказ о Glade выходит за рамки данной ознакомительной главы, но сведения о нем есть в руководстве по PHP-GTK. Есть также очень хорошая глава о работе с Glade в «Professional Linux Programming» издательства Wrox Press (ISBN 1-861003-01-3).
Надеюсь, что в результате этого знакомства с PHP-GTK вы получили такую же радость, как я, когда узнал, что с помощью РНР можно создавать приложения GUI. Тем самым в языке открывается новое измерение, которое, можно надеяться, окажется полезным активом для сообщества РНР.