https://www.google.com.ua/#hl=ru&output=search&sclient=psy-ab&q=sendmail+php&oq=sendmail&gs_l=hp.1.1.0l4.605.605.0.1861.1.1.0.0.0.0.109.109.0j1.1.0...0.0...1c.1.pgrYVEpB8JA&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=10e2c47e12f7fe&bpcl=38625945&biw=1366&bih=623
Тот код, что вы показали и не пройдет, хедер как минимум нужно расписать очень круто, и то, это не даст никакой гарантии, посему mail и не актуальна.
забыть про mail (они или в спам, или вообще в игнор попадает очень много где) и использовать или sendmail или smtp - готовых классов для работы с этим уйма.
Подход в корне неверный. На каком фреймворке делать - должен выбирать прогер. А тут сейчас можно долго спорить, что круче - Yii vs Simfony vs Zend sv CI vs Yui и тд. и тп.
for($j=3; $j<=$data->sheets[0]['numRows']; $j++) { for($i=0; $i<=$data->sheets[0]['numCols']; $i++)
цикл в цикле, причем абсолютно одинаковые, за исключение строки старта, вот и два раза вносят. Один цикл оставить нужно.
Нда... исполнение движка аховое. Оценивать не буду, но убило, ссылки вида
http://afisha.kievuser.com/1/49
А где же СЕО составляющая? Ссылки вида
http://afisha.kievuser.com/egoist/entertainment-complex
создать не удалось, 4к - бюджета не хватило? :)
Админку тоже не зря критиковали - обычный html form + пару скриптом на бекенде для приема и обработки.
-----------------------------
mysql_query("SELECT * FROM works WHERE author='$cat' or author2='$cat' or author3='$cat' ORDER BY id GRUOP BY id", $db);
В место id -нужный параметр. Кстати в гугле легко отыскать кучу примеров, так как вещь широко используется.
Во-первых - зачем 2 цикла? В первом вывод сделать не судьба? :)
Во-вторых - курим order by и может gruop by в mysql.
да в обычную. В диве пусто, а в функции, которая окошко открывает - аяксом запрашивает текст с сервера. Что-то типа
$('#result').load('ajax/test.html');
ну или еще как, вариантов много.
<div style="display:none;">текст не виден визуально, но если открыть исходный код - увидим</div>
Ну а что бы совсем текста не было - ajax курим)