Den 30-03-05 15:00 skrev michael følgende:
-----------------------------------------------------------------------------
i mit brugersystem har brugerne deres egen profil med gæstebog, men der skal åbenbart være et indlæg i gæstebogen før det virker.
er der ikke en der vil gøre så det virker selvom der ikke er nogen indlæg?
hvis ikke for står hvad jeg men så går ind på
http://4boys.4b.funpic.org/test/ login med 2 forskellige bruger og se forskellen
1. bruger: test pass: test
2. bruger: test1 pass: test1
<?
session_start();
if (session_is_registered("brugernavn") && session_is_registered("kodeord") && session_is_registered("logintid")) {
?>
<?
include "mysql/mysql.php";
if($_GET[id] == "") {
print "Du mangler et id!";
}else{
$hent_bruger = mysql_query("SELECT * FROM brugere WHERE id = '$_GET[id]'") or die(mysql_error());
while($vis = mysql_fetch_array($hent_bruger)) {
?>
Brugernavn: <? echo $vis[brugernavn]; ?>
Navn: <? echo $vis[navn]; ?>
Email: <a href="mailto:<? echo $vis[email]; ?>"><? echo $vis[email]; ?></a>
Hjemmeside: <a href="<? echo $vis[hjemmeside]; ?>"><? echo $vis[hjemmeside]; ?></a>
Fritekst: <? echo $vis[fritekst]; ?>
[b] <? echo $vis[brugernavn]; ?>´s gæstebog![/b]
<?
}
}
if($_GET['mode'] == "slet" AND !empty($_GET['id'])) {
mysql_query(sprintf("DELETE FROM profil_gb WHERE id = %d",$_GET['id'])) or die(mysql_error());
print "Indlæget er nu slettet!";
}
/* Antallet af poster vi ønsker vist på hver side */
$pr_side = 10;
/* Vi tæller antallet af poster i tabellen husk at ændre ‘table’ til dit eget tabelnavn */
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM profil_gb WHERE ejer=$_GET[id]"),0) or die(mysql_error());
/* Hvis visfra-variablen ikke findes i URL-feltet og den ikke er et nummer og den er større end antallet i databasen, så sættes den til 0, ellers sættes den til værdien fra URL feltet */
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;
/* Vi laver et database udtræk med limit, så den kun hiver det rigtige antal ud fra tabellen, husk at ændre ‘table’ til dit eget tabelnavn */
$hent_beskeder = mysql_query("SELECT * FROM profil_gb WHERE ejer = '$_GET[id]' ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());
/* Vi kører en while og udskriver data, det jeg har sat på er blot et eksempel */
while($visb = mysql_fetch_array($hent_beskeder)) {
print "Brugernavn: ";
print "$visb[brugernavn]";
print " - ";
print "Dato: ";
print "$visb[dato]";
print " - ";
if($visb['brugernavn'] == $_SESSION['brugernavn']) {
print "<a href='?mode=slet&id=$visb[id]'>Slet indlæg</a>";
}
print "Tekst: ";
print "$visb[tekst]";
print "";
?>
<?
}
?>
<?
echo "<hr />";
/* Der undersøges om der skal udskrives et ”forrige side”-link, er dette tilfældet udskrives linket */
if ($vis_fra > 0) {
$back= $vis_fra - $pr_side;
echo "<a href='$_SERVER[PHP_SELF]?id=$_GET[id]&visfra=$back'>Forrige</a> ";
}
$page = 1;
/* Alle siderne udskrives så man med et klik kan få resultaterne fra fx 90-100 */
for ($start = 0; $antal > $start; $start = $start + $pr_side) {
if($vis_fra != $page * $pr_side - $pr_side) {
echo "<a href='$_SERVER[PHP_SELF]?id=$_GET[id]&visfra=$start'>$page</a> ";
} else {
echo $page." ";
}
$page++;
}
/* Der undersøges om der skal udskrives et ”næste side”-link, er dette tilfældet udskrives linket */
if ($vis_fra < $antal - $pr_side) {
$next = $vis_fra + $pr_side;
echo " <a href='$_SERVER[PHP_SELF]?id=$_GET[id]&visfra=$next'>Næste</a>";
}
?>
<?
if($_POST[mode] == "skriv") {
if($_POST[tekst] != "") {
if($_GET[id] != "$_SESSION[brugernavn]") {
$dato = date('h:i:s');
mysql_query("INSERT INTO profil_gb (ejer, brugernavn, tekst, dato) VALUES ('$_GET[id]', '$_SESSION[brugernavn]', '$_POST[tekst]', '$dato')")or die(mysql_error());
print "<script language=\\"javascript\\">parent.location.replace('profil.php?id=$_GET[id]');</script>";
}
}
}
?>
<form action ="profil.php?id=<? echo $_GET[id]; ?>" method="POST">
<input type="hidden" name="mode" value="skriv">
<textarea name="tekst" rows="8" cols="30"></textarea>
<input type="submit" name="submit" value="Skriv">
</form>
<?
}else{
print "Du er ikke logget ind!";
}
?>
-----------------------------------------------------------------------------
Er ikke helt sikker på hvad du mener men prøv at lave noget hvor du hiver antallet af tags ud, og hvis der er 0 tags, skriver du: Der er ingen tags i gæstebogen. Hvis der er over 0 så udskriver du dem bare på normal hvis..!
Brihhzel
Brihhzel@raiser.dk