Функция session_id() возвращает строку - поэтому при составлении запроса мы должны использовать одинарные кавычки, чтобы указать MySQL, что это строка:
SELECT email FROM users WHERE surname='Иванов';
Если использовать твой вариант
$sql="SELECT * FROM basket WHERE customer=' session_id() ' ";
то как PHP догадается о том, что session_id() - это функция, которую надо выполнить, а результат выполнения подставить в запрос? Переменную PHP "опознает" по знаку $:
$surname = "Иванов";
$sql="SELECT * FROM basket WHERE customer='$surname'";
Функция COUNT(*) возвращает количество записей, удовлетворяющих условию WHERE. Можно сделать запрос
$sql="SELECT * FROM basket WHERE customer=' " . session_id() ." ' ";
который вернет все записи, удовлетворяющих условию WHERE, а потом получить количество возвращенных записей с помощью функции mysql_num_rows() - но зачем такие сложности?
Не приходилось устанавливать почтовый сервер на своем компьютере. Но, вроде, там ничего сложного нет. Вот у меня есть некоторые заметки по этому поводу - думал как-нибудь заняться на досуге
Цитата:
Почтовый сервер на локальной машине для отладки PHP скриптов
К примеру, приведем инструкцию по настройке первого из них:
Скачать и проинсталлировать ArGoSoft Mail Server
Запустить приложение и выбрать Tools > Options
Выбрать DNS сервер либо предоставить возможность определять его автоматически
В закладке "IP Homes" вести 127.0.0.1
Стартовать сервис ArGoSoft Mail Server и убедиться, что не было сообщений об ошибках
В файле php.ini указать
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
Return-Path: <ivanov@localhost>
Received: from xxxxx [127.0.0.1] by localhost [127.0.0.1] with ESMTP; Mon 21 May 2007 22:26:00 +0400
Date: Mon, 21 May 2007 22:26:00 +0400
Subject: TEST MESSAGE
To: ivanov@localhost
Content-type: text/plain; charset="windows-1251"
From: ivanov@localhost
Не совсем понятно, что ты хочешь сделать. Присвоить переменной строку, содержащую скрипт? Так в чем проблема? Надо только экранировать кавычки или использовать разные:
а вот используя header ( location ) - как открывать в новом окне?
Никак.
Окна открывает пользователь. А как ты себе это представляешь? Вот я сижу, работаю за компьютером, а мой браузер живет своей жизнью - запрашивает какие-то страницы, открывает новые окна, скачивает что-то...
P.S. Можно открыть новое окно средствами JavaScript
<body onload="window.open('doc.html');">
Но это не есть хорошая идея...
в файл php получаю данные, обрабатываю и по результатам проверки нужно открыть либо 1-й url либо 2-й.
Ворос говорит о том, что ты смутно разбираешься в том, как работает сервер. Положим, пользователь набирет в адресной строке браузера некий URL http://somewhere.com/index.html. Браузер посылает запрос серверу (Apache), а сервер, найдя у себя этот документ (файл index.html), отдает его браузеру. Если запрашиваемый файл имеет расширение php, сервер отдает его на выполнение PHP. PHP выполняет этот скрипт и результат работы (сгенерированный html) отдает обратно серверу, а тот в свою очередь клиенту (браузеру).
Что означает загадочная фраза "открыть либо 1-й url либо 2-й" - остается только догадываться. Открыть URL может пользователь, либо набрав его в адресной строке браузера, либо щелкнув по ссылке.
Надо перенаправить пользователя на другой адрес?
Функция setcookie("test","1") не будет выполнена никогда, т.к. перед ее вызовом идет вызов функции header("Location: $PHP_SELF?cookie=1").
Цитата:
int setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])
setcookie() определяет куку для отправки вместе с остальной header-информацией. Куки обязаны быть отправлены до любых других шапок/headers (это ограничение кук, а не РНР).
Кстати, для администраторов - было бы неплохо исправить ошибку в скрипте http://php.su/articles/?cat=exam...les&page=053
а то так и будет народ в трех соснах блуждать - искать ошибку в десяти строчках кода...
Я предпочитаю phpMyAdmin - не потому, что эта система администрирования MySQL лучшая, а потому, что она - стандарт де-факто у российских хостеров. http://php-myadmin[dot]ru/
Такой вопрос, допустим есть табличка в базе данных с полем типа INT, и блок для добавление записи в эту табличку... Так вот каким образом проверить введенные в текстовое поле данные, соответствуют ли они типу столбца в таблице или нет????