Nu behöver jag verkligen hjälp! Har hållt på hela dan med detta forum och hälften av tiden har ägnats åt samma problem, som jag tydligen inte lyckas lösa. Kanske har suttit och stirrat på det för länge nu så jag inte ser vad som ska göras. Jag använder mig utav PHP och MySQL. Jag gör alltså ett forum (detta är bara själva forumet som sedan skall läggas in på en annan sida) och på första sidan där man kan se de olika kategorierna i forumet ska det visas: de olika kategorierna som finns och en beskrivning av dessa, underforum och en beskrivning av dessa, vilken tråd det senast skrevs i, vilken som skrev senaste inlägget, hur många trådar det finns samt antal svar. Problemet jag har är att uppdatera vilken som skrivit senaste inlägget i underforumet samt i vilken tråd det skrevs. Så om någon kunde hjälpa mig med detta skulle jag bli väldigt tacksam!
Bifogar alla filer i forum2.zip. Där i finns även den databas som behövs för att provköra sidan.
Beskriv och skriv tabellkopplingarna och skriv lite kod på hur du listar och ta med psuedo kod för de du vill ha utfört istället så hjälper säkert någon till ifalld e är inte för mycket jobb.
Att behöva ladda ner hela forumet/installera och läsa igenom listningen/skriva om kod är lite väl mycket begärt, speciellt på bara en kväll.
Eller vänta några dagar, kanske kommer någon som har lite att göra :)
Alternativt lägga de i Jobb och tjänster (Ideella)
Du kan ju också läsa phpbb koden. Dom har de väll exakt så? Med kategorier sen underrubriker där senaste visas osv.
Haha, det fanns faktiskt en anledning att jag inte hittade den sidan, eller hittade gjorde jag, men det är så att jag inte kommer in på sidan från min dator. Måste åka iväg ikväll och kolla det på en annan dator då. Så även om det var väldigt dåligt av mig så fanns det en liten anledning :)
Jag vet inte, det måste vara någon inställning på datorn för jag har precis flyttat till ett nytt ställe och det är samma del där som på det förra. Några sidor jag inte kommer in på är t.ex. eniro.se, ams.se och phpbb.com. Explorer försöker hitta sidorna men efter ett tag blir det "Servern hittades inte", "Sidan kan inte visa". Kanske det finns någon som kan hjälpa mig med det under tiden jag försöker med forumet? Jag använder inte Windows XP brandväggen utan Kerio Personal Firewall 2.1.5.
Kan du gå in på de addresserna via ip direkt ? phpbb.com -> http://140.211.166.95/
kan du det så kan det isåfall vara fel på din dns-server, kontakta din internetleverantör lr dyl
Nej det kunde jag inte, och kom inte heller inte på http://phpbb.osuosl.org/. Men den där downloadsidan fungerade bra den.
Jag har tittat på koden nu och jag vet inte riktigt om det är till så stor hjälp. Det känns som att den koden ligger på lite för hög nivå för forumet jag har skapat, tyvärr. Men jag får väl fortsätta försöka. Och kanske det finns någon som kan ge en hjälpande hand?
Beskriv och skriv tabellkopplingarna och skriv lite kod på hur du listar och ta med psuedo kod för de du vill ha utfört istället så hjälper säkert någon till ifalld e är inte för mycket jobb.
Att behöva ladda ner hela forumet/installera och läsa igenom listningen/skriva om kod är lite väl mycket begärt, speciellt på bara en kväll.
Eller vänta några dagar, kanske kommer någon som har lite att göra :)
Alternativt lägga de i Jobb och tjänster (Ideella)
Du kan ju också läsa phpbb koden. Dom har de väll exakt så? Med kategorier sen underrubriker där senaste visas osv.
Jag använder inte phpbb's källkod som mall, jag försökte bara få tips om hur jag kunde lösa mitt problem i deras kod.
Ja, då gör vi ett försök till :) Har fixat så att sidan ligger uppe på en webbadress nu: https://www.danzayengols.com/forum2/ Då kommer man till Startsidan på forumet, där problemet ligger. Så nu slipper ni upprätta hela sidan själv utan kan bara kolla på koderna i den bifogade zip-filen.
Admin:
För att lägga till en ny kategori: lagg_till_kategori.php
För att lägga till ett nytt forum: lagg_till_forum.php
User:
För att lägga till ny tråd: lagg_till_trad.php
För att svara på existerande tråd: laggtillsvar.php
För att visa inläggen i ett visst forum: visaforum.php
För att visa inläggen i en viss tråd: visatrad.php
Sedan första inlägget har problemet ändrats en del. Jag har nu lyckats med att få fram vilken användare som senast skapade en tråd. Men istället går det nu inte ens att skriva ett svar på första inlägget. När ni testar på hemsidan så kommer det inte upp något alls, men när jag testar hemma på datorn får jag felmeddelande: Parse error: parse error, unexpected T_STRING in C:\wwwroot\lars\forum2\laggtillsvar.php on line 86, detta gäller även raderna 87 och 88.
Problemet med att få fram vilken tråd det senast skrevs i har jag inte lyckats gjort något alls åt.
Hoppas att det blev lättare nu? Annars får jag göra ett nytt försök med mer kod m.m.
Nu har jag äntligen fått till så att den person som skrev senaste inlägget visas på index.php iaf. Nu fattas bara att även få till det så att det visas vilken tråd det senast skrevs i. Så om det är någon som har några tips så är det bara att skriva. Jag har även uppdaterat forumet på hemsidan, så ni kan kolla där hur det ser ut. Testa gärna att skriva något, och om det inte fungerar som det ska får ni väldigt gärna påpeka det.
Då gör vi ett nytt försök. Det jag behöver hjälp med är alltså att få fram titeln till den tråd det senast skrevs i inom varje forum. Tabellen som denna information ska in i är forum och ser ut som nedan:
CREATE TABLE `forum` (
`id` int(4) NOT NULL auto_increment,
`kid` int(4) NOT NULL default '0',
`titel` varchar(255) NOT NULL default '',
`beskrivning` longtext NOT NULL,
`senaste_inlagg_titel` varchar(255) NOT NULL default '',
`senaste_inlagg_anvandare` varchar(32) NOT NULL default '',
`amnen` int(9) NOT NULL default '0',
`svar` int(9) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Jag har fått till det så att när man skapar en ny tråd så hamnar det i senaste_inlagg_titel. Men det är när man skriver ett svar på trådarna som det helt enkelt inte skrivs något till tabellen. Det är i filen lagg_till_svar.php som måste åtgärdas, och den ser ut som nedan:
<?
// include our much-needed database info.
include ("connect.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php
// turns our url defined variable and turns it into $f.
$t = $_GET['t'];
// you should be getting used to the below lines...
// get the info from the chosen row and use $r = mysql_....($result) to
// define each variable.
$result = mysql_query("select titel, fid from amnen where id = '$t'");
$r = mysql_fetch_array($result);
$f = $r['fid'];
?>
<html>
<head>
<title>Lägg till svar</title>
</head>
<body>
<?
// if the preview button is pressed...
if(isset($_POST['forhandsgranska']))
{
?>
<table cellpadding="5" cellspacing="1" border="0" style="width:90%;border:1px solid #000;">
<tr>
<td colspan="2" style="background-color:#eee;">re: <? echo $_POST['titel']; ?></td>
</tr>
<tr>
<td style="width:25%;background-color:#fafafa;" valign="top">
<? echo $_POST['anvandare']; ?></td>
<td style="width:75%;background-color:#fafafa;" valign="top">
<?
// nl2br turns new lines into line breaks (<br />)
// htmlspecialchars prevents use of html
echo nl2br(htmlspecialchars($_POST['inlagg']));
?>
</td>
</tr>
<tr>
<td style="background-color:#eee;font-size:0;height:15px;" colspan="4"> </td>
</tr>
</table>
<br />
<?
}
?>
<?
// if the add reply button was pressed and no fields were left empty...
if(isset($_POST['laggtillsvar']) && !empty($_POST['anvandare'])
&& !empty($_POST['inlagg']))
{
// redefine our posted variables
// we have to use addslashes to prevent mysql injection (hacks)
// we also use htmlspecialchars to prevent tags from being used.
$t = $_POST['t'];
$f = $_POST['f'];
$anvandare = addslashes(htmlspecialchars($_POST['anvandare']));
$inlagg = addslashes(htmlspecialchars($_POST['inlagg']));
// this gets the time from the unix epoch in seconds.
$timestamp = time();
// inserts the defined variables into the replies table.
mysql_query("insert into svar (id, aid, anvandare, inlagg)
values('null', '$t', '$anvandare', '$inlagg')");
// the below six lines are used ONLY to get the reply count from the forum / topics
// and add the count by +1.
$add_count_forum_result = mysql_query("select svar from forum where id = '$f'");
$add_count_amnen_result = mysql_query("select svar from amnen where id = '$t'");
$add_count_forum_row = mysql_fetch_array($add_count_forum_result);
$add_count_amnen_row = mysql_fetch_array($add_count_amnen_result);
$add_count_forum = $add_count_forum_row['svar']+1;
$add_count_amnen = $add_count_amnen_row['svar']+1;
// updates the forums and changes the old reply count by adding +1.
// updates the topic, sets reply +1, and udpates the timestamp.
mysql_query("update amnen set senaste_inlagg_anvandare = '$anvandare' where id = '$t'");
//Här uppdaterar jag vilken användare som senaste skrev.
mysql_query("update forum set senaste_inlagg_anvandare = '$anvandare' where id = '$f'");
//Det här är mitt försök till att uppdatera titeln till senaste inlägget, men det fungerar inte.
mysql_query("update forum set senaste_inlagg_titel = '$titel' where id = '$f'");
mysql_query("update forum set svar = '$add_count_forum' where id = '$f'");
mysql_query("update amnen set svar = '$add_count_amnen', timestamp = '$timestamp' where id = '$t'");
?>
<table cellpadding="5" cellspacing="1" border="0" style="width:90%;border:1px solid #000;">
<tr>
<td style="background-color:#eee;">Message Added</td>
</tr>
<tr>
<td style="width:75%;background-color:#fafafa;" valign="top">
Your Reply was added successfully.<br />
<a href="visatrad.php?t=<? echo $t; ?>">View your reply thread.</a>
</td>
</tr>
<tr>
<td style="background-color:#eee;font-size:0;height:15px;" colspan="4"> </td>
</tr>
</table>
<?
}
else{
// if you look at each inputs value, you'll see php.
// this checks to see if the posted value has been set (such as if the
// user presses "preview". If the posted value is set, then echo out
// that value.
?>
<form action="laggtillsvar.php" method="post">
<input type="hidden"
value="<? if(isset($_POST['t'])){ echo $_POST['t']; } else{ echo $t; } ?>" name="t" />
<input type="hidden"
value="<? if(isset($_POST['f'])){ echo $_POST['f']; } else{ echo $f; } ?>" name="f" />
<table cellpadding="5" cellspacing="1" border="0" style="width:90%;border:1px solid #000;">
<tr>
<td colspan="2"style="background-color:#eee;">Adding reply to: <? echo $r['titel']; ?></td>
</tr>
<tr>
<td style="width:15%;background-color:#fafafa;">Username:</td>
<td style="width:85%;background-color:#fafafa;">
<input type="text" name="anvandare"
value="<? if(isset($_POST['anvandare'])){ echo $_POST['anvandare']; } ?>" />
</td>
</tr>
<tr>
<td style="width:15%;background-color:#fafafa;" valign="top">Message:</td>
<td style="width:85%;background-color:#fafafa;">
<textarea name="inlagg" cols="" rows="" style="width:80%;height:200px;">
<? if(isset($_POST['inlagg'])){ echo $_POST['inlagg']; } ?>
</textarea>
</td>
</tr>
<tr>
<td style="width:15%;background-color:#fafafa;" valign="top"> </td>
<td style="width:85%;background-color:#fafafa;">
<input type="submit" name="forhandsgranska" value="Förhandsgranska" />
<input type="submit" name="laggtillsvar" value="Skriv inlägg" />
</td>
</tr>
<tr>
<td style="background-color:#eee;font-size:0;height:15px;" colspan="4"> </td>
</tr>
</table>
</form>
<?
}
?>
</body>
</html>