Reputation: 43
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
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
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