Avatar billede proff Nybegynder
30. maj 2004 - 14:21 Der er 23 kommentarer og
1 løsning

Fejl i mit link der indkludere id?

Hejsa. Jeg har lidt problemer med min kode, problemet er at dne går videre til siden den skal, Men den printer ikke billede, navn eller noget ud. Det får mig til at tro at den er galt med mit link!

Jeg ser siden "tingliste" og når jeg så trykker på et link går den videre til showiten som den skal. Problemet er bare at den ikke printer navn eller noget, som om den ikke kan hente det fra databasen. Har jeg nået galt med mit ID?

Jeg har selv på fornemmelsen at det er linket der indkludere id der er noget galt med. Eller den måde jeg henter idét på..


if($action=="tingliste") {
$select_itemlist = mysql_query("SELECT id,navn,owner FROM items WHERE owner='$username' ORDER BY navn");
if(mysql_num_rows($select_itemlist)>0) {
while($row_itemlist = mysql_fetch_array($select_itemlist))
$tmp .= $row_itemlist[navn]."<br>";
}else{
$tmp .= "Du har ingen ting på dig!<br>";
}
print "<script>parent.document.getElementById('boxtekst').innerHTML = '<table width=\"100%\" cellpadding=2 cellspacing=0><tr><td><center><a onclick=\"viewbox(\'Ting\');myaction.document.location=\'action.php?action=showitem&oid=$row_itemlist[id]\'\">".$tmp."</a></center></td></tr></table>';</script>";
}



if($action=="showitem") {
$id = $_REQUEST["oid"];
if($id!= print "") {
$select_item = mysql_query("SELECT navn,value,billede,owner,rum,tinginfo FROM items WHERE(id='$id')");
$row_item = mysql_fetch_array($select_item);

print "<script>parent.document.getElementById('boxtekst').innerHTML = '<table width=\"100%\" cellspacing=0 cellpadding=0><tr><table><tr><td style=\"color:black;font-size:12\" width=\"120\">Ting:</td><td style=\"color:black;font-size:12\">$row_item[navn]</td></tr><tr><td style=\"color:black;font-size:12\">Værdi:</td><td style=\"color:black;font-size:12\">$row_item[value] Credits</td></tr><tr><td style=\"color:black;font-size:12\">ID:</td><td style=\"color:black;font-size:12\">$id</td></tr><tr><td style=\"font-size:12;color:black;font-weight:bold;text-align:center\"><img src=\"../gfx/items/$row_item[billede].gif\" alt=\"$row_item[tinginfo]\">"; if($username==$row_item[owner]) { print "<br><a onclick=\"myaction.document.location=\'action.php?action=dropitem&id=$id\'\">Smid</a>"; } print "</td></tr></table>';</script>";
}
}
Avatar billede dennismp Nybegynder
30. maj 2004 - 14:34 #1
Hmm hvor kommer $username fra ?

har du en $username = $_GET/$_POST/$_REQUEST['username'] et sted?
Avatar billede proff Nybegynder
30. maj 2004 - 14:36 #2
Username er en session. Og den bliver indlæst i toppen af siden
Avatar billede proff Nybegynder
30. maj 2004 - 14:37 #3
Tingliste hvor den henter det virker også fint, Problemet er når den skal gå videre. Der printer den ikke det ud den skal. Muligvis fordi den ikke har fået rigtigt fat i ID'et
Avatar billede dennismp Nybegynder
30. maj 2004 - 14:43 #4
if($id!= print "") {

?? :)

Er der ikke et "print" for meget?
Avatar billede proff Nybegynder
30. maj 2004 - 14:44 #5
Jo, men fatter det ikke helt. Hvis jeg ikke skriver print der. Så printer den slet ikke noget. Ellers printer den min ('tekst') Men ikke det den skal hente fra databasen.

Nogen idé til hvad der er galt?
Avatar billede dennismp Nybegynder
30. maj 2004 - 15:01 #6
Jeg ville nok gøre det på denne måde:

if($action=="showitem") {
if(isset($_REQUEST['iod']) {
  $id = intval($_REQUEST["oid"]);
...

det kan nemt være en sql fejl. tilføj en or die(mysql_error()) på din mysql-kald.

fx

mysql_query("...") or die(mysql_error());

hvad siger den så?
Avatar billede proff Nybegynder
30. maj 2004 - 15:05 #7
if($action=="showitem") {
if(isset($_REQUEST['iod']) {
$id = intval($_REQUEST["oid"]);
if($id!= print "") {
$select_item = mysql_query("SELECT navn,value,billede,owner,rum,tinginfo FROM items WHERE(id='$id')") or die(mysql_error());
$row_item = mysql_fetch_array($select_item);

print "<script>parent.document.getElementById('boxtekst').innerHTML = '<table width=\"100%\" cellspacing=0 cellpadding=0><tr><table><tr><td style=\"color:black;font-size:12\" width=\"120\">Ting:</td><td style=\"color:black;font-size:12\">$row_item[navn]</td></tr><tr><td style=\"color:black;font-size:12\">Værdi:</td><td style=\"color:black;font-size:12\">$row_item[value] Credits</td></tr><tr><td style=\"color:black;font-size:12\">ID:</td><td style=\"color:black;font-size:12\">$id</td></tr><tr><td style=\"font-size:12;color:black;font-weight:bold;text-align:center\"><img src=\"../gfx/items/$row_item[billede].gif\" alt=\"$row_item[tinginfo]\">"; if($username==$row_item[owner]) { print "<br><a onclick=\"myaction.document.location=\'action.php?action=dropitem&id=$id\'\">Smid</a>"; } print "</td></tr></table>';</script>";
}
}


Fejl på linje: Parse error: parse error, unexpected '{' in c:\srv\apachegroup\apache\htdocs\chat\action.php on line 212

Og den linje er: if($action=="showitem") {
Avatar billede dennismp Nybegynder
30. maj 2004 - 15:23 #8
if(isset($_REQUEST['iod']) {
skal være
if(isset($_REQUEST['iod'])) {
Avatar billede proff Nybegynder
30. maj 2004 - 15:27 #9
Ja, det fandt jeg ud af..Tester lige
Avatar billede proff Nybegynder
30. maj 2004 - 15:34 #10
Joo, og den sidste fejl lå selvfølelig her: id='$id')")

Der er jo ikke noget der hedder "id" men der er jo noget der hedder "$id!" Smid lige et svar Dennis.. Du har fortjent p :P
Avatar billede dennismp Nybegynder
30. maj 2004 - 15:41 #11
Takker,

Hvor var den fejl henaf? (Kan ikke lige få øje på det :-) )
Avatar billede proff Nybegynder
30. maj 2004 - 17:32 #12
Nej, det virker da vist heller ikke helt. Tror nok lige jeg forhastede mig lidt. Jeg vil lige prøv at finde ud af noget :)
Avatar billede proff Nybegynder
02. juni 2004 - 20:18 #13
Jeg må indrømme at jeg ikke har haft så meget tid på det sidste, dog har jeg kigget på det.. Og jeg kan ikke få det til at virke :-(

Har du flere idéer?
Kan du lave det for mig hvis du evt. omskriver koden på din måde ;o?
Altså en ny måde hvor den henter id på??

Need help Dennis.. Du har reddet mig før, og jeg ved du kan gøre det igen :-)
Avatar billede dennismp Nybegynder
02. juni 2004 - 20:27 #14
Hehe.. Jeg kan da forsøge..


Hvad sker der? Fejlbesked? Hvordan ser din kode ud nu?
Avatar billede proff Nybegynder
02. juni 2004 - 21:37 #15
Min kode er den der står som det sidste "kode tag" længere oppe på siden, dog husk at rette fejlen som står nedenunder den.
Avatar billede dennismp Nybegynder
03. juni 2004 - 00:05 #16
prøv:

if($action=="showitem") {
    if(isset($_REQUEST['iod'])) {
        $id = intval($_REQUEST["oid"]);
        if(!empty($id)) {
            $select_item = mysql_query("SELECT navn,value,billede,owner,rum,tinginfo FROM items WHERE(id='$id')") or die(mysql_error());
            $row_item = mysql_fetch_array($select_item);
            if( $row_item == false )
                die("Kan ikke finde id=$id");

            print "<script>parent.document.getElementById('boxtekst').innerHTML = '<table width=\"100%\" cellspacing=0 cellpadding=0><tr><table><tr><td style=\"color:black;font-size:12\" width=\"120\">Ting:</td><td style=\"color:black;font-size:12\">$row_item[navn]</td></tr><tr><td style=\"color:black;font-size:12\">Værdi:</td><td style=\"color:black;font-size:12\">$row_item[value] Credits</td></tr><tr><td style=\"color:black;font-size:12\">ID:</td><td style=\"color:black;font-size:12\">$id</td></tr><tr><td style=\"font-size:12;color:black;font-weight:bold;text-align:center\"><img src=\"../gfx/items/$row_item[billede].gif\" alt=\"$row_item[tinginfo]\">";

            if($username==$row_item[owner]) {
                print "<br><a onclick=\"myaction.document.location=\'action.php?action=dropitem&id=$id\'\">Smid</a>";
            }
            print "</td></tr></table>';</script>";
        }
    }
}
?>
Avatar billede proff Nybegynder
03. juni 2004 - 09:17 #17
Nu viser den ting *GG*

Dog er der en fejl, Hvis jeg åbner min ting liste og trykker på tingen som den så skal gå videre at vise er det lige gyldigt hvilken en ting jeg trykker på. Den viser kun tingen med id 1, selvom jeg trykker på tingen med id 2. Kan det være en fejl i id når jeg sender det?
Avatar billede dennismp Nybegynder
03. juni 2004 - 09:49 #18
prøv med følgende kode: "??????" skal erstattes af dit scriptnavn

f($action=="tingliste") {
$select_itemlist = mysql_query("SELECT id,navn,owner FROM items WHERE owner='$username' ORDER BY navn");
if(mysql_num_rows($select_itemlist)>0) {
while($row_itemlist = mysql_fetch_array($select_itemlist))
$tmp .= '<a href="??????.php?id='.$row['id'].'">'$row_itemlist[navn]."</a><br>";
}else{
$tmp .= "Du har ingen ting på dig!<br>";
}
print "<script>parent.document.getElementById('boxtekst').innerHTML = '<table width=\"100%\" cellpadding=2 cellspacing=0><tr><td><center><a onclick=\"viewbox(\'Ting\');myaction.document.location=\'action.php?action=showitem&oid=$row_itemlist[id]\'\">".$tmp."</a></center></td></tr></table>';</script>";
}
Avatar billede proff Nybegynder
03. juni 2004 - 11:42 #19
Nu tager jeg mig lige sammen, jeg vrøvlede igen. Jeg uploade koden i et forkert filnavn. Så fik kun tjekket den gamle kode :P

Har tjekket den nye og den printer ingen ting, så må være id det er galt med. Og ang. den nye kode er jeg ikke helt med hvad det er jeg skal ændre??
Avatar billede dennismp Nybegynder
03. juni 2004 - 14:28 #20
Prøv engang, at beskrive hvad du gerne vil have at scriptet gør. Jeg har lidt svært ved at overskue det ligenu :-)
Avatar billede blutonium Nybegynder
12. juni 2004 - 17:11 #21
Proff => Dit koderi fra netslottet, kan ikke ændres med mindre du om-programmér chatten.
Avatar billede proff Nybegynder
12. juni 2004 - 20:49 #22
hm. Hvor ved du at det er fra NS ;)?

Og den er skam også om-programmeret en del.. Men jeg mangler det sidste. Forøvrigt har jeg fået dette til at virke :-)
Avatar billede daem Nybegynder
18. august 2005 - 18:47 #23
vis i har brug for netslottet ting kan i kont mig på min msn som er doos@c.dk
Avatar billede daem Nybegynder
19. august 2005 - 07:28 #24
all dem der søg en job på netslottet.com så kommer ind og kont mig på chat mit nave er RooX
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