BWall
BWall

Reputation: 43

Redirect to URL if input exists in database

I'm trying to redirect a user to an existing URL (stored in a MySQL database) if the value they input already exists in the database. I've got most of it working, but I've run into some issues.

I'm using AJAX to check the database. It sends the input value to another PHP file & checks the database to see if it already exists.

if($row) {
    echo ".$row["itemNum"].";
} else {

}

It's within the AJAX code that I'm having issues, in particular this:

success: function (response) {
    if (response == <?php ".$row["itemNum"]." ?>) {
        window.location.href = "http://www.example.com/" <?php echo "+"; if (".$row["itemNum"].") { echo ".$row["itemNum"]." } else {""}
    } else {
        // do other stuff
    }
}

$row["itemNum"] doesn't always exist, so it's in a conditional statement to prevent a syntax error.

The above doesn't work regardless of how I do it.

I have a feeling the main issue is with the if (response == <?php ".$row["itemNum"]." ?>) line?

Upvotes: 2

Views: 173

Answers (2)

Death-is-the-real-truth
Death-is-the-real-truth

Reputation: 72269

Based on this code:-

if($row) {
    echo $row["itemNum"]; // check the change here
} else {

}

You have to do like this:-

success: function (response) {
    if (response !== '') { // if response have some value
        window.location.href = "http://www.example.com/"+response;
    } else {
        // do other stuff
    }
}

Upvotes: 3

reza
reza

Reputation: 1507

As you suspected you have problem with following line.

if (response == <?php ".$row["itemNum"]." ?>) {

The Problem is your use of (") and (.) characters

Following syntax will give you what you want.

if (response == <?=$row["itemNum"]?>) {

Upvotes: 0

Related Questions