Loading:

Promocja Helion.pl

Raportowanie pliku z użyciem PHP

W tym poradniku przedstawię prosty sposób na raportowanie plików np. na stronie z downloadem. Możemy go oczywiście wykorzystać do innego celu. Skrypt ten pozwoli nam na zgłoszenie niedziałającego linku, które zostanie wysłane na wskazany e-mail.

Skrypt dodatkowo wyśle nam informacje o użytkowniku, który zgłasza dany plik (przeglądarka, host, ip).

Adres URL, numer id, lub nazwa zgłaszanego pliku przesłane zostaną metodą GET. Na naszej stronie dodajemy więc kod:

<a href="http://jakasdomena.pl/raportuj.php?pliczek=$id"><img src="images/raportuj.png" alt="raportuj"></a>

gdzie zmienna $id to numer ID naszego pliku - zostanie on automatycznie dopisany do zgłoszenia i nie będzie go można edytować.

 

Możemy oczywiście użyć jakiejkolwiek innej zmiennej, skrypt należy dostosować do własnych potrzeb ;)



Napisz Artykuł

Listing

//raportuj.php
<html>
<head>
<META HTTP-EQUIV="content-type" CONTENT="text/html; CHARSET=iso-8859-2">
<title> Raportuj </title>

<script language="JavaScript1.2">
<!--

function sprawdzAdres() {
   var dobryEmail = /^[^@]+@([a-z0-9\-]+\.)+[a-z]{2,4}$/i;
   /* wyrażenie opisuj?ce dobry adres e-mail:
      ^                 - pocz?tek napisu
      [^@]+             - 1 lub więcej znaków innych niż @
      @                 - znak @
      ([a-z0-9\-]+\.)+  - jedna lub więcej grupa, a w niej:
         [a-z0-9\-]+    - jedna lub więcej litera, cyfra lub my?lnik
         \.             - kropka
      [a-z]{2,4}        - od dwóch do czterech liter
      $                 - koniec napisu
   */

   if (dobryEmail.test(document.form.email.value)) {
      return true
        } else {
      alert('"' + document.form.email.value +
         '" to nie jest poprawny adres e-mail!');
      return false;
   }
}


function poprawImieNazwisko() {
   // To jest event handler, więc możemy używać "this".
   // Zamienia zapis "nazwisko[może spacje],[może spacje]imię" na
   // "imię nazwisko".
   this.value = this.value.replace(/^(.*)\s*,\s*(.*)$/, "$2 $1");
}

function inicjuj() {
   document.form.onsubmit = sprawdzAdres;
   document.form.imienazwisko.onchange=poprawImieNazwisko;
}

window.onload = inicjuj;

//-->
</script>

</head>

<body>

<form name="form" method="post" action="mail.php3">
Podaj swój nick:<br>
<input type="text" name="imie"><br>
Podaj swój email:<br>
<input type="text" name="email"><br>
Powód zgłoszenia:<br>
<textarea name="tresc" rows="5" cols="40"></textarea><br>
<input type="hidden" name="info" value=" <?
 
   if ($_SERVER['REMOTE_ADDR'] == '')
   {
      $_POST[ip] = $_SERVER['REMOTE_ADDR'];
   } else $_POST[ip] = $_SERVER['REMOTE_ADDR'];

   echo "
IP: $_POST[ip]. \n";
   echo "
Host: ".gethostbyaddr($_SERVER['REMOTE_ADDR'])."\n";
   echo "
Przegl?darka: ".$_SERVER['HTTP_USER_AGENT'];


   
?>"
/>
Zgłaszany plik:<br>
<textarea name="pliczek" readonly="readonly" cols="50" rows="2"><? $pliczek = $_GET['pliczek']; echo "$pliczek"; ?></textarea>
<br><input type="submit" name="submit" value="wy?lij">
</form>
</BODY>

</html>


//mail.php3
<?

if (($_POST[imie] == "") || ($_POST[email] == "") || ($_POST[tresc] == ""))//jeśli jakiekolwiek z pól zostało pominięte tworzymy formularz
{
echo "<form name=form method=post action=mail.php3>";
echo "Nie wypełniłeś wszystkich pól formularza... uzupełnij brakujące pola<br>";
}
if ($_POST[imie] == "")//sprawdzamy czy pole imie jest puste
{
echo "Podaj swój nick:<br><input type=text name=imie><br>";//jeśli pole imie jest puste wyświetlamy pole imie itd...
}
else
{
echo "<input type=hidden name=imie value=$_POST[imie]>";
}
if ($_POST[email] == "")
{
echo "Podaj swój email:<br><input type=text name=email><br>";
}
else
{
echo "<input type=hidden name=email value=$_POST[email]>";
}
if ($_POST[tresc] == "")
{
echo "Tresć wiadomości:<br><textarea name=tresc rows=5 cols=40></textarea><br>";
}
else
{
echo "<input type=hidden name=tresc value=$_POST[tresc]>";
}

if (($_POST[imie] == "") || ($_POST[email] == "") || ($_POST[tresc] == ""))
{
echo "<input type=submit name=submit value=wyślij>";
echo "<input type=reset name=reset value=od nowa>";
echo "</form>";//zamykamy formularz
}
else
{
$_POST[wiadomosc] = "=======================================RAPORT=======================================\n\nImię: $_POST[imie]\nEmail: $_POST[email]\nPowód zgłoszenia: $_POST[tresc]\npliczek: $_POST[pliczek]\n\n===================================DODATKOWE INFO===================================\n$_POST[info]\n====================================================================================";
$_POST[header] = "From: $_POST[email]\n";
mail ("admin@jakasdomena.pl,drugi-admin@jakasdomena.pl.pl", "Raport", $_POST[wiadomosc], $_POST[header]);
echo "Dzięki za zgłoszenie, $_POST[imie] ;)";
}
?>


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=3&t=5730

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: cnk Ranga: Poziom 1 Punktów: 0
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors