15. marts 2010 - 10:30Der er
22 kommentarer og 1 løsning
Håber nogen her kan hjælpe mig igang.
Hejsa.
Er igang med et mini online community. Og mangler nu kun at få lavet så vennerne på sitet kan skrive til hinanden. Altså kunne skrive en besked til en anden også skal det kunne ses på den anden brugers side at der er en ny besked. Har søgt rundt på nettet men uden held... Nogen der kender et sted jeg kan finde noget nyttigt:)
Du har en del spørgsmål åbne - endda besvarede spørgsmål som du ikke har lukket. Det er god kutyme at få afsluttet sine spørgsmål (også jf. brugerbetingelserne her på eksperten.dk) inden man stiller nye. Udover det er folk også mere tilbøjelige til at hjælpe hvis man kan se at der reageres på de svar der kommer. Det var en pæn hentydning...
Relevant til spørgsmålet; du finder nok næppe noget færdigt du kan implementere i dit mini community; du skal nok lave det selv - det betyder du må komme med nogle oplysninger om dine brugertabeller, så man kan komme med nogle forslag til et realistisk tabelsetup til den eksisterende.
jamen jeg har to tabeller indtil videre. en kaldet opret hvor alle brugerne ligger og en der hedder venner, hvor de forskellige brugere med deres venner ligger:)
Har kun formlen indtil videre, den ser sådan ud:
function send($conn){ $vennerting = mysqli_query($conn,"select * from venner where oid = ".$_SESSION['brugerid']); ?> <form method="post" action="?page=sendt" class="login"> Dit navn:<br /> <input type="text" name="navn"><br /> Din besked:<br /> <textarea cols="35" rows="10" name="besked"></textarea><br /> Send til:<br /> <select name="ven"> <?php //Her bliver brugerens venner vist i en dropdown, så brugeren kan vælge hvem der skal skrives til while($vennetingresult = mysqli_fetch_array($vennerting)){ echo "<option>".$vennetingresult['navn']."</option>"; }; ?> </select> <input type="submit" name="send" value="Send"><br /> </form>
</div>"; <?php };
function sendt(){ echo "Din besked er nu sendt"; };
En mulighed ville være at oprette en grundlæggende tabel (kald den 'beskeder' om du vil), som indeholder felterne fraId, tilId, bBesked, bDato. Indhold i den kunne så være noget ala:
+----------+----------+--------------------------------+----------------------+ | fraId | tilId | bBesked | bDato | +----------+----------+--------------------------------+----------------------+ | 345 | 123 | Hej Peter, har du set den... | 2010-03-15 12:53:14 | | 123 | 345 | Ork ja, det var en rigtig... | 2010-03-15 13:23:45 | | 1578 | 963 | Gider du sende mig filen m... | 2010-03-12 09:37:33 | | 527 | 7415 | Ja, jeg ved det godt, han... | 2010-03-10 19:27:11 | +----------+----------+--------------------------------+----------------------+
Jeg håber du forstår idéen?
Så kan du trække beskederne ud til den bruger som skal læse dem ud fra feltet tilId.
Jeg kender ikke dreamweaver... ovenstående er jo et eksempel på en tabelstruktur som du kan anvende til at lagre de beskeder dine brugere imellem sig skriver.
Nu har jeg prøvet mig lidt frem, men er ret på bar bund, nogen der kan hjælpe mig med at komme lidt videre?
function send($conn){ $vennerting = mysqli_query($conn,"select * from venner where oid = ".$_SESSION['brugerid']); ?> <form method="post" action="?page=sendt" class="login"> Dit navn:<br /> <input type="text" name="navn"><br /> Din besked:<br /> <textarea cols="35" rows="10" name="besked"></textarea><br /> Send til:<br /> <select name="ven"> <?php //Her bliver brugerens venner vist i en dropdown, så brugeren kan vælge hvem der skal skrives til while($vennetingresult = mysqli_fetch_array($vennerting)){ echo "<option>".$vennetingresult['navn']."</option>"; }; ?> </select> <input type="submit" name="send" value="Send"><br /> </form>
Jeg antager at det er fordi dit script ikke virker - ikke fordi du 'er på bar bund'?
Der er en del ting, som ikke rigtigt giver mening, er mangelfuld eller også er der nogle stavefejl som påvirker dit endelige resultat.
Blandt andet anvender du variablen $vennetingresult i din while-løkke, men den bliver aldrig defineret. Til gengæld definerer du variablen $vennerting, men du bruger den ikke.
Dine $_POST variabler er slet ikke eksisterende fra din formular - der er ingen af dem der er navngivet rigtigt - udover det sender du heller ikke de rigtige informationer med, der opfylder behovet for din nye tabel.
Der er også et problem med SQL injections i din mysql_query - det er et gabende sikkerhedshul. Husk at anvende mysql_real_escape_string() på de data du får fra dine brugere. Udgangspunktet bør være at du ALDRIG kan stole på dine brugere.
Ved godt det ser lidt forvirrende ud. men det simpelthen fordi jeg ikke kan finde ud af at få det lavet ordenligt. mine post variabler er som de er inde i min tabel i databasen, for ved ikke helt hvordan jeg skal sætte det sammen.
Nu ser det sådan ud....:/ er helt på bar bund hehe...
function send($conn){ $vennerting = mysqli_query($conn,"select * from venner where oid = ".$_SESSION['brugerid']); ?> <form method="post" action="?page=send" class="login"> Dit navn:<br /> <input type="text" name="fraid"><br /> Din besked:<br /> <textarea cols="35" rows="10" name="bbesked"></textarea><br /> Send til:<br /> <select name="tilid"> <?php //Her bliver brugerens venner vist i en dropdown, så brugeren kan vælge hvem der skal skrives til while($vennetingresult = mysqli_fetch_array($vennerting)){ echo "<option>".$vennetingresult['navn']."</option>"; }; ?> </select> <input type="submit" name="send" value="Send"><br /> </form>
Rolig nu; du bliver nok nød til at indse at projektet er for svært for dig og du ikke selv ville kunne formå at lave det. #16 har endda tilbudt at hjælpe dig over MSN, men problemet er nok at du mangler basal viden omkring PHP. De ting jeg påpegede der var galt med dit script er meget grundlæggende, men du var ikke i stand til at se og rette fejlene, så det tyder på at du prøver at opnå for meget med for få redskaber.
Forstår ikke altid denne side.... man spørger efter hjælp men for af vide man ikke er god nok, ved skam godt jeg ikke er særlig dygtig men bliver jeg da heller ikke hvis man ikke prøver sig frem... Skal bare kunne se en ide i det så kommer det som regl
Jeg forstår til gengæld ikke dit problem; du klager over at folk siger du ikke er dygtig nok - mon ikke det så er rigtigt? Du skyder langt over mål, og i mange af dine spørgsmål er det endt med at folk er kommet med hele løsningen til dig; det er jo ikke at få hjælp - det er at indhente gratis arbejdskraft og du får intet ud af det, for du lærer ikke noget ved at få tingene foræret... Og så er du VILDT utålmodig - folk hjælper dig når de har tid; ellers må du betale for hjælpen!
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.