Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день!
недавно потребовалось научиться создавать инетрнет-анкеты. Бесплатные сервисы имеют свои ограничения, а для платных сервисов у меня есть свои собственные финансовые ограничения.
Для создания анкеты выбрал инструментарий Dreamweaver 8. Сами формы на странице научился создавать, обнаруживать созданную в mysql базу данных и связывать с отдельными нужными полями (формами) столбцы таблицы в базе данных. Это я всё теперь умею делать и делаю, следуя найденным и изученым инструкциям.
При этом данные из формы не загружаются в таблицу базы данных. Скажите, какие данные необходимо предоставить, чтобы обнаружить проблему???
Извините, если это лишняя информация. Вот это код страницы в dreamweaver
<?php require_once('Connections/con1.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO table1 (name, web-site, e-mail, message) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['textfield'], "text"),
GetSQLValueString($_POST['textfield2'], "text"),
GetSQLValueString($_POST['textfield3'], "text"),
GetSQLValueString($_POST['textarea'], "text"));
mysql_select_db($database_con1, $con1);
$Result1 = mysql_query($insertSQL, $con1) or die(mysql_error());
$insertGoTo = "http://beeline.ru";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<table width="441" border="1">
<tr>
<td><form id="form1" name="form1" method="POST" action="<?php echo $editFormAction; ?>">
<label>name
<input type="text" name="textfield" />
</label>
<br />
<label>web-site
<input type="text" name="textfield2" />
</label>
<br />
<label>e-mail
<input type="text" name="textfield3" />
</label>
<br />
<label>message
<textarea name="textarea"></textarea>
</label>
<br />
<label>
<input type="submit" name="Submit" value="Submit" />
</label>
<input type="hidden" name="MM_insert" value="form1">
</form>
</td>
</tr>
</table>
</body>
</html>
Наверняка, надо скопировать какие-то данные из MYSQL. Посколько я для этих вещей человек абсолютно новый, я просто не знаю, что от туда стоит скопировать и предоставить, для решения вопроса.
Спасибо!
Неактивен
да ещё стоит добавить: при попытке заполнения анкеты и нажатия кнопки submit в браузере следующая ошибка:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-site, e-mail, message) VALUES ('Alexey', 'xxx.ru', 'xx@mail.ru', 'test')' at line 1
Неактивен
Добрый день. Давайте попробуем отделить зерна от плевел, т. е. php от sql.
Для начала - проводите диагностику, примерно как здесь - то есть проверяйте результаты выполнения всех функций и выводите на экран ошибки.
Если не поможет, то пришлите сюда полный текст запроса, который не срабатывает (для этого выведите на экран переменную $insertSQL) ну и структуру табличек (show create table t).
Неактивен
большое Вам спасибо за ответ!
вопрос решился - имена полей в таблице базы данных включали дефисы (e-mail, web-site). Убрал дефисы - всё заработало.
СПАСИБО ещё раз!
Неактивен
Люди добрые, помогите пожалуйста. Есть таблица в базе, одно из полей которой называется delta-timer, т.е. "с дефисом".
Как можно, посредством select обратиться к этому полю. Пробовал в кавычках - не получается. На данный момент выгружаю всё "select *" - так работает, но это слишком накладно - в таблице много всякого лишнего.
Неактивен
Нужно в обратных кавычках
select `delta-timer`
Неактивен
Огромное вам спасибо, очень помогли.
Неактивен