Forum > Övriga serverspråk > PHP
Är det någon som skulle kunna hjälpa mig med att göra så att det visar en blinkade bild istället för siffror när man har ett nytt meddelade?
<head>
<link href="DEFAULT.css" rel="stylesheet" type="text/css">
<style type="text/css">
.style801 {
color: #FFFFFF;
font-size: 8pt;
font-family: Tahoma;
}
</style>
</head>
<?php
// Kolla om session satt annars skicka till inloggnings sidan!
if (!isset($_SESSION['sess_user'])){
header("Location: ../404.html");
exit;
}
$id=$_SESSION['sess_id'];
$user=$_SESSION['sess_user'];
if(time() - $_SESSION['message_time'] > 3){
$_SESSION['message_time']=time();
if($_SESSION['gb']==""){
$_SESSION['vanner']=0;
$_SESSION['gb']=0;
}
//pm nya meddelande
$vanenrSql = mysql_query("SELECT COUNT(*) FROM vanner WHERE user1='{$_SESSION['sess_user']}' AND accept='0'", $conn);
$_SESSION['vanner']=mysql_result($vanenrSql, 0);
//Gb nya meddelande
$gbSql = mysql_query("SELECT COUNT(*) FROM gastbok WHERE owner='{$_SESSION['sess_id']}' AND old='0'", $conn);
$_SESSION['gb']=mysql_result($gbSql, 0);
}
//Menyn
echo "<a href='show.php?page=press&show=$user&id=$id' >Profil</a> ";
echo '<img src="images/sub_menu_divider.gif"> ';
echo "<a href='show.php?page=pm_inkorg' >Meddelande [ $antal_nya_pm ]</a> ";
echo '<img src="images/sub_menu_divider.gif"> ';
echo "
<a href='show.php?page=vanner&friend&show=$user'>Vänner( ";
if($_SESSION['vanner']==1){$vannerText="";}else{$vannerText="";}echo $_SESSION['vanner'].$vannerText."";
echo " )</a>
<img src='images/sub_menu_divider.gif'> <a href='show.php?page=gastbok&user=$id'>Gästbok ( ";
if($_SESSION['gb']==1){
$gbText="";}
else{$gbText="";}
echo $_SESSION['gb'].$gbText."";
echo " )</a>
";
echo '<img src="images/sub_menu_divider.gif"> ';
echo "<a href='show.php?page=r_menyn' >Inställningar</a> ";
echo '<img src="images/sub_menu_divider.gif"> ';
echo "<a href='index.php?logout=' >Logga ut</a> ";
?>
</td>
Förstå inte riktigt varför du sparar det i sessioner, men skit samma.
COUNT() retunera alltid en rad, så din if fråga:
if($_SESSION['gb']==""){
$_SESSION['vanner']=0;
$_SESSION['gb']=0;
}if($_SESSION['gb']!=0){
$gbText='<img src="din_animeradebild.gif" alt="$_SESSION['gb'] nya inlägg" />';
} else {
$gbText="";
}Sen hoppas jag att du inte ha detta utanför en <body> element.
Jag får endå inte till det :S
http://www.aspkoll.se/code/Index.asp?id=620
Flyttat till /code/ då du har en hel del rader kod du presentera om och om igen.
Du skriver ju exempelvis aldrig ut din variabel $gbText du sätter den bara, om du ändå ha den där så kan du köra en echo om du inte skall återanvända variablen mer än på din meny.
Jag tror att jag har gjort vad du sa men det funkar inte endå http://www.aspkoll.se/code/Index.asp?id=621
Hade nog fungerat bättre om du anropar din variabel efter att du har satt den ;) lägg din echo efter du har satt variablen till något.
Skulle du kunna ändra det jag har gjort fel och lägga ut den på /code/ ?? det vore väldigt tacksamt som du kunde det.
Ett annat fel du har är ju att du bryter dina php strängar lite hej vilt Om du skall köra " eller ' se till att hålla dig till en av dessa (kom inte ihåg vilket som gjorde vad, men det gå nog att göra en sökning).
Ändra bara det jag bad dig göra, flytta din if fråga ovanför din echo eller flytta ner din echo efter att if frågan har körts att du ha ett värde. Om jag skall göra det så lär du dig inget på det, att kopiera kod utan att förstå sig på det straffar sig bara i längden. Ett exempel är att du kör sessioner på något jag kan tycka är en helt vanlig variabel, varför kör du det? En annan fråga: Varför kör du
if(time() - $_SESSION['message_time'] > 3){Varför sparar du ner
$id=$_SESSION['sess_id'];
$user=$_SESSION['sess_user'];
Har gjort ett tappert försök att rensar din kod, men rätt många frågetecken är kvar, men förmodligen kommer det fungera för dig: http://www.aspkoll.se/code/Index.asp?id=622
Redigerat: Är det att du sparar ner det i sessioner för att slippa köra anrop mot DB hela tiden? redigera min kod för att få till det igen.