Fatal error: Call to undefined function getsqlvalu

2019-09-09 04:35发布

问题:

Hey guys I get this error when I try to login with a default Dreamweaver Login Module, please help me - this is a though one, I'm just an html designer trying to make a simple login script for a small site I'm working one. It's be great if you can help

    <?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);
    ?>

Sorry guys, the error is Fatal error: Call to undefined function getsqlvaluestring() in /u1/home/xxxxxx/public_html/newsletters/Resources/promocenter/admin/login.php on line 22 This is standard dreamweaver cs5 code.

Connecting to a database etc. I'm sure I have the file included right at the top of my code, please have a look there. I can also say that this code worked perfectly fine for a year and all of a sudden it gave me this error everytime I try to login. The normal front end still shows fields from the database. It's just the /admin/ login side that give the issue

回答1:

Fatal error: Call to undefined function getsqlvaluestring()

It means that there is no such a function. I guess that this function is another file and you forgot to include it.



回答2:

I'm having the same problems as you. Just wanted you to know you aren't alone. I tried your trick and it worked. ITs ODD, but the first time I ran the LogInUser script, it didn't insert the block with that checked to see if GetSQLValueString existed. And I got the error you got. Then, I ripped out the code and ran it again, and it DID insert the block that does that check, the other PHP version checks and all. I had to change it to put the session_start command at the top (from what I've heard, it won't start the session unless it is the first thing that hits the server). But, now I get an error in Dreamweaver that says I have 2 LogInUser handlers and I need to delete one. But it won't let me delete either one. Nevertheless, it runs on the server, so I guess I'll go on....

Some (unsolicited) advice: The Dreamweaver data access handlers are just a big ol bag of crap, as far as I'm concerned.
I've been fighting Dreamweaver on the data access for about 3 months now, and have come to the conclusion that it is NOT ready for prime time. Their support of this part of their product is, well, absent. You can't get it from Adobe. I've tried. Spent about 3 days going round and round with them and was finally told point blank that they don't sell tech support, just software.

You should be able to get it from independent Adobe Partners, but it'll cost you upwards of $100/hour for their expertise -- if you can find someone that will help you like a "tech support consultant." (let ME know if you find someone!)

So, do yourself a favor, if you're just starting out on a web app that that is data driven (requires a database connection): find another solution other than Dreamweaver to develop it with. Because you will waste a lot of time and, unless you have serious PHP skills to debug Adobe's scripts, you'll never finish your project.

I've looked at the Zend Framework, and I've also heard that Yii.com is an excellent framework (and free) But both are very sophisticated setups, using php as a true object oriented programming environment. So learning curves are higher than Dreamweaver on both.

But, do yourself a favor and bail out NOW before you get to far into it like I have. Dreamweaver is great for html, but sadly, its just not up to snuff when you start using php and databases.