PDA

View Full Version : transfering variable


stonner
10-01-2007, 09:05 PM
I'm using the code following code to allow users to comment a picture:



function hon_save_vote2(){
$info = auth_member();

$sql_query = "SELECT photos FROM photo_votes WHERE mem_id=".$info["mem_id"];
$exclude = $GLOBALS["DB"]->single($sql_query);
$exclude_photos = handle_empties(explode(",",$exclude));

$rating = $GLOBALS["Get"]->type_val("rating","integer");
$pho_id = $GLOBALS["Get"]->type_val("rate_pho_id","integer");
$comment = $GLOBALS["Get"]->val("comment");

if(!in_array($pho_id,$exclude_photos)){

$sql_query = "UPDATE photos SET rating=rating+".$rating.",votes=votes+1 WHERE pho_id=".$pho_id;
$GLOBALS["DB"]->execute($sql_query);

$sql_query = "UPDATE photo_votes SET photos=CONCAT(photos,'".$pho_id.",') WHERE mem_id=".$info["mem_id"];
$updated = $GLOBALS["DB"]->update($sql_query);

if(!$updated){
$sql_query = "INSERT INTO photo_votes (mem_id,photos) VALUES (".$info["mem_id"].",'".$pho_id.",')";
$GLOBALS["DB"]->execute($sql_query);
}//if

}//if


if($comment){
{
$sql_query = "INSERT INTO photo_comments (pho_id,mem_id,comment)
VALUES (:pho_id:,:mem_id:,':comment:')";
$vals["pho_id"] = $pho_id;
$vals["mem_id"] = $info["mem_id"];
$vals["comment"] = $comment;
$GLOBALS["DB"]->values = $vals;
$GLOBALS["DB"]->execute($sql_query);
}

}//if



load_page("index.php?page=viewphotos&pho_id=".$pho_id."&per_id=".$per_id);

}//hon_save_vote2

everything works fine, except the last red line. after commenting it just should reload the same page.

but it reloads:
http://www.schuelercommunity.com/index.php?page=viewphotos&pho_id=100893&per_id=

so it doesn't transfer the per_id at the end. how can i fix this?

thank you for any help!

EnIgMa1234
10-01-2007, 09:10 PM
Should it be

load_page("index.php?page=viewphotos&pho_id=".$pho_id."&per_id=".$per_id.");

With the extra " before );

stonner
10-01-2007, 09:13 PM
no, there are four quote marks in total. i think that's right.

Dismounted
10-02-2007, 04:56 AM
$per_id is not defined anywhere.

stonner
10-02-2007, 04:59 AM
ok, another option would be just refreshing the page (just like the refresh button)

or

to retrieve the current URL and to load the current URL.

but i dont how to do this.

Dismounted
10-02-2007, 05:06 AM
Replace the load_page() line with:
$per_id = intval($_GET['per_id']);
load_page('index.php?page=viewphotos&pho_id=' . $pho_id . '&per_id=' . $per_id);

stonner
10-02-2007, 05:32 PM
that gets:

http://www.schuelercommunity.com/index.php?page=viewphotos&pho_id=100913&per_id=0

but thank you for trying to help me. do you have another idea?

Dismounted
10-03-2007, 05:31 AM
Where is per_id located? Is it even passed on to the page?

stonner
10-05-2007, 09:25 AM
per_id is in the same table as pho_id.

it is passed to the page i think because it is in the URL of the page where you submit the comment.

Dismounted
10-09-2007, 08:00 AM
Give me an example URL.

stonner
10-12-2007, 09:23 AM
<a href="http://www.schuelercommunity.com/index.php?page=viewphotos&pho_id=100946&per_id=100838" target="_blank">http://www.schuelercommunity.com/ind...&per_id=100838</a>

thank you

Dismounted
10-12-2007, 10:37 AM
It should be working then...See if this works (if it works, I'll have to tweak it a bit to clean some variables).
$per_id = $_GET['per_id'];
load_page('index.php?page=viewphotos&pho_id=' . $pho_id . '&per_id=' . $per_id);

stonner
10-12-2007, 01:36 PM
hi, i tried it and the same:

it gets to the URL: http://www.schuelercommunity.com/index.php?page=viewphotos&pho_id=100860&per_id=

Dismounted
10-13-2007, 04:04 AM
Try:
$per_id = $GLOBALS['Get']->type_val('per_id', 'integer');
load_page('index.php?page=viewphotos&pho_id=' . $pho_id . '&per_id=' . $per_id);

stonner
10-13-2007, 08:13 AM
now it get's

http://www.schuelercommunity.com/index.php?page=viewphotos&pho_id=100958&per_id=0

with a zero at the end...:(

Dismounted
10-17-2007, 06:54 AM
Are you sure it's actually in the URL of the page that the script in being run?