Hent ud fra database

Tags:    php

Hey Udvikleren :-)

Jeg har et mindre problem.

På min side i hver brugers profil er der en lille profil gæstebog.. Man kan godt skrive noget og så trykke på tilføj - og det bliver skam tilføjet til databasen med:

Skrevet af: Skevet i (altså hvilken profil gæstebog) og DATO... Men når jeg så skal til at hente UD fra databasen - altså brugerns beskeder - så visr den INTET..

Min kode:


<?
include("include.php");
?>

<div id="tekst">

<?
require_once 'config.php';
include("config2.php");
session_start();

$id = $_GET[id];

if(!empty($id)){

$hent = mysql_query("SELECT * FROM login WHERE id = '$id'") or die(mysql_error());
$row = mysql_fetch_array($hent);

if($row['user'] != $_SESSION['user'])
{

echo "<h1><font style='color: green;'>" . $row[user] . "'s profil</font></h1>";
echo '<br>';
echo '<table STYLE="font-size: 9px; height: 1px;">';
echo '<tr style="background-color: #d0d0d0;"><td><b>Brugernavn:</b></td><td>' . $row[user] . '</td></tr>';
echo '<tr><td><b>Navn:</b></td><td>' . $row[navn] . '</td></tr>';
echo '<tr style="background-color: #d0d0d0;"><td><b>Alder:</b></td><td>' . $row[alder] . '</td></tr>';
echo '<tr><td><b>E-mail:</b></td><td><a href="mailto:' . $row[mail] . '">' . $row[mail] . '</a></td></tr>';
echo '<tr style="background-color: #d0d0d0;"><td><b>Hjemmeside:</b></td><td><a href="' . $row[homepage] . '">' .
$row[homepage] . '</a></td></tr>';
echo '<tr><td><b>Oprettelse dato:</b></td><td>' . $row[dato] . '</td></tr>';
echo '<tr style="background-color: #d0d0d0;"><td><b>Points:</b></td><td>' . $row[points] . '</td></tr>';
echo '<tr><td><b>Rang:</b></td><td>' . $row[rank] . '</td></tr>';
echo '<tr style="background-color: #d0d0d0;"><td><b>Status:</b></td><td>';


if ($row[status] == "Online") {
print '<font color="green"><b><u>Online netop nu!</u></b></font>';
} else {
print '<font color="red">OFFLINE</font>';
}

echo '</td></tr>';
echo '</table>';
echo '<br>';
echo '<br>';
echo '<table>';
echo '<tr STYLE="background-color: #d0d0d0; font-size: 9px;"><td STYLE="border: 1px solid black;"><b>Profil
tekst:</b></td></tr>';
echo '<tr><td STYLE="font-size: 9px; border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid
black; border-top: 1px solid black;">';
if ($row[profiltekst] == "") {
echo '<font size="1" color="red">Denne bruger har endnu ikke skrevet en profil tekst</font>';
} else {
echo $row['profiltekst'];
}
echo '</td></tr>';
echo '</table>';

} else {

$get = mysql_query("SELECT * FROM login WHERE user = '$row[user]' LIMIT 1") or die(mysql_error());
$show = mysql_fetch_array($get);


echo "<h1><font style='color: green;'>Velkommen til din profil!</font></h1>";
echo '<br>';
echo '<table STYLE="font-size: 9px; height: 1px;">';
echo '<tr style="background-color: #d0d0d0;"><td><b>Brugernavn:</b></td><td>' . $show[user] . '</td></tr>';
echo '<tr><td><b>Navn:</b></td><td>' . $show[navn] . '</td></tr>';
echo '<tr style="background-color: #d0d0d0;"><td><b>Alder:</b></td><td>' . $show[alder] . '</td></tr>';
echo '<tr><td><b>E-mail:</b></td><td><a href="mailto:' . $row[mail] . '">' . $show[mail] . '</a></td></tr>';
echo '<tr style="background-color: #d0d0d0;"><td><b>Hjemmeside:</b></td><td><a href="' . $show[homepage] . '">'
. $row[homepage] . '</a></td></tr>';
echo '<tr><td><b>Oprettelse dato:</b></td><td>' . $row[dato] . '</td></tr>';
echo '<tr style="background-color: #d0d0d0;"><td><b>Points:</b></td><td>' . $show[points] . '</td></tr>';
echo '<tr><td><b>Rang:</b></td><td>' . $show[rank] . '</td></tr>';
echo '<tr style="background-color: #d0d0d0;"><td><b>Status:</b></td><td>';


if ($show[status] == "Online") {
print '<font color="green"><b><u>Online netop nu!</u></b></font>';
} else {
print '<font color="red">OFFLINE</font>';
}
echo '</td></tr>';
echo '<tr><td STYLE="font-size: 9px;"><b><font STYLE="color:green;"><a href="ret_profil.php?id=' . $show[id] . '">Ret
profil oplysninger</a></font></b></td><td>';
echo '</table>';
echo '<br>';
echo '<br>';
echo '<table>';
echo '<tr STYLE="background-color: #d0d0d0; font-size: 9px;"><td STYLE="border: 1px solid black;"><b>Profil
tekst:</b></td></tr>';
echo '<tr><td STYLE="border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid black; border-top:
1px solid black;">';
if ($row[profiltekst] == "") {
echo '<font size="1" color="red">Denne bruger har endnu ikke skrevet en profil tekst</font>';
} else {
echo $row['profiltekst'];
}
echo '</td></tr>';
echo '<tr><td STYLE="font-size: 9px;"><b><font STYLE="color: green;"><a href="ret_profiltekst.php?id=' .
$show[id] . '">Ret profiltekst</a></font></b></td><td>';
echo '<br>';
echo '<br>';
echo '<tr STYLE="background-color: #d0d0d0; font-size: 9px;"><td STYLE="border: 1px solid black;"><b>Profil
gæstebog:</b></td></tr>';
echo '<tr><td STYLE="font-size: 9px; border: 1px solid black;">';
ob_start();
$userr = $show["user"];
$ip = $_SERVER["REMOT_ADDR"];
$url_brugernavn = $show["user"];
if (check_login ($sess_user, $sess_pass)) {
?>
<form method="POST" name="opretbesked" action="profil.php?id=<? echo $row["id"]; ?>">
Besked:<br>
<textarea name="besked" STYLE="font-family: verdana; font-size: 9px; width: 90%; height: 100px;"></textarea><br>
<input type="submit" value="Tilføj besked" name="tilfoj">
</form>
<?
} else {
echo '<font size="1" color="red">Før du kan skrive i denne gæstebog skal du være logget ind</font>';
}
if ($_POST["tilfoj"]){
if ($_POST["besked"] == ""){
echo "Udfyld venligst en besked! <br> <b>Bemærk!:</b> Din IP bliver gemt i databasen og du vil blive banned hvis du spammer";
} else {
$besked = $_POST["besked"];
if(!get_magic_quotes_gpc()){
$besked = addslashes($besked);
}
mysql_query("INSERT INTO profil_gb(ip, dato, skrevetaf, brugers, besked) values('$ip', NOW(), '$userr', '$url_brugernavn', '$besked')");
}
}
?>
<HR noShade STYLE="color: green;">
<?
$hent_beskeder = mysql_query('SELECT * FROM `profil_gb` WHERE `brugers` = $url_brugernavn');
while($vis = mysql_fetch_array($hent_beskeder))
{
echo "<strong>" . $vis['skrevetaf'] . "</strong><br>";
echo nl2br(htmlspecialchars($vis["besked"]));
echo "<br><br>";
}

echo '</td></tr>';
echo '</table>';

}
}
Else
{
print 'Fejl burgeren findes ikke';
}
?>

</div>


Håber i kan hjælpe mig ;-)



$row = mysql_fetch_array($hent);

Du beder den kun om at hente 1 række. Og hvis lige præcis den ene række du henter ikke har det rigtige ID, sker der intet.

Brug istedet
while($row = mysql_fetch_array($hent))
{
# din kode her
}



Indlæg senest redigeret d. 20.10.2007 10:18 af Bruger #3275
Forstod ikke Heelt hvad du mente ;)

Men altså..

Her er min kode:
Fold kodeboks ind/udKode 


Vil du evt. (hvis du har tid) sende den rettelse tilbage ? altså hele koden ? ;)

Det ville være dejligt ihvertfald :D

Vi ses !



Fold kodeboks ind/udKode 


Hvis din kode virkelig ser ud som du poster den bør du overveje at lære at bruge indrykninger.



Tusind tak nørden :-)

Det er jeg meget glad for :-)



Du skal desuden være opmærksom på din stavefejl i
$ip = $_SERVER["REMOT_ADDR"];

Det skal være:
$ip = $_SERVER["REMOTE_ADDR"];

Som i "Remote Address".



Lol! Det var derfor den ikke gad skrive IP adressen :P



t