14. juli 2007 - 12:39Der er
23 kommentarer og 1 løsning
Besked vises ikke. Lidt hjælp til kodning.
Hej jeg har et problem i mit besked system. Når man har modtaget en besked og vil læse den kan man hverken se navnet på afsender eller beskeden?
En der er flink lige at kigge koden igennem
<?php include "../admin/var.php"; include '../connect.php'; session_start(); ?> <?php if (isset($_SESSION['user'])) { $getuser="SELECT * from b_users a, b_templates b where b.templateid=a.templateclass and a.username='$user'"; $getuser2=mysql_query($getuser) or die("Could not get user info"); $getuser3=mysql_fetch_array($getuser2); $templateclass=$getuser3['templatepath']; print "<center>"; if($usepms=="Yes") { $ID=$_GET['ID']; $getpm="SELECT * from b_pms as a, b_users as b where a.pmID='$ID' and a.receiver='$getuser3[userID]' and b.userID=a.sender"; $getpm2=mysql_query($getpm) or die("Could not get pm"); $getpm3=mysql_fetch_array($getpm2); print "<center><A href='pm.php'>Tilbage til index</a>-<A href='replypm.php?ID=$ID'>Svar</a></center>"; print "<center><center>PM from $getpm3[playername](#$getpm3[pmID])</center>"; $getpm3[message]=strip_tags($getpm3[message]); $getpm3[message]=htmlspecialchars($getpm3[message]); $getpm3[message]=nl2br($getpm3[message]); print "$getpm3[message]"; $updatenote="Update b_pms set hasread='1' where pmID='$ID' and receiver='$getuser3[userID]'"; mysql_query($updatenote) or die(mysql_error()); } else { print "Privat beskeder er slået fra."; }
} else { print "Du er ikke logget ind. <A href='../login.php'>Klik her for at logge ind</a><br>";
prøv at rette: $getpm="SELECT * from b_pms as a, b_users as b where a.pmID='$ID' and a.receiver='$getuser3[userID]' and b.userID=a.sender";
til: getpm="SELECT * from b_pms as a, b_users as b where a.pmID='$ID' and a.receiver='{$getuser3['userID']}' and b.userID=a.sender";
Og print "<center><center>PM from $getpm3[playername](#$getpm3[pmID])</center>"; Til: print "<center><center>PM from {$getpm3['playername']}(#{$getpm3['pmID']})</center>";
Og print "$getpm3[message]"; til print $getpm3['message'];
Og sidst: $updatenote="Update b_pms set hasread='1' where pmID='$ID' and receiver='$getuser3[userID]'"; til $updatenote="Update b_pms set hasread='1' where pmID='$ID' and receiver='{$getuser3['userID']}'";
altså nu slettede jeg bare det som du skrev jeg skulle rette i pga siden ikke ville vises, så den liger den jeg har skrevet først.
Koden ser sådan her ud med dine opdateringer.
<?php include "../admin/var.php"; include '../connect.php'; session_start(); ?> <?php if (isset($_SESSION['user'])) { $getuser="SELECT * from b_users a, b_templates b where b.templateid=a.templateclass and a.username='$user'"; $getuser2=mysql_query($getuser) or die("Could not get user info"); $getuser3=mysql_fetch_array($getuser2); $templateclass=$getuser3['templatepath']; print "<center>"; if($usepms=="Yes") { $ID=$_GET['ID']; getpm="SELECT * from b_pms as a, b_users as b where a.pmID='$ID' and a.receiver='{$getuser3['userID']}' and b.userID=a.sender"; $getpm2=mysql_query($getpm) or die("Could not get pm"); $getpm3=mysql_fetch_array($getpm2); print "<center><A href='pm.php'>Tilbage til index</a>-<A href='replypm.php?ID=$ID'>Svar</a></center>"; print "<center><center>PM from {$getpm3['playername']}(#{$getpm3['pmID']})</center>"; $getpm3[message]=strip_tags($getpm3[message]); $getpm3[message]=htmlspecialchars($getpm3[message]); $getpm3[message]=nl2br($getpm3[message]); print $getpm3['message']; $updatenote="Update b_pms set hasread='1' where pmID='$ID' and receiver='{$getuser3['userID']}'"; mysql_query($updatenote) or die(mysql_error()); } else { print "Privat beskeder er slået fra."; }
} else { print "Du er ikke logget ind. <A href='../login.php'>Klik her for at logge ind</a><br>";
Du mangler et $ ved getpm="SELECT *..... $getpm="SELECT * from b_pms as a, b_users as b where a.pmID='$ID' and a.receiver='{$getuser3['userID']}' and b.userID=a.sender";
beklager, kan se det er mig som ikke lige fik det med i mine rettelser.
Det kunne måske lige være en ide at lidt forskellige tjeks undervejs.
if (isset($_SESSION['user'])) { echo "Du er logget ind";
og
if($usepms=="Yes") { echo "Private beskeder er slået til <br />";
og
$getuser2=mysql_query($getuser) or die("Could not get user info"); echo "Antal rækker ved første query: ".mysql_num_rows($getuser)."<br />";
og
$getpm2=mysql_query($getpm) or die("Could not get pm"); echo "Antal rækker ved anden query: ".mysql_num_rows($getpm2)."<br />";
Prøv dette her og se hvad den siger, det skulle meget gerne give en ide om alt går som du forventer.
Grunden til at jeg satte {} rundt om dine variabler er at når du bruger et array inden for "" skal der {} omkring, således: echo " $variabel, {$array['foerste']}" og ikke: echo " $variabel, $array[foerste]"
den viser slet ikke noget. koden er indsat korrekt. $getuser2=mysql_query($getuser) or die("Could not get user info"); $getuser3=mysql_fetch_array($getuser2); print_r($getpm3); $templateclass=$getuser3['templatepath'];
nu er den sat rigtig ind :) men siden vises ikke. $getpm2=mysql_query($getpm) or die("Could not get pm"); $getpm3=mysql_fetch_array($getpm2); print_r($getpm3);
bruger one.com du kan se siden på www.gadgetgirl.dk men du er nød til at oprette en profil også gå ind under indbakke
hmm har du husket at så errors til i dit kontrolpanel hos one.com Siden har sikkert en fejl, men som standart er fejlbeskeder slået fra hos one.com. Du skal selv ind og slå dem til.
fik rettet fejlen, men den viser ikke hvad den henter fra mysql?
<?php if (isset($_SESSION['user'])) {
$getuser="SELECT * from b_users a, b_templates b where b.templateid=a.templateclass and a.username='$user'"; $getuser2=mysql_query($getuser) or die("Could not get user info"); $getuser3=mysql_fetch_array($getuser2); $templateclass=$getuser3['templatepath']; print "<center>"; if($usepms=="Yes") { $ID=$_GET['ID']; $getpm="SELECT * from b_pms as a, b_users as b where a.pmID='$ID' and a.receiver='{$getuser3['userID']}' and b.userID=a.sender"; $getpm2=mysql_query($getpm) or die("Could not get pm"); $getpm3=mysql_fetch_array($getpm2); print_r($getpm3); print "<center><A href='pm.php'>Tilbage til index</a>-<A href='replypm.php?ID=$ID'>Svar</a></center>"; print "<center><center>PM from {$getpm3['playername']}(#{$getpm3['pmID']})</center>"; $getpm3[message]=strip_tags($getpm3[message]); $getpm3[message]=htmlspecialchars($getpm3[message]); $getpm3[message]=nl2br($getpm3[message]); print $getpm3['message']; $updatenote="Update b_pms set hasread='1' where pmID='$ID' and receiver='{$getuser3['userID']}'"; mysql_query($updatenote) or die(mysql_error()); } else { print "Privat beskeder er slået fra."; }
} else { print "Du er ikke logget ind. <A href='../login.php'>Klik her for at logge ind</a><br>";
Se problemet er at $getuser3['userID'] ikke har nogen værdi. Det må betyde at den ikke henter den rigtige række ved første forespørgelse. Hvor sætter du værdien af $user henne ??
Prøv at skrive: echo $getuser;
efter $getuser="SELECT * from b_users a, b_templates b where b.templateid=a.templateclass and a.username='$user'";
og prøv at skrive echo "Antal rækker ved første query: ".mysql_num_rows($getuser)."<br />";
efter $getuser2=mysql_query($getuser) or die("Could not get user info");
får denne fejl. SELECT * from b_users a, b_templates b where b.templateid=a.templateclass and a.username='' Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /customers/gadgetgirl.dk/gadgetgirl.dk/httpd.www/board/pm/readpm.php on line 13 Antal rækker ved første query:
SELECT * from b_pms as a, b_users as b where a.pmID='3' and a.receiver='' and b.userID=a.sender
$getuser="SELECT * from b_users a, b_templates b where b.templateid=a.templateclass and a.username='$user'"; echo $getuser; $getuser2=mysql_query($getuser) or die("Could not get user info"); echo "Antal rækker ved første query: ".mysql_num_rows($getuser)."<br />"; $getuser3=mysql_fetch_array($getuser2);
hehe noget meget meget mærkeligt er sket. Ligepludselig virker det som det skal?? uden jeg har gjort noget?, men det er jo bare dejligt. Du må dog gerne få points da du har været så flink at hjælpe mig :)
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.