Avatar billede michaelb.dk Nybegynder
28. april 2004 - 18:39 Der er 9 kommentarer og
1 løsning

Tilfør automatisk IP log!

Jeg har denne "gæstebog" i brug, men vil gerne have den til at gemme alle ip's i en "ip.txt" fil for sig selv, til hver skribent!

---------------

<form name=info method=post ACTION="index.php">

<br>
<table style="BORDER-COLLAPSE: collapse" borderColor="#111111" cellSpacing="0" cellPadding="4" border="0" width="595">
  <tr>
    <td align="right" width="55">
    <div align="right">
    <b>Nicknavn:</b></div>
    </td>
    <td width="318">
      <input maxLength="30" size="45" name="username" class="form"></td>
    <td width="365">
    <div align="left">
      <b>Smileys:</b></div>
    </td>
  </tr>
  <tr>
    <td align="right" width="55"><b>Mail:</b></td>
    <td width="318">
      <input maxLength="40" size="45" name="usermail" class="form"></td>
    <td width="365">
      &nbsp;</td>
  </tr>
  <tr>
    <td align="right" width="55">
    <div align="right">
    <b>Tekst:</b></div>
    <div align="right">
      &nbsp;</div>
    <div align="right">
      &nbsp;</div>
    <div align="right">
      &nbsp;</div>
    <div align="right">
      &nbsp;</div>
    <div align="right">
      &nbsp;</div>
    <div align="right">
      &nbsp;</div>
    </td>
  <td width="318">
      <textarea id="tekst" onkeypress="return checklength();" name="nachricht" rows="10" cols="45" maxLength="1" class="form"></textarea></td>
    <td width="365">
 
      <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="170" height="74">
        <tr>
          <td width="25%" height="40">
          <a href="java script:setsmile(' B) ')">
          <img src="smile-01.gif" border="0"></a></td>
          <td width="25%" height="40">
          <a href="java script:setsmile(' :) ')">
          <img border="0" src="smile-02.gif"></a></td>
          <td width="25%" height="40">
          <a href="java script:setsmile(' :Z ')">
          <img border="0" src="smile-03.gif"></a></td>
          <td width="25%" height="40">
          <a href="java script:setsmile(' :@ ')">
          <img border="0" src="smile-04.gif"></a></td>
        </tr>
        <tr>
          <td width="25%" height="34">
          <a href="java script:setsmile(' ;) ')">
          <img border="0" src="smile-05.gif"></a></td>
          <td width="25%" height="34">
          <a href="java script:setsmile(' :D ')">
          <img border="0" src="smile-06.gif"></a></td>
          <td width="25%" height="34">
          <a href="java script:setsmile(' :X ')">
          <img border="0" src="smile-07.gif"></a></td>
          <td width="25%" height="34">
          <a href="java script:setsmile(' :O ')">
          <img border="0" src="smile-08.gif"></a></td>
        </tr>
        <tr>
          <td width="25%" height="34">
          <a href="java script:setsmile(' !!! ')">
          <img border="0" src="smile-09.gif"></a></td>
          <td width="25%" height="34">
          <a href="java script:setsmile(' :J ')">
          <img border="0" src="smile-10.gif"></a></td>
          <td width="25%" height="34">
          <a href="java script:setsmile(' :P ')">
          <img border="0" src="smile-11.gif"></a></td>
          <td width="25%" height="34">
          <a href="java script:setsmile(' :] ')">
          <img border="0" src="smile-12.gif"></a></td>
        </tr>



  </table>

</tr>
  <tr>
    <td align="right" width="55">&nbsp;</td>
    <td width="318">
      <input type="submit" value="Submit" name="Submit" class="formbu"></td>
    <td width="365">
      <input type="hidden" value="1" name="adminaction">
   
      &nbsp;</td>
  </tr>
</table>
</form>




<?php

// CONFIGURATION


$name = 'bookdata.txt';        // Where the entries will be stored.
$timetowarp= 60;              // Max Number of connected character till it warps. Adapt it if you change the fontsize! ATTENTION: Set this value not that small. Long picture URLs may not work anymore!

$admincode = 'elefant';        // Set the administration codeto delete messages!!!
$accolor = '000000';        // Set color of entry-number and activ-page color.

$superusercode = 'elefant';        // Set the passcode for the superuser.
$superuserdisplayname = 'Dummeslag';    // Set the display name of the superuser.
$usperuserdisplaycolor = 'FF0000';    // Set the displaycolor of the superuser.

//



//  WRITE DATA

$admin = $HTTP_GET_VARS['admin'];
$adminaction = $HTTP_POST_VARS['adminaction'];
$username = $HTTP_POST_VARS['username'];
$usermail = $HTTP_POST_VARS['usermail'];
$nachricht  = $HTTP_POST_VARS['nachricht'];
$passcode  = $HTTP_POST_VARS['passcode'];
$page  = $HTTP_GET_VARS['page'];
$block  = $HTTP_GET_VARS['block'];


if ($adminaction == 1 ) {

$adminaction  = 0;

$ok = true;
$nachricht = eregi_replace("\URL\", "", $nachricht);      // for some stupid people

if ($username == "" ) { $ok = false;}
if ($usermail== "" ) { $usermail = "No Entry!";}
if ($nachricht == "" ) { $ok = false;}
if (strpos($usermail, '@') == 0) { $usermail = "No Entry!";}

$username = ereg_replace (">", "&gt;", $username);
$username = ereg_replace ("<", "&lt;", $username);
$nachricht  = ereg_replace ("<", "&lt;", $nachricht);
$nachricht = ereg_replace (">", "&gt;", $nachricht);
$usermail = ereg_replace ("<", "&lt;", $usermail);
$usermail = ereg_replace (">", "&gt;", $usermail);


$nachricht = ereg_replace ("\r\n", "<br>", $nachricht);
$nachricht = ereg_replace ("\n\r", "<br>", $nachricht);
$nachricht = ereg_replace ("\n", "<br>", $nachricht);


if ($ok == true) {


// READ PROTECTION

if ( file_exists( $name) == TRUE)
{
// $array von hinten nach vorne durchlaufen

$fd = fopen($name, "r");
$array = file($name);
fclose ($fd);
$zeilen = 0;
$i = sizeof($array);
while ($i--) {
$zeilen = $zeilen+1;
$arrayback[$zeilen] = trim($array[$i]);
}}

$zeile = $arrayback[1];
$temp = substr($zeile,strpos($zeile, '>')+1,strlen($zeile));
$temp = substr($temp,strpos($temp,">")+1, strlen($temp));
$nachrichtmirror = substr($temp,strpos($temp,">")+1,strlen($temp));

if ($nachricht <> $nachrichtmirror) {

$datumeingabe  = date("d.m.y - H:i");

$file = fopen($name, "a");
fputs($file, "$datumeingabe>$username>$usermail>$nachricht");
fputs($file, "\r\n");
fclose($file);

} else {

echo '<p><font color="#FF0000">Dine data er ikke sat ind igen!</font></p>';

}

// end


}

if ($ok == false)
{
echo '<p><font color="#FF0000">Udfyld venligst al data!</font></p>';
}
}

//



// Seitenübertragung



$HTTP_GET_VARS['page']; 
if ($page == '' ) {$page = 1;}

$HTTP_GET_VARS['block'];
if ($block == '' ) {$block = 1;}

$HTTP_GET_VARS['admin'];
if ($admin == '' ) {$admin = 0;}



//


// READ AND WRITE DATA IF DATABASE NEEDS TO BE CHANGED


if ($admin == 2) {



if ($passcode == $admincode) {


$fd = fopen($name, "r");
$array = file($name);
$i = sizeof($array);
fclose ($fd);

$fd = fopen($name, "w");



$s = 0;
while ($s <= $i):
  if ($HTTP_POST_VARS['mes'][$s+1] <> 'DEL') { fputs($fd, $array[$s]); }
$s++;   
endwhile;
fclose ($fd);




echo '<a href="index.php?admin=0"><b>Markerede beskeder er slettet!</b></a><br><br>';

}

else { echo '<font color="#FF0000"><b>Adgangskoden er forkert!</b></font><br><br>'; }


$admin=1;
}

//



// READ DATA

if ( file_exists( $name) == TRUE)
{


// $array von hinten nach vorne durchlaufen

$fd = fopen($name, "r");
$array = file($name);
fclose ($fd);
$zeilen = 0;
$i = sizeof($array);
while ($i--) {
$zeilen = $zeilen+1;
$arrayback[$zeilen] = trim($array[$i]) . "<br>\n";
}





$pagecopy = $page;

$page = ($page-1)*10;



echo '<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="99%">
  <tr>
    <td width="50%">';
   

if ($admin == 1 ) {echo '<form method=post ACTION="index.php?admin=2">'; }

echo'</td> <td width="50%">
    <p align="right"><b>('.$zeilen.' indlæg i alt)</font></td>
  </tr>
</table><br>';



for ($i = 1; $i <= 10; $i++) {      // loop for message displaying


$zeile = $arrayback[$i+$page];

if ($zeile <> "") {


$datum =  substr($zeile,0, strpos($zeile, '>') );
$temp = substr($zeile,strpos($zeile, '>')+1,strlen($zeile));
$username =  substr($temp,0,strpos($temp,">"));
$temp = substr($temp,strpos($temp,">")+1, strlen($temp));
$usermail = substr($temp,0,strpos($temp,">"));
$nachricht = substr($temp,strpos($temp,">")+1,strlen($temp));


$nachricht = eregi_replace('\\\"', '"', $nachricht); 
$nachricht = eregi_replace("\\\'", "'", $nachricht); 


// SIMILIES ADAPTION

$nachricht = eregi_replace("B)", '<img border="0" src="smile-01.gif">', $nachricht);
$nachricht = eregi_replace(":)", '<img border="0" src="smile-02.gif">', $nachricht);
$nachricht = eregi_replace(":-)", '<img border="0" src="smile-02.gif">', $nachricht);
$nachricht = eregi_replace(":Z", '<img border="0" src="smile-03.gif">', $nachricht);
$nachricht = eregi_replace(":@", '<img border="0" src="smile-04.gif">', $nachricht);
$nachricht = eregi_replace(";)", '<img border="0" src="smile-05.gif">', $nachricht);
$nachricht = eregi_replace(";-)", '<img border="0" src="smile-05.gif">', $nachricht);
$nachricht = eregi_replace(":D", '<img border="0" src="smile-06.gif">', $nachricht);
$nachricht = eregi_replace(":X", '<img border="0" src="smile-07.gif">', $nachricht);
$nachricht = eregi_replace(":O", '<img border="0" src="smile-08.gif">', $nachricht);
$nachricht = eregi_replace("!!!", '<img border="0" src="smile-09.gif">', $nachricht);
$nachricht = eregi_replace(":J", '<img border="0" src="smile-10.gif">', $nachricht);
$nachricht = eregi_replace(":P", '<img border="0" src="smile-11.gif">', $nachricht);
$nachricht = eregi_replace(":]", '<img border="0" src="smile-12.gif">', $nachricht);



// GENERATE URL LINKs

$fractal ='';
$setoff = 0;

for ($l = 0; $l <= strlen($nachricht); $l++) {


if ($nachricht[$l+0].$nachricht[$l+1].$nachricht[$l+2].$nachricht[$l+3] == 'http') {

if ($nachricht[$l-1] <> ']' ) {

$fractal = $fractal.'<a href="';
$setoff = 1;
$linkstrpos = $l;
}

}

if ($setoff == 1 ) {    if ($nachricht[$l] == ' ' ) { $linkname = substr($nachricht, $linkstrpos, $l-$linkstrpos); $fractal = $fractal.'"  target="_new">'.$linkname.'</a>';  $setoff = 0; }      }
if ($setoff == 1 ) {    if ($nachricht[$l] == '<' ) { $linkname = substr($nachricht, $linkstrpos, $l-$linkstrpos); $fractal = $fractal.'" target="_new">'.$linkname.'</a>';  $setoff = 0; }      }

$fractal = $fractal.$nachricht[$l];

}
$nachricht = $fractal;




// CONVERT IMAGES

$nachricht = ereg_replace('\[\img]', '<img src="', $nachricht);
$nachricht = ereg_replace('\[\/img]', '">', $nachricht);






// DO THE WARPING

$warpcount = 0;
$fractal ='';
$iz = 0;

for ($z = 0; $z <= strlen($nachricht); $z++) {
$fractal = $fractal.$nachricht[$z];
$iz++;
if ($iz == $timetowarp) {


$dowarp = false;


if (strpos(substr($nachricht, ($warpcount*$timetowarp), $timetowarp),' ') === false ) { $dowarp = true; }



if (strpos(substr($nachricht, ($warpcount*$timetowarp), $timetowarp),'<') === true ) { $dowarp = false; }
if (strpos(substr($nachricht, ($warpcount*$timetowarp), $timetowarp),'/') === true ) { $dowarp = false; }


if ($dowarp == true) { $fractal = $fractal.' ';}

$warpcount = $warpcount+1;
$iz = 0;
}
}


$nachricht = $fractal;



$nummerdis = $zeilen-($i+$page)+1;

if ($admin == 1 ) {$deletebox = '<br><font color="#FF0000">Slet<input type="checkbox" name="mes['.$nummerdis.']" value="DEL" >';}


if ($usermail <> 'No Entry!' ) { $mailthere = '<a href="mailto:'.$usermail.'">';} else { $mailthere = '';}


// SUPERUSER

if ($username === $superusercode )
{
$username = $superuserdisplayname;
$suci = '<font color="#'.$usperuserdisplaycolor.'">';
$tmpaccolor = $usperuserdisplaycolor;
}
else
{
$suci = '';
$tmpaccolor = $accolor;
}

echo '<center>
<table width="500" cellspacing="0" cellpadding="0" background="../img/bg.gif">
<tr>
<td style="border:1px solid #000000" height="16">
&nbsp;<a href="mailto:'.$usermail.'"><b>'.$suci.$username.'</b></a> skriver <b>'.$suci.$datum.'</b>
</td>
</tr>
</table>

<table width="500" cellspacing="0" cellpadding="0">
<tr>
<td width="500" style="border-bottom:1px solid; border-left:1px solid; border-right:1px solid; border-color:#000000" bgcolor="#EBEBEB">
<table width="100%"><tr><td>
'.$suci.$nachricht.$deletebox.'
</td></tr></table></td></tr></table></center><br>
';



}}


// GENERATE DYNAMIC PAGE SELECTION

$pages = ceil($zeilen/10);             

echo '<p align="right"><b>Side: ';

if ($block > 1 )
{
echo '</b><a href="index.php?block=1">&lt;&lt;  </a><a href="index.php?block='.($block-25).'&admin='.$admin.'">&lt; </a></font>';
}


for ($i = $block; $i <= $pages; $i++)   
{ 
if ($i == $pagecopy) { $activcolor = '<font color="'.$accolor.'">'; } else { $activcolor = ''; }
echo '<b><a href="index.php?page='.$i.'&block='.$block.'&admin='.$admin.'">'.$activcolor.$i.'</a><font color="#000000"> | </b>';

$intercount = $intercount+1;

if ($intercount == 25 ) { 



if ($zeilen > $intercount*10 ) {

echo '</b><a href="index.php?page='.($i+1).'&block='.($i+1).'">&gt;</a>
<a href="index.php?page='.(((floor(($pages/25)))*25)+1).'&block='.(((floor(($pages/25)))*25)+1).'&admin='.$admin.'">&gt;&gt;</a>';
}

break; }


}
echo $activcolor;
echo '</font></b>&nbsp;&nbsp;</p>';
}

if ($admin == 1 ) {
echo'<br><b><font color="#FF0000"> Adgangskode: </font>
<input type="password" maxLength="10" size="11" name="passcode" class="form">
<input type="submit" value="Submit" name="Submit" class="formbu">
</form>';
}

if ($admin == 0 ) {$disadmin= '<align="right"><a href="index.php?admin=1"><font color="#CACACA">Administration</font></a> ';}
if ($admin == 1 ) {$disadmin= '<align="right"><a href="index.php?admin=0"><b>Forlad administration </b> </a>';}


echo'<br><br>
<table border="0" cellpadding="0" cellspacing="0"  width="100%">
  <tr>
    <td width="70%"></td>
    <td width="30%">
    <p align="right">'.$disadmin.'</td>
  </tr>
</table>
';


echo $messcount;
?>
Avatar billede dennismp Nybegynder
28. april 2004 - 18:44 #1
Efter du har gemt selve indlægget så skriver du

$fp = fopen("ip.txt","a");
if($fp) {
  fputs($fp, $_SERVER['REMOTE_ADDR'] . "\n" );
  fclose($fp)
}
else {
  print "*** Kan ikke åbne ip.txt<br/>";
}
Avatar billede dennismp Nybegynder
28. april 2004 - 18:44 #2
Du skal så huske at ip.txt skal være skrivbar af apache..
Avatar billede michaelb.dk Nybegynder
28. april 2004 - 18:47 #3
hvor skal jeg så smide koden ind, for jeg er slet ikke sat ind i php! :-)
Avatar billede dennismp Nybegynder
28. april 2004 - 19:19 #4
[....]

if ($nachricht <> $nachrichtmirror) {

$datumeingabe  = date("d.m.y - H:i");

$file = fopen($name, "a");
fputs($file, "$datumeingabe>$username>$usermail>$nachricht");
fputs($file, "\r\n");
fclose($file);

/***** LOG IP ***************/

$fp = fopen("ip.txt","a");
if($fp) {
  fputs($fp, $_SERVER['REMOTE_ADDR'] . "\n" );
  fclose($fp)
}
else {
  print "*** Kan ikke åbne ip.txt<br/>";
}
/****************************/

} else {

echo '<p><font color="#FF0000">Dine data er ikke sat ind igen!</font></p>';

}

// end
....
Avatar billede michaelb.dk Nybegynder
28. april 2004 - 19:37 #5
http://dummeslag.dk/2/dummeboard/ (parse error in /home/web/web12775/2/dummeboard/index.php on line 232)

line 232:

231: fclose($fp)
232: }
233: else {
Avatar billede dennismp Nybegynder
28. april 2004 - 19:47 #6
ret 231 til: fclose($fp);
Avatar billede michaelb.dk Nybegynder
28. april 2004 - 19:54 #7
tusind tak! Kan man evt. gøre sådan at den skriver i ip.txt "ip'en til X (navn) X@X.dk (mail) er XX.XXX.XXX.XXX"
Avatar billede dennismp Nybegynder
28. april 2004 - 20:02 #8
erstat
fputs($fp, $_SERVER['REMOTE_ADDR'] . "\n" );
med
fputs($fp, "$username $usermail " . $_SERVER['REMOTE_ADDR'] . "\n" );
Avatar billede michaelb.dk Nybegynder
28. april 2004 - 20:14 #9
Meget unikt, tak!
Avatar billede dennismp Nybegynder
28. april 2004 - 20:18 #10
Det var så lidt :)
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