Avatar billede grise_bassen Nybegynder
26. marts 2005 - 08:47 Der er 14 kommentarer og
1 løsning

slet funktion?

i mit bruger system jeg har fået lavet har brugerne deres egen gæstebog jeg kunne godt tænke mig at brugerne kunne slette de beskeder de evt har fået i deres gæstebog.

har også et andet problem prøv at gå ind på http://4boys.4b.funpic.org/test/
og login med pass og bruger: test1
og login så ind med pass og bruger: test
bagefter. håber i kan se problemet!

profil.php

<?
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]; ?><br>
Navn: <? echo $vis[navn]; ?><br>
Email: <a href="mailto:<? echo $vis[email]; ?>"><? echo $vis[email]; ?></a><br>
Hjemmeside: <a href="<? echo $vis[hjemmeside]; ?>"><? echo $vis[hjemmeside]; ?></a><br>
Fritekst: <br><? echo $vis[fritekst]; ?><br>



<bR><br>
<b> <? echo $vis[brugernavn]; ?>´s gæstebog!</b>
<br>
<?
}
}

/* 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]<br>";

print "Tekst: ";
print "$visb[tekst]<br>";

print "<br>";
?>
<?
}

?>
<?

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><br>
<input type="submit" name="submit" value="Skriv">
</form>


<?
}else{
print "Du er ikke logget ind!";
}
?>
Avatar billede grise_bassen Nybegynder
26. marts 2005 - 08:48 #1
glemte lige at sige at når i har logget ind skal trykke på din profil
Avatar billede unsafe Nybegynder
26. marts 2005 - 09:00 #2
Ville lave en lille kode ved beskeden:

<?php if($_GET["id"] == $vis[id]){ print = "<a href='profil.php?id=$_GET[id]&action=slet&gbid=$visb[id]'>Slet</a>"; } ?>

SÅ ville jeg tilføje dette til din kode:

<?php

if($_GET["action"] == "sler")
{

$hent_bruger = mysql_query("SELECT * FROM brugere WHERE id = '$_GET[id]'");
$vis = mysql_fetch_array($hent_bruger);

if($vis["id"] != $_GET["id"]) {

print "Det er IKKE muligt at slette andres indlæg!";

} else {

mysql_query("DELETE FROM profil_gb WHERE id = '$_GET[gbid]'");

}
}

?>
Avatar billede unsafe Nybegynder
26. marts 2005 - 09:03 #3
if($_GET["action"] == "sler")
{

skal være

if($_GET["action"] == "slet")
{

mybad 8D
Avatar billede grise_bassen Nybegynder
26. marts 2005 - 09:05 #4
jeg for fjelen

Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/export/www/hosting/4boys/test/profil.php on line 228
Avatar billede unsafe Nybegynder
26. marts 2005 - 09:07 #5
hov.

$hent_bruger = mysql_query("SELECT * FROM brugere WHERE id = '$_GET[id]'");
$vis = mysql_fetch_array($hent_bruger);

Skal nok skiftes ud med

$hent_bruger = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$_SESSION[brugernavn]'");
$vis = mysql_fetch_array($hent_bruger);

Kludre lidt i det :S
Avatar billede grise_bassen Nybegynder
26. marts 2005 - 09:08 #6
Parse error: parse error, unexpected '=' in /usr/export/www/hosting/4boys/test/profil.php on line 229
Avatar billede unsafe Nybegynder
26. marts 2005 - 09:11 #7
Ok, hvad står der på linje 229?
Avatar billede grise_bassen Nybegynder
26. marts 2005 - 09:31 #8
<?php if($_GET["id"] == $vis[id]){ print = "<a href='profil.php?id=$_GET[id]&action=slet&gbid=$visb[id]'>Slet</a>"; } ?>
Avatar billede unsafe Nybegynder
26. marts 2005 - 09:38 #9
Fjern = ved print.

Mig det lavede en fejl.

Eller kopir dette

<?php if($_GET["id"] == $vis[id]){ print "<a href='profil.php?id=$_GET[id]&action=slet&gbid=$visb[id]'>Slet</a>"; } ?>
Avatar billede grise_bassen Nybegynder
27. marts 2005 - 09:35 #10
den viser ikke noget slet link
Avatar billede unsafe Nybegynder
27. marts 2005 - 15:14 #11
Bah mig der kludre i det.

Indsæt denne query:

$conn = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$_SESSION[brugernavn]'");
$rs = mysql_fetch_array($conn);

<?php if($rs["id"] == $_GET["id"]){ print "<a href='profil.php?id=$_GET[id]&action=slet&gbid=$visb[id]'>Slet</a>"; } ?>

Såden :S
Avatar billede grise_bassen Nybegynder
27. marts 2005 - 16:37 #12
sorry men er ikke helt med mere...
gider du ikke rette der hvor der skal rettes også poste hele koden
Avatar billede grise_bassen Nybegynder
28. marts 2005 - 10:13 #13
jeg for fejlen Parse error: parse error, unexpected $ in /usr/export/www/hosting/4boys/test/profil.php on line 382


der er ingenting på linje 382
Avatar billede grise_bassen Nybegynder
30. marts 2005 - 13:35 #14
lukker// kan ikke få det til at virke//
Avatar billede grise_bassen Nybegynder
30. marts 2005 - 13:35 #15
skulle da vist have været et svar
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