Avatar billede Nicklas_J Nybegynder
20. februar 2010 - 23:06 Der er 6 kommentarer

Kompliceret & svært problem.

Hej.
Jeg er stødt på et "problem".

Det er sådan at jeg gerne vil have at der skal komme en besked oppe i toppen(lavet i css, med <div id message) når en bruger får point gennem kommentar.

Man skriver en kommentar i video/show.php, hvor der er en form.
I den form er der så javascript inkluderet, som sender string til insert.php som smider det ind i databasen, og derefter skriver ud hvad du nu får for svar(for eksempel hvis man laver en echo "OK" så får du ok..)
I kan lige se på scriptet:

function insert() {
// Optional: Show a waiting message in the layer with ID login_response
document.getElementById('insert_response').innerHTML = "To Sek .. "
// Required: verify that all fileds is not empty. Use encodeURI() to solve some issues about character encoding.
var fID= encodeURI(document.getElementById('fID').value);
var kommentar= encodeURI(document.getElementById('kommentar').value);
// Set te random number to add to URL request
nocache = Math.random();
// Pass the login variables like URL variable
http.open('get', 'insert.php?fID='+fID+'&kommentar=' +kommentar+'&nocache = '+nocache);
http.onreadystatechange = insertReply;
http.send(null);
}
function insertReply() {
if(http.readyState == 4){
var response = http.responseText;
document.getElementById('insert_response').innerHTML = ''+response;
}
}

Og det skal lige siges at show.php vises i en FRAME som er på index.php. Og i index.php.
Og det er i index.php som den skal tage imod beskeden og vise den.

Så på en eller anden måde skal jeg sende en besked efter insert.php har smidt det ind i databasen, som indeholder
"Du har fået point".

Kan ikke gemme det i normale sessions da jeg bruger phpbb integration til at logge ind på siden.

Har så prøvet således at indextest.php indeholder:
<script type="text/javascript">
function someFunction(msg) {
    alert(msg);
}
</script>

og så at i insert.php er der(efter indsættelse til databasen)
if (window.parent) {
    window.parent.someFunction('hello world');
}

og så i javascriptkoden havde jeg ændret funktionen InsertReply() til:
function insertReply() {
if(http.readyState == 4){
var response = http.responseText;
eval(response);
}
}

Men så får jeg syntax error ved eval(response); og er sådan rigtig gået i stå nu.
Ved ikke hvad jeg gør.

Tak!
Avatar billede majbom Novice
21. februar 2010 - 07:00 #1
jeg har lidt svært ved at se hvordan din side er bygget op...

og hvorfor kan du ikke bruge sessions, bare fordi du har phpbb? det er da, mig bekendt, ikke noget der beslaglægger sessions?
Avatar billede Nicklas_J Nybegynder
21. februar 2010 - 11:43 #2
Ved ikke hvordan jeg yderligere skal forklare det, kom med alle detaljerne..

Ja jeg har phpbb sessions allerede, altså:
<?php
    define('IN_PHPBB', true);
    $phpbb_root_path = '../../';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();
    $pusername = $user->data['username'];
?>
Avatar billede majbom Novice
21. februar 2010 - 16:00 #3
derfor kan du vel godt bruge sessions? du skal bare sørge for ikke at bruge nogle variabelnavne som phpbb bruger...
Avatar billede Nicklas_J Nybegynder
22. februar 2010 - 13:38 #4
Okay, skal prøve, men skal jeg så tilføje session_start(); i alle mine filer eller kun insert.php og index.php..?
Avatar billede majbom Novice
22. februar 2010 - 15:14 #5
bare der hvor du skal tilgå session-arrayet...
Avatar billede majbom Novice
04. november 2010 - 13:26 #6
kom du videre?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester