Avatar billede exclusive Nybegynder
11. april 2006 - 20:25 Der er 2 kommentarer og
1 løsning

Blokkér IP funktion og tøm txt fil funktion

Hej php gutter :-)

Jeg har ingen forstand på php så søger derfor noget hjælp herinde :-D

Jeg bruger programmeringen til en 'gæstebog' i flash.
-Men tag jer ikke af dét, da der i flash, bare bliver angivet div variabler på knapperne og tekst felterne i flash'en...

Blokkér ip funktionen:
Jeg kunne godt tænke mig at php'en skriver til min txt fil, brugerens IP adresse i forlængelse med datoen og klokken 'Dato: bla bla bla (bla bla bla) (brugerensIP)'
Herefter opretter jeg to variabler i min flash..
Den ene for tekst feltet hvor man indtaster ip'en som skal blokkeres, den kalder jeg 'IpAdr' den næste variabel bliver knappen, som kommer til at få variablen 'BlokIp'

Tøm txt fil funktionen:
I min flash opretter jeg endnu en knap som får variablen 'ClearAll'

Min php ser således ud:
<?php
// Hvis du bruger en forældet version af php, kan du slette det næste sæt linjer.
// eller bruge $HTTP_POST_VARS["..."] istedet.
$Submit     = $_POST["Submit"];
$Navn         = $_POST["txt1"];
$PostNr     = $_POST["txt2"];
$TlfNr         = $_POST["txt3"];
$NumLow     = $_REQUEST["NumLow"];
$NumHigh     = $_REQUEST["NumHigh"];

// Udskifter speciele characters - du kan slette næste 5 linjer hvis du vil.
$Navn         = ereg_replace("[^A-Za-z ]", "", $Navn);
$PostNr     = ereg_replace("[^0-9 ]", "", $PostNr);
$TlfNr         = ereg_replace("[^0-9 ]", "", $TlfNr);

// Fjerner slashes.
$Navn         = stripslashes($Navn);
$PostNr     = stripslashes($PostNr);
$TlfNr         = stripslashes($TlfNr);

// ###################################################################################
// ############# Læser og Skriver den nye data til SmsListe Databasen ################

if ($Submit == "Send") {
// Den næste linje fortæller scriptet hvilken Text fil det skal åbne.
    $filename     = "SmsListe.txt";

// Åbner overnævte fil for læsning

    $fp         = fopen( $filename,"r");
    $OldData     = fread($fp, 80000);
    fclose( $fp );

// henter den aktuelle Dato for hvornår en ny bruger er tilføjet
setlocale( LC_TIME, "danish" );
$Today        = strftime(" %A den %e. %B %Y (%H:%M:%S)");

   

// Putter den tilføjede data i html format som kan blive læst ind i din Flash Movie.
// Du kan ændre i denne frit og tilføje html formatering i dette område.  For en komplet liste over alle html tags
// kan du klikke ind på: http://www.macromedia.com/support/flash/ts/documents/htmltext.htm

    $Input = "Navn: <b><a href=\"http://www.degulesider.dk/vbw/super/resultat.do?compTrade=$Navn\" target=\"_blank\">$Navn</a></b><br>Post nr: <b><a href=\"http://www.degulesider.dk/vbw/super/resultat.do?compZip=$PostNr\" target=\"_blank\">$PostNr</a></b><br>Tlf nr: <b><a href=\"http://www.degulesider.dk/vbw/super/resultat.do?compPhone=$TlfNr\" target=\"_blank\">$TlfNr</a></b><br><font size=\"12\">Dato: $Today</font><br><br>.:::.";

/* Denne linje tilføjer '&GuestBook=' delen i toppen af dataen som bliver gemt i text filen.  Dette er vigtigt fordi uden dette vil din Flash movie ikke være istand til at tilføje variablen 'GuestBook' til den værdi der findes i text filen  */

    $New = "$Input$OldData";

// Åbner og skriver filen.

    $fp = fopen( $filename,"w");
    if(!$fp) die("&SmsListe=cannot write $filename ......&");
    fwrite($fp, $New, 800000);
    fclose( $fp );
}

// ###################################################################################
// ######### Formatterer og printer data fra SmsListe til din Flash Movie ############



// Næste linje fortæller scriptet hvilken Text fil der skal åbnes.
    $filename = "SmsListe.txt";

// Åbner overnævnte fil for læsning

    $fp     = fopen( $filename,"r");
    $Data     = fread($fp, 800000);
    fclose( $fp );

// Spliter den gamle data op i en array hvergang det kombinationen .:::.
    $DataArray = split (".:::.", $Data);

// Tæller numrende af tilmeldte brugere i SmsListen
    $NumEntries = count($DataArray) - 1;

    print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&SmsListe=";
    for ($n = $NumLow; $n < $NumHigh; $n++) {
    print $DataArray[$n];
        if (!$DataArray[$n]) {
            Print "<br>[Der er ikke flere tilmeldinger..]";
        exit;
        }
    }
?>




Der er gode points at hér :-)
Avatar billede exclusive Nybegynder
11. april 2006 - 21:25 #1
Jeg ved godt at det også virker lidt dumt at kører det via en txt database, men når de 2 sidste funktioner hér er implementeret, åbner det en mulighed for at jeg evt. kan betale den som laver funktionerne til at omprogrammere hele scriptet så det kører via mySQL istedet :-D

Så altså 150 points indtil videre, og en åben dør, til at tjene lidt kroner, til den som får implementeret de to overstående funktioner i mit script :) :-)
Avatar billede exclusive Nybegynder
12. april 2006 - 00:44 #2
Jeg har fundet denne kode  til at slette txt filen med (scriptet opretter jo selv en ny når der bliver skrevet til det):

$filename = "filetodelete.txt";

$delete = @unlink($filename);
if (@file_exists($filename))
{
  $filesys = eregi_replace("/","\\",$filename);
  $delete = @system("del $filesys");
  if (@file_exists($filename))
  {
    $delete = @chmod ($filename, 0775);
    $delete = @unlink($filename);
      $delete = @system("del $filesys");
  }
}




Men jeg har prøvet på 117 forskellige måder nu, og har mildest talt været ved at smadre mit system, så håber at der er en af jer derude der kan implementere det...

og kig også gerne lige engang på IP funktionen..
Avatar billede exclusive Nybegynder
04. november 2006 - 17:49 #3
lukker
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