Avatar billede ohhelpme Nybegynder
31. december 2008 - 23:16 Der er 7 kommentarer og
1 løsning

vis brugernavn

Hej,
når folk opretter et emne så skal deres brugernavn automatisk komme frem ved (skrevet af: brugernavn)

Altså lige som det også er her på eksperten

tænkte man kunne lave noget såsom:

$query = mysql_query("SELECT * FROM login WHERE user='". $_SESSION['user'] ."'") or die(mysql_error());
$navn = mysql_fetch_assoc($query);
$navn ['user']

min php kode ser sådan ud:

<body oncontextmenu="return false" ondragstart="return false" onselectstart="return false">

<?

include("top.php");

?>

<form action="opret.php?mode=opret" method="POST">

Emne:<br>

<input type="text" name="emne" value="<? echo $_POST[emne]; ?>"><br>

Besked:<br>

<textarea name="spg" rows="16" cols="81"><? echo $_POST[spg]; ?></textarea><br>

<input type="submit" value="Opret">

</form>

<?php

if($_GET[mode] == "opret")

if($_POST[emne] == "") {

echo("Du skal skrive et emne på dit spørgsmål!<br><br>");


} else {

if($_POST[spg] == "") {

echo("Du skal skrive dit spørgsmål!<br><br>");

} else {


if(strlen($_POST[emne]) < "3") {

echo("Beskriv dit emne lidt bedre!<br><br>");

} else {

if(strlen($_POST[spg]) < "15") {

echo("Beskriv dit spørgsmål bedre!<br><br>");

} else {

include("mysql/mysql.php");

$dato = date("d/m/Y H:i:s");

$ip = $_SERVER[REMOTE_ADDR];

$navn =

$emne = htmlspecialchars($_POST[emne]);

$spg = htmlspecialchars($_POST[spg]);

mysql_query("INSERT INTO forum (dato, ip, navn, emne, spg) VALUES ('$dato', '$ip', '$navn', '$emne', '$spg')") or die(mysql_error());

print "<meta http-equiv=\"refresh\" content=\"0; url=opretok.php\">";

}

}

}

}

}

?>

</body>
Avatar billede jakobdo Ekspert
01. januar 2009 - 11:45 #1
Kan du ikke bare gemme:

$_SESSION['user'] som navn i din db ?
Avatar billede cronaldo Nybegynder
02. januar 2009 - 13:48 #2
jeg vil sige at hvis brugerne kan ændre deres brugernavn i dit system så er det bedre at gemme det unikke ID på deres profil .. fx vha. en session som du opretter når de logger ind.. den kunne du jo kalde:

$_SESSION['profile_ID'] .. og så lægge den ind i "forum" under et felt der hedder 'forfatter' ..så er det profilens ID der står der og så kan du bare finde den bruger der har det pågældende ID og udskrive denne's navn :) ..


// cronaldo.
Avatar billede jakobdo Ekspert
02. januar 2009 - 14:08 #3
cronaldo: Du har fat i noget. Men hvad så hvis en bruger slettes ?
Så vil man ikke kunne se hans/hendes indlæg.
Men man skal bestemt overveje begge muligheder. (og jeg ville nok også lave den med et ID) :o)
Avatar billede ohhelpme Nybegynder
03. januar 2009 - 15:43 #4
cronaldo > vil du så ikke lige forklare det stykke kode som man skal frem kalde brugernavnet med

jakobdo & cronaldo > vis brugeren slettes, så vil indlæget stadig være der, vis login og forum er i to forskelige tabeler ik?
Avatar billede jakobdo Ekspert
03. januar 2009 - 17:58 #5
Man kan jo enten vælge at brugeren ikke slettes, men skifter status til slettet = 1.
Eller også skal du bruge min løsning fra 01/01-2009 11:45:22
Avatar billede ohhelpme Nybegynder
20. februar 2009 - 22:12 #6
oprydning
Avatar billede jakobdo Ekspert
20. februar 2009 - 22:16 #7
Hvad blev din løsning så ?
Avatar billede cronaldo Nybegynder
21. februar 2009 - 14:34 #8
Du kan jo bare skrive:

$brugernavn = $_SESSION['profile_id']

og så bruge $brugernavn i din mysql_query :-)

- I øvrigt undskyld, at jeg ikke har været herinde, men har haft en del at se til på det seneste :o) .
Ser, at du har lukket, men håber nu alligevel det kan komme til at lykkes :)
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