Avatar billede franklinpaper Nybegynder
12. august 2006 - 21:07 Der er 17 kommentarer og
1 løsning

Tagwall: Login fjernelse, samt rettelse af slet-funktion.

Goddag.

Jeg ønsker få, enkle;(set i perspektiv af det nuværende niveau)- ændringer af min admin funktion, i min tagwall.

Jeg takker mange gange på forhånd for ethvert relateret indlæg, jeg værdsætter dette højere end hvad foregående beskrivelse kan indebære.

Jeg ønsker nedenstående kode ændret således, at loginfunktionen fjernes, således at man derimod har adgang til siden, hvis dette stykke kode tillader det:

session_start();
if (!isset($_SESSION['laccess']) && $_POST['referer'] != 'login') {
    header("Location: index.php?f=needlogin");
    exit;

Derudover, skal man når sletfunktionen har været benyttet- i modsætning til nuværende tilfælde, stadig være ved slet-funktionen, og ikke skulle logge ind endnu en gang, som løsningen i dette øjeblik resulterer i.

Jeg håber på svar, og takker mange gange på forhånd!

Følgende kode benyttes:

<link rel="stylesheet" HREF="../stylesheet.css" type="text/css">
<?php
////////////////////////////////////////
session_start();
include("tagwall-settings.php");
?>
<html>
<head>
<title><?php print $title ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="">
  <p><?php print $username ?>:<br>
    <input type="text" name="username">
  </p>
  <p><?php print $password ?>:<br>
    <input type="password" name="password">
  </p>
  <p>
    <input name="submit" type="submit" id="submit" value="<?php print $login ?>">
  </p>
</form>
<?php
if(isset($_POST['submit'])){
if($_POST['username'] == $adm_user && $_POST['password'] == $adm_pass){
$_SESSION['adm_in'] = "yes";
header("Location: tagwall-admin.php");
}else{
print $not_logged_in;
}
}
if(isset($_SESSION['adm_in'])){
if(isset($_GET['delete'])){
mysql_query("delete from tagwall where id = '$_GET[delete]'");
}
?>
Beskeder:
<table width="<?php print $table_size ?>" border="<?php print $table_border ?>">
<?php
$q1 = mysql_query("select * from tagwall order by id desc");
if(mysql_num_rows($q1) <= "0"){
print "<br><br>".$no_taqs;
}else{
while($taq = mysql_fetch_array($q1)){
?>
  <tr>
    <td bgcolor="<?php print $table_bgcolor_top ?>"><strong><?php print $name ?>: <?php print $taq['name'] ?></strong> - <a href="?delete=<?php print $taq['id'] ?>"><?php print $DELETE ?></a></td>
  </tr>
  <tr>
    <td bgcolor="<?php print $table_bgcolor_bottom ?>"><?php print $taq['message'] ?></td>
  </tr>
<?php
}
}
?>
</table>
<?php
}
?>
</body>
</html>
Avatar billede jakobdo Ekspert
12. august 2006 - 21:10 #1
Du kan helt fjerne koden:
session_start();
if (!isset($_SESSION['laccess']) && $_POST['referer'] != 'login') {
    header("Location: index.php?f=needlogin");
    exit;
Så kan alle skrive i din tagwall.

Og skal alle kunne slette, så skal du fjerne:

if(isset($_SESSION['adm_in'])){ <---------------- HER SKAL SLETTES!
if(isset($_GET['delete'])){
mysql_query("delete from tagwall where id = '$_GET[delete]'");
}
?>
Beskeder:
<table width="<?php print $table_size ?>" border="<?php print $table_border ?>">
<?php
$q1 = mysql_query("select * from tagwall order by id desc");
if(mysql_num_rows($q1) <= "0"){
print "<br><br>".$no_taqs;
}else{
while($taq = mysql_fetch_array($q1)){
?>
  <tr>
    <td bgcolor="<?php print $table_bgcolor_top ?>"><strong><?php print $name ?>: <?php print $taq['name'] ?></strong> - <a href="?delete=<?php print $taq['id'] ?>"><?php print $DELETE ?></a></td>
  </tr>
  <tr>
    <td bgcolor="<?php print $table_bgcolor_bottom ?>"><?php print $taq['message'] ?></td>
  </tr>
<?php
}
Avatar billede franklinpaper Nybegynder
12. august 2006 - 21:25 #2
Tak, men du har misforstået det.
Alle kan skrive i min tagwall, den kode du vil have mig til at slette er en garanti for tidligere log ind.
Den kode skal sikre, at alle netop ikke kan slette, men kun brugeren der har logget ind på tidligere administrationsside.

- Hvis jeg sletter følgende stykke kode, vises blot en blank side:

if(isset($_SESSION['adm_in'])){ <---------------- HER SKAL SLETTES!
if(isset($_GET['delete'])){
mysql_query("delete from tagwall where id = '$_GET[delete]'");
}
?>
Beskeder:
<table width="<?php print $table_size ?>" border="<?php print $table_border ?>">
<?php
$q1 = mysql_query("select * from tagwall order by id desc");
if(mysql_num_rows($q1) <= "0"){
print "<br><br>".$no_taqs;
}else{
while($taq = mysql_fetch_array($q1)){
?>
  <tr>
    <td bgcolor="<?php print $table_bgcolor_top ?>"><strong><?php print $name ?>: <?php print $taq['name'] ?></strong> - <a href="?delete=<?php print $taq['id'] ?>"><?php print $DELETE ?></a></td>
  </tr>
  <tr>
    <td bgcolor="<?php print $table_bgcolor_bottom ?>"><?php print $taq['message'] ?></td>
  </tr>
<?php
}
Avatar billede jakobdo Ekspert
12. august 2006 - 21:29 #3
Så tror jeg jeg misforstod ja!
Hvis man ikke logger ind, hvordan skal man så kunne slette sine indlæg?
Avatar billede franklinpaper Nybegynder
12. august 2006 - 21:36 #4
Misforstå mig ikke, jeg værdsætter din hjælp.

Det fungerer således, at denne tagwall slet-funktion arbejder i forbindelse med øvrige systemer. Login har allerede fundet sted, og det sørger denne kode for at tjekke:

session_start();
if (!isset($_SESSION['laccess']) && $_POST['referer'] != 'login') {
    header("Location: index.php?f=needlogin");
    exit;

MEN - Som det er nu, tjekker denne kode det ikke, derimod at specifikt login systemet, dette vil jeg have fjernet, så der blot skal logges ind én gang.

Derudover er problemet, at når man har slettet et indlæg, viderestilles man igen til login systemet, istedet for bare at kunne slette øvrige indlæg, UDEN igen at skulle logge ind.

Jeg håber nogle kan løse dette, og takker på forhånd for besvarelser.
Avatar billede jakobdo Ekspert
12. august 2006 - 21:45 #5
Hvilken side ender du på når du har slettet et indlæg?
Så får du outputtet dette ikke: print $not_logged_in;
Avatar billede franklinpaper Nybegynder
13. august 2006 - 11:58 #6
Nej, den viser blot siden med login endnu en gang. Dog er det valgte indlæg slettet.
Avatar billede jakobdo Ekspert
13. august 2006 - 12:03 #7
Problemet er koden her:

if(isset($_POST['submit'])){
if($_POST['username'] == $adm_user && $_POST['password'] == $adm_pass){

Når du sletter noget, så poster du jo ikke til siden, og dermed smides du til login.
Du skal tjekke login på en anden måde.
Avatar billede franklinpaper Nybegynder
13. august 2006 - 12:34 #8
Mange tak!

Kan du uvikle den pågældende kode?
I tilfælde af afslag, håber jeg på en anden vil atge sig den tid, da dette var hensigtet med fragivlese af 200 point.
Jeg håber på svar, og takker på forhånd for hjælpen.
Avatar billede franklinpaper Nybegynder
13. august 2006 - 12:35 #9
udvikle*
Avatar billede franklinpaper Nybegynder
13. august 2006 - 12:37 #10
Jeg beklager, gengivelse;

Mange tak!

Kan du udvikle den pågældende kode?
I tilfælde af afslag, håber jeg på at en anden vil tage sig den tid, da dette var hensigten med fragivelse af 200 point.
Jeg håber på svar, og takker på forhånd for hjælpen.
Avatar billede jakobdo Ekspert
13. august 2006 - 13:14 #11
Det kan være du kan nøjes med at fjerne koden:
    else
    {
        print $not_logged_in;
    }
Avatar billede franklinpaper Nybegynder
13. august 2006 - 13:26 #12
Det fungerer ikke.
Andre der har tilføjelser?
Avatar billede jakobdo Ekspert
13. august 2006 - 13:37 #13
Jeg kan sagtens lave din kode, men jeg forstår ikke helt hvad du har og i hvilket sammenhæng du ønsker det rettet til.
Avatar billede franklinpaper Nybegynder
13. august 2006 - 14:56 #14
Tak, men jeg tror ikke at kunne forklare det mere nøjagtigt.

Jeg indsætter en kode, der skal sikre en tidligere log-ind, derfor skal den nuværende loginfunktion fjernes.

Når man på nuværende tidspunk efter logind sletter et indlæg, sendes man efter sletningen tilbage til det unødvendige, problematiske log-ind system.
Dette skal rettes.
Avatar billede jakobdo Ekspert
13. august 2006 - 19:48 #15
Ok, kan du forklare hvordan du styrer login i dag?
Bliver en session sat?
Hvad har man lov til hvis man er logget ind?
Avatar billede franklinpaper Nybegynder
24. august 2006 - 15:31 #16
Jeg kan desværre ikke længere tage dette seriøst.
Den omtalte forklaring har fundet sted.
Avatar billede franklinpaper Nybegynder
25. august 2006 - 20:32 #17
Jeg takker for din tid, men denne tråd lukkes på nuværende tidspunkt, grundet unødvendig useriøsitet.
Avatar billede jakobdo Ekspert
25. august 2006 - 20:37 #18
At du ikke kan finde ud af det kode som du roder med, er vel useriøst.
Men at du forlanger du kan forklare lidt her, og lidt der, og så kan alle løse dine problemer, det kan du da ikke kalde useriøst.
Nu må du da lige prøve at komme ind i kampen.
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