Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
0

Code won't work if Session variable has a space in it

Guest
Jun 08, 2009 Jun 08, 2009

Copy link to clipboard

Copied

Hello,

Below I have some Ajax and the PHP page it points to.  This code works great if $_SESSION['find'] has no spaces in it (for example, if it is "elpaso").  However, if $_SESSION['find'] has a space in it (for example, "el paso"), then the Ajax fails. 

What can I do to make this Ajax work when $_SESSION['find'] has a space in it?

Thanks,

John

Ajax:

<?php


ob_start();
session_start();
$find = strip_tags($_POST['find']);
$find = trim ($find);
$find = strtolower($find);
$_SESSION['find'] = $find;
?>


$.ajax({
type: "POST",
data: "action=vote_up&id="+$(this).attr("id"),
url: "votes12.php",
success: function(msg)
{
$("span#votes_count"+the_id).html(msg);
//fadein the vote count
$("span#votes_count"+the_id).fadeIn();
//remove the spinner
$("span#button"+the_id).remove();
}
});

Then, on votes12.php:

<?php
session_start();
?>


<?php
mysql_connect("mysqlv10", "username", "password") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());

function getAllVotes($id)
{
/**
Returns an array whose first element is votes_up and the second one is votes_down
**/
$votes = array();
$q = "SELECT * FROM {$_SESSION['find']} WHERE id = $id";
$r = mysql_query($q);
if(mysql_num_rows($r)==1)//id found in the table
{
$row = mysql_fetch_assoc($r);
$votes[0] = $row['votes_up'];
$votes[1] = $row['votes_down'];
}
return $votes;
}
?>

TOPICS
Server side applications

Views

326
Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jun 08, 2009 Jun 08, 2009

Copy link to clipboard

Copied

LATEST

Someone else told me to put backticks around the session variable and it solved the problem, so

$q = "SELECT * FROM `{$_SESSION['find']}` WHERE id = $id";

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines