2012-01-24 1 views
0

Привет, ребята, я получаю эту ошибку, когда пытаюсь войти в систему с помощью модуля входа в Dreamweaver по умолчанию, пожалуйста, помогите мне - это хотя бы один, я всего лишь дизайнер html, пытающийся сделайте простой сценарий входа для небольшого сайта, в котором я работаю. Это будет здорово, если вы можете помочьFatal error: Call to undefined function getsqlvaluestring()

<?php require_once('../Connections/dsfsdfsdfd.php'); ?> 
    <?php 
    // *** Validate request to login to this site. 
    if (!isset($_SESSION)) { 
    session_start(); 
    } 
    $loginFormAction = $_SERVER['PHP_SELF']; 
    if (isset($_GET['accesscheck'])) { 
    $_SESSION['PrevUrl'] = $_GET['accesscheck']; 
    } 

    if (isset($_POST['username'])) { 
    $loginUsername=$_POST['username']; 
    $password=$_POST['password']; 
    $MM_fldUserAuthorization = "access_level"; 
    $MM_redirectLoginSuccess = "index.php"; 
    $MM_redirecttoReferrer = true; 
    mysql_select_db($database_promocenter, $promocenter); 

    $LoginRS__query=sprintf("SELECT username, password, destination_page FROM 
    users WHERE username=%s AND password=%s", 
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "int")); 


    $LoginRS = mysql_query($LoginRS__query, $promocenter) or die(mysql_error()); 
    $loginFoundUser = mysql_num_rows($LoginRS); 
    if ($loginFoundUser) { 

    $loginStrGroup = mysql_result($LoginRS,0,'access_level'); 

    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} 
    else {session_regenerate_id();} 
    //declare two session variables and assign them 
    $_SESSION['MM_Username'] = $loginUsername; 
    $_SESSION['MM_UserGroup'] = $loginStrGroup;  

    if (isset($_SESSION['PrevUrl']) && true) { 
    $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];  
    } 
    header("Location: " . $MM_redirectLoginSuccess); 
    } 
    else { 
    header("Location: ". $MM_redirectLoginFailed); 
    } 
    } 
    ?> 
    <?php 
    if (!function_exists("GetSQLValueString")) { 
    function GetSQLValueString($theValue, $theType, 
    $theDefinedValue = "", $theNotDefinedValue = "") 
    { 
    if (PHP_VERSION < 6) { 
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; 
    } 

    $theValue = function_exists("mysql_real_escape_string") ? 
    mysql_real_escape_string($theValue) : mysql_escape_string($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; 
    } 
    } 

    mysql_select_db($database_promocenter, $promocenter); 
    $query_rs_users_login = "SELECT * FROM users"; 
    $rs_users_login = mysql_query($query_rs_users_login, $promocenter) 
    or die(mysql_error()); 
    $row_rs_users_login = mysql_fetch_assoc($rs_users_login); 
    $totalRows_rs_users_login = mysql_num_rows($rs_users_login); 
    ?> 

Извините, ребята, ошибка Фатальная ошибка: Вызов неопределенной функции getsqlvaluestring() в/u1/дома/хххххх/public_html/информационные бюллетени/Ресурсы/promocenter/админ/входа в систему. php on line 22 Это стандартный код cs5 Dreamweaver.

Подключение к базе данных и т. Д. Уверен, что у меня есть файл в верхней части моего кода, пожалуйста, посмотрите там. Я также могу сказать, что этот код работал отлично в течение года, и внезапно он дал мне эту ошибку каждый раз, когда я пытаюсь войти в систему. В обычном переднем конце по-прежнему отображаются поля из базы данных. Это только сторона/admin/login, которая дает вопрос

+2

Было бы полезно, если бы вы могли отправить сообщение ** full ** error.Он расскажет людям о том, на какой строке произошла ошибка. В несвязанной заметке термин «Модуль входа в Dreamweaver» * заставляет меня дрожать :) – rdlowrey

+0

Можете ли вы пройти и отстудить свой код? Это сделает его безумно более читаемым для всех. – jprofitt

+0

лучше, если вы скажете, где на какой строке вы получаете ошибку ... например, 'не работает if (PHP_VERSION> = 5.1) {session_regenerate_id (true);}' –

ответ

3
Fatal error: Call to undefined function getsqlvaluestring() 

Это означает, что такой функции нет. Я предполагаю, что эта функция - другой файл, и вы забыли его включить.

+0

Просто так все знают - я исправил это, переместив этот блок до прямо под Этот блок если (! Function_exists ("GetSQLValueString")) { функция GetSQLValueString ($ theValue, $ theType, $ theDefinedValue = "", $ theNotDefinedValue = "") { если (PHP_VERSION <6) {....... и т. д. – Anton

-1

У меня такие же проблемы, как и у вас. Просто хотел, чтобы вы знали, что вы не одиноки. Я попробовал трюк, и это сработало. ITs ODD, но в первый раз, когда я запускал сценарий LogInUser, он не вставлял блок с указанным флажком, чтобы увидеть, существует ли GetSQLValueString. И я получил полученную вами ошибку. Затем я вырвал код и снова запустил его, и он вложил блок, который выполняет эту проверку, другая версия PHP проверяет и все. Мне пришлось изменить его, чтобы поставить команду session_start наверху (из того, что я слышал, он не запустит сеанс, если это первое, что попадает на сервер). Но теперь я получаю сообщение об ошибке в Dreamweaver, который говорит, что у меня есть 2 обработчика LogInUser, и мне нужно его удалить. Но он не позволит мне удалить ни одного. Тем не менее, он работает на сервере, поэтому я думаю, что я продолжу ....

Некоторые (незатребованные) советы: обработчики доступа к данным Dreamweaver - это просто большой мешок с дерьмом, насколько я знаю обеспокоен.
Я борюсь с Dreamweaver за доступ к данным около 3 месяцев и пришел к выводу, что он НЕ готов к прайм-тайм. Их поддержка этой части их продукта, ну, отсутствует. Вы не можете получить его от Adobe. Я пробовал. Проведя около 3 дней, объединившись с ними и, наконец, сказали, что они не продают техническую поддержку, просто программное обеспечение.

Вы должны быть в состоянии получить его от независимых партнеров Adobe, но это обойдется вам в 100 долларов за час за их опыт - если вы найдете кого-то, который поможет вам стать «консультантом по технической поддержке». (дайте мне знать, если вы найдете кого-то!)

Итак, сделайте себе одолжение, если вы только начинаете с веб-приложения, которое управляется данными (требуется подключение к базе данных): найдите другое решение, отличное от Dreamweaver развивать его. Потому что вы потратите много времени и, если у вас нет серьезных навыков PHP для отладки сценариев Adobe, вы никогда не закончите свой проект.

Я посмотрел на Zend Framework, и я также слышал, что Yii.com - отличная инфраструктура (и бесплатная). Но обе очень сложные настройки, использующие php как истинную объектно-ориентированную среду программирования. Таким образом, кривые обучения выше, чем Dreamweaver на обоих.

Но сделай себе одолжение и выручай СЕЙЧАС, прежде чем попасть в него так, как будто у меня есть. Dreamweaver отлично подходит для html, но, к сожалению, его просто не до табака, когда вы начинаете использовать php и базы данных.

+1

;-) Спасибо за совет – Anton