Avatar billede zyxep Nybegynder
17. juli 2004 - 22:58 Der er 15 kommentarer og
1 løsning

privat function i tagwall

hey ppl..

jeg har min egen side og jeg vil lave en privat function i den..

men jeg ved ik helt hvordan jeg skal lave den.. altså jeg kan nemt lave med privat.. men når man trykker privat så skal den sætte privat i mysqlen til 1 hvis den ik er privat til 0 .. standard er 0

det er nemt nok at lave jo ;)

men hvordan gør jeg så hvis den er 1 at jeg med min ip som jeg har smidt i en session $_SESSION["zyxep"]; til kun at blive vist af mig og den person som har skrevet.. den person som har skrevet har ip i databasen!!

jeg kan komme med lidt kode jeg har lavet ind til videre hvis i vil have det..
Avatar billede expnet Seniormester
17. juli 2004 - 23:10 #1
måske noget where eller noget if-sætninge
Avatar billede zyxep Nybegynder
17. juli 2004 - 23:16 #2
jeg skriver lige min kode.. 2 sec
Avatar billede zyxep Nybegynder
17. juli 2004 - 23:17 #3
<script language="JavaScript" type="text/javascript">
<!-- // Skjul for gamle browsere

function popUp(strURL, intWidth, intHeight) {
  var intLeft = (screen.availWidth - intWidth - 10) / 2;
  var intTop  = (screen.availHeight - intHeight - 29) / 2;

  objWin = window.open(strURL, 'Smileys', 'left=' + intLeft + ',top=' + intTop + ',width=' + intWidth + ',height=' + intHeight + ',menubar=no,toolbar=no,location=no,status=no,scrollbars=no,resizable=no');
}

// -->

            function ToggleCheck( el, f )
            {
                if( el.src.indexOf("on") != -1 )
                {
                    el.src = "img/off.gif";
                    f.checkValue.value = "off";
                }
                else
                {
                    el.src = "img/on.gif";
                    f.checkValue.value = "on";
                }
            }
           
                function submitForm() {
        if (window.event.keyCode == 13) {
            document.tag.submit();
        }
    }
</script>

<form name="tag" method="post" action="?z=tagwall">
<table width="590" border="0" cellspacing="0" cellpadding="0" id="table2">
  <tr>
    <td>Navn:</td>
    <td><input name="navn" type="text" id="navn" class="tagwall"></td>
  </tr>
  <tr>
    <td valign="top">Besked:</td>
    <td><textarea name="besked" cols="40" rows="10" id="besked" class="tagwall"></textarea></td>
  </tr>
  <tr>
    <td>HP:</td>
    <td><input name="hp" type="text" id="hp" value="http://" class="tagwall"></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><input name="email" type="text" id="email" class="tagwall"></td>
  </tr>
    <tr>
    <td>Privat:</td>
    <td><input type="hidden" name="checkValue"><img src="img/off.gif" width="10" height="17" onclick="ToggleCheck(this,document.forms['tag']);" alt="klik for at skrive privat" name="privat"></td>
  </tr>
    <tr>
    <td colspan="2"><a href="java script:popUp('smileys.htm', 590, 300);" class="content">Smileys</a></td>
    </tr>
  <tr>
    <td colspan="2"><a href="java script:document.tag.submit();" class="content">Add tag</a></td>
    </tr>
</table>
</form>
<?
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $navn = stripslashes($_POST['navn']);
    $besked = stripslashes($_POST['besked']);
    if(empty($navn)) { print("du mangler at udfylde fylde dit navn"); }
        elseif(empty($besked)) { print("du mangler at udfylde en besked"); }
        else
    {
$ip = $_SERVER['REMOTE_ADDR'];
$dato = time();
$tekst = str_replace("\n", "", $_POST['besked']);

mysql_query("INSERT INTO tagwall (navn, dato, besked, ip, email, hp) values ('$_POST[navn]', '$dato', '$tekst', '$ip', '$_POST[email]',
'$_POST[hp]')") or die(mysql_error());
mail("zyxep@delicate-designs.dk", "My Subject", "Line 1\nLine 2\nLine 3");

header("Location: ?z=tagwall");
}
}
$offset = (isset($_GET[offset])) ? $_GET[offset] : 0;
$pr_side = 10;

$result = mysql_query("SELECT * FROM tagwall ORDER BY id DESC limit $offset,$pr_side") or die(mysql_error());
?>
<table width="590" border="0" cellpadding="0" cellspacing="0" class="content" id="tabel1">
<?php
    while ($r = mysql_fetch_array($result)) {
    $tekst = $r["besked"];
    $tekst = htmlentities($tekst);
    include("func.php");
    if($r["privat"] == 0) {
?>
        <tr>
          <td width="71%" bgcolor="#EEF2F6" class="content"><a href="mailto:<?=$r['email'];?>" class="content"><?=$r["navn"];?></a> | <?= date("j-n-Y @ H:i", $r["dato"]);?> | <a href="<?=$r['hp'];?>" class="content"><?=$r['hp'];?></a></td>
          <td width="14%" bgcolor="#EEF2F6" class="content">&nbsp;</td>
          <td width="15%" bgcolor="#EEF2F6" class="content"><?php if($_SERVER["REMOTE_ADDR"] == $_SESSION["zyxep"]) { echo "<a href=\"?z=deltag&id=" . $r["id"] . "\" class=\"content\">Del</a> - <a href=\"?z=edittag&id=" . $r["id"] . "\" class=\"content\">Edit</a>"; } elseif($_SERVER["REMOTE_ADDR"] == $_SESSION["editone"]) { echo "<a href=\"?z=deltag&id=" . $r["id"] . "\" class=\"content\">Del</a> - <a href=\"?z=edittag&id=" . $r["id"] . "\" class=\"content\">Edit</a>"; } else { echo "&nbsp;"; } ?></td>
        </tr>
        <tr>
          <td class="content" bgcolor="white" colspan="3"><?=$tekst;?>
          </td>
        </tr>
        <tr>
        <td height="5"></td>
        </tr>
<?php
    } elseif($r["privat"] == 1 && $_SERVER["REMOTE_ADDR"] == $_SESSION["zyxep"]) {
?>
        <tr>
          <td width="71%" bgcolor="#EEF2F6" class="content"><a href="mailto:<?=$r['email'];?>" class="content"><?=$r["navn"];?></a> | <?= date("j-n-Y @ H:i", $r["dato"]);?> | <a href="<?=$r['hp'];?>" class="content"><?=$r['hp'];?></a></td>
          <td width="14%" bgcolor="#EEF2F6" class="content">Privat</td>
          <td width="15%" bgcolor="#EEF2F6" class="content"><?php if($_SERVER["REMOTE_ADDR"] == $_SESSION["zyxep"]) { echo "<a href=\"?z=deltag&id=" . $r["id"] . "\" class=\"content\">Del</a> - <a href=\"?z=edittag&id=" . $r["id"] . "\" class=\"content\">Edit</a>"; } elseif($_SERVER["REMOTE_ADDR"] == $_SESSION["editone"]) { echo "<a href=\"?z=deltag&id=" . $r["id"] . "\" class=\"content\">Del</a> - <a href=\"?z=edittag&id=" . $r["id"] . "\" class=\"content\">Edit</a>"; } else { echo "&nbsp;"; } ?></td>
        </tr>
        <tr>
          <td class="content" bgcolor="white" colspan="3"><?=$tekst;?>
          </td>
        </tr>
        <tr>
        <td height="5"></td>
        </tr>
<?php
          }
}
        ?><tr><td><?php
          $antal = mysql_result(mysql_query('SELECT COUNT(*) FROM tagwall'),0);
          if ($offset >= $pr_side) {
              $forrige = $offset-$pr_side;
              print '<a href="?z=tagwall&offset=' . $forrige . '" class="content">Tilbage</a>';
          }
          ?></td><td colspan="2"><?php
          if($antal > $offset+$pr_side) {
              $naeste = $offset+$pr_side;
              print '<a href="?z=tagwall&offset=' . $naeste . '" class="content">Frem</a>';
          }
?></td></tr></table>

det er min tagwall.php

hvor det hele er i ;)
Avatar billede jammerlab Nybegynder
18. juli 2004 - 11:17 #4
noget i retning af

$query = mysql_query("select * from tagwall WHERE id = '$id'") or die(mysql_error());
$row= mysql_fetch_array($query);

if($_SESSION["zyxep"] == "DINIP" || $_SERVER['REMOTE_ADDR'] == $row[ip]) { echo "PRIVAT"; }

Det må vel være sådan noget du leder efter? Så skal den selvf. lige rettes til.
Avatar billede zyxep Nybegynder
18. juli 2004 - 13:13 #5
jeps det skal den jo.. jeg prøver lige
Avatar billede zyxep Nybegynder
18. juli 2004 - 14:11 #6
nu har jeg leget lidt med det...

og insæt functionen virker nu.. den sætter privat til 1 og offentlig til 0.. og den siger os privat osv men.. alle kan se de private tag det er jo ik sjovt..

min kode er nu

<script language="JavaScript" type="text/javascript">
<!-- // Skjul for gamle browsere

function popUp(strURL, intWidth, intHeight) {
  var intLeft = (screen.availWidth - intWidth - 10) / 2;
  var intTop  = (screen.availHeight - intHeight - 29) / 2;

  objWin = window.open(strURL, 'Smileys', 'left=' + intLeft + ',top=' + intTop + ',width=' + intWidth + ',height=' + intHeight + ',menubar=no,toolbar=no,location=no,status=no,scrollbars=no,resizable=no');
}

// -->

            function ToggleCheck( el, f )
            {
                if( el.src.indexOf("on") != -1 )
                {
                    el.src = "img/off.gif";
                    f.privatCHECK.value = "0";
                }
                else
                {
                    el.src = "img/on.gif";
                    f.privatCHECK.value = "1";
                }
            }
           
                function submitForm() {
        if (window.event.keyCode == 13) {
            document.tag.submit();
        }
    }
</script>

<form name="tag" method="post" action="?z=tagwall">
<table width="590" border="0" cellspacing="0" cellpadding="0" id="table2">
  <tr>
    <td>Navn:</td>
    <td colspan="2"><input name="navn" type="text" id="navn" class="tagwall"></td>
  </tr>
  <tr>
    <td valign="top">Besked:</td>
    <td colspan="2"><textarea name="besked" cols="40" rows="10" id="besked" class="tagwall"></textarea></td>
  </tr>
  <tr>
    <td>HP:</td>
    <td colspan="2"><input name="hp" type="text" id="hp" value="http://" class="tagwall"></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td colspan="2"><input name="email" type="text" id="email" class="tagwall"></td>
  </tr>
    <tr>
    <td>Privat:</td>
    <td colspan="2"><input type="hidden" name="privatCHECK"><img src="img/off.gif" width="10" height="17" onclick="ToggleCheck(this,document.forms['tag']);" alt="klik for at skrive privat" name="privatCHECK"></td>
  </tr>
    <tr>
    <td><a href="java script:popUp('smileys.htm', 590, 300);" class="content">Smileys</a></td>
    <td>&nbsp;&nbsp;&nbsp;</td>
    <td><a href="java script:document.tag.submit();" class="content">Add tag</a></td>
    </tr>
</table>
</form>
<?
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $navn = stripslashes($_POST['navn']);
    $besked = stripslashes($_POST['besked']);
    if(empty($navn)) { print("du mangler at udfylde fylde dit navn"); }
        elseif(empty($besked)) { print("du mangler at udfylde en besked"); }
        else
    {
$ip = $_SERVER['REMOTE_ADDR'];
$dato = time();
$tekst = str_replace("\n", "", $_POST['besked']);

mysql_query("INSERT INTO tagwall (navn, dato, besked, ip, email, hp, privat) values ('$_POST[navn]', '$dato', '$tekst', '$ip', '$_POST[email]',
'$_POST[hp]', '$privatCHECK')") or die(mysql_error());
mail("zyxep@delicate-designs.dk", "My Subject", "Line 1\nLine 2\nLine 3");

header("Location: ?z=tagwall");
}
}
$offset = (isset($_GET[offset])) ? $_GET[offset] : 0;
$pr_side = 10;

$result = mysql_query("SELECT * FROM tagwall ORDER BY id DESC limit $offset,$pr_side") or die(mysql_error());
?>
<table width="590" border="0" cellpadding="0" cellspacing="0" class="content" id="tabel1">
<?php
    while ($r = mysql_fetch_array($result)) {
        $query = mysql_query("select * from tagwall WHERE id = '$r[id]'") or die(mysql_error());
        $row= mysql_fetch_array($query);
    $tekst = $r["besked"];
    $tekst = htmlentities($tekst);
    include("func.php");
    if($r["privat"] == 0) {
?>
        <tr>
          <td width="71%" bgcolor="#EEF2F6" class="content"><a href="mailto:<?=$r['email'];?>" class="content"><?=$r["navn"];?></a> | <?= date("j-n-Y @ H:i", $r["dato"]);?> | <a href="<?=$r['hp'];?>" class="content"><?=$r['hp'];?></a></td>
          <td width="14%" bgcolor="#EEF2F6" class="content">&nbsp;</td>
          <td width="15%" bgcolor="#EEF2F6" class="content"><?php if($_SERVER["REMOTE_ADDR"] == $_SESSION["zyxep"]) { echo "<a href=\"?z=deltag&id=" . $r["id"] . "\" class=\"content\">Del</a> - <a href=\"?z=edittag&id=" . $r["id"] . "\" class=\"content\">Edit</a>"; } elseif($_SERVER["REMOTE_ADDR"] == $_SESSION["editone"]) { echo "<a href=\"?z=deltag&id=" . $r["id"] . "\" class=\"content\">Del</a> - <a href=\"?z=edittag&id=" . $r["id"] . "\" class=\"content\">Edit</a>"; } else { echo "&nbsp;"; } ?></td>
        </tr>
        <tr>
          <td class="content" bgcolor="white" colspan="3"><?=$tekst;?>
          </td>
        </tr>
        <tr>
        <td height="5"></td>
        </tr>
<?php
    } elseif($r["privat"] == "1" || $_SERVER['REMOTE_ADDR'] == $_SESSION["zyxep"] || $_SERVER['REMOTE_ADDR'] == $row[ip]) {
?>
        <tr>
          <td width="71%" bgcolor="#EEF2F6" class="content"><a href="mailto:<?=$r['email'];?>" class="content"><?=$r["navn"];?></a> | <?= date("j-n-Y @ H:i", $r["dato"]);?> | <a href="<?=$r['hp'];?>" class="content"><?=$r['hp'];?></a></td>
          <td width="14%" bgcolor="#EEF2F6" class="content">Privat</td>
          <td width="15%" bgcolor="#EEF2F6" class="content"><?php if($_SERVER["REMOTE_ADDR"] == $_SESSION["zyxep"]) { echo "<a href=\"?z=deltag&id=" . $r["id"] . "\" class=\"content\">Del</a> - <a href=\"?z=edittag&id=" . $r["id"] . "\" class=\"content\">Edit</a>"; } elseif($_SERVER["REMOTE_ADDR"] == $_SESSION["editone"]) { echo "<a href=\"?z=deltag&id=" . $r["id"] . "\" class=\"content\">Del</a> - <a href=\"?z=edittag&id=" . $r["id"] . "\" class=\"content\">Edit</a>"; } else { echo "&nbsp;"; } ?></td>
        </tr>
        <tr>
          <td class="content" bgcolor="white" colspan="3"><?=$tekst;?>
          </td>
        </tr>
        <tr>
        <td height="5"></td>
        </tr>
<?php
          }
}
        ?><tr><td><?php
          $antal = mysql_result(mysql_query('SELECT COUNT(*) FROM tagwall'),0);
          if ($offset >= $pr_side) {
              $forrige = $offset-$pr_side;
              print '<a href="?z=tagwall&offset=' . $forrige . '" class="content">Tilbage</a>';
          }
          ?></td><td colspan="2"><?php
          if($antal > $offset+$pr_side) {
              $naeste = $offset+$pr_side;
              print '<a href="?z=tagwall&offset=' . $naeste . '" class="content">Frem</a>';
          }
?></td></tr></table>
Avatar billede jammerlab Nybegynder
18. juli 2004 - 14:19 #7
Nu kan jeg se du har sat remote til $ip så bare lave den sådan her...

  } elseif($r["privat"] == "1" || $ip == $_SESSION["zyxep"] || $ip == $row[ip]) {

jeg bliver helt i tvivl om || betyder "eller" men det er jeg nu ret sikker på... $r["privat"] == "1" hvis den er 1 så vil alle brugere kunne se den... er det dét du vil?
Avatar billede zyxep Nybegynder
18. juli 2004 - 14:23 #8
jeg vil have hvis $r["privat"] == "0" skal alle kunne se den hvis $r["privat"] == "1" så skal kun min ip, og den person som har skrevet den kunne se den!!
Avatar billede jammerlab Nybegynder
18. juli 2004 - 14:32 #9
Prøv med denne...

if($r["privat"] == "1" && $ip == $_SESSION["zyxep"] || $ip == $row[ip]) {
Avatar billede zyxep Nybegynder
18. juli 2004 - 14:53 #10
nu kan jeg ikke se nogen af de private tags.. det skal være lige omvendt..
Avatar billede jammerlab Nybegynder
18. juli 2004 - 15:09 #11
Så prøver vi en "dobbelt" if...

if($r["privat"] == "1") {
if($ip == $_SESSION["zyxep"] || $ip == $row[ip]) {
echo privat;
}
}
Avatar billede zyxep Nybegynder
18. juli 2004 - 15:12 #12
samme resultat som før.. med &&
Avatar billede jammerlab Nybegynder
18. juli 2004 - 15:15 #13
Burde det il 0.o ...

hvis privat er = 1 sætter den første if igang... hvis $_SESSION["zyxep"] er = ip'en eller hvis ip'en er = den som er gemt databasen så skulle den gerne vise det privat halløj du laver... Der burde den altså vise noget :/
Avatar billede zyxep Nybegynder
18. juli 2004 - 15:17 #14
du kan selv se det..

http://zyxep.dk/zyxep/

og så under tagwall
Avatar billede zyxep Nybegynder
18. juli 2004 - 15:29 #15
talker..

jeg fik det løst..

det var fordi $ip var lukket inde i sin egen if sætning.. dvs den skulle laves global for at virke så jeg ændrede bare $ip til $_SERVER["REMOTE_ADDR"] og så virkede det ;)
Avatar billede jammerlab Nybegynder
18. juli 2004 - 16:03 #16
nårh ok :)
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