konto usunięte

Temat: zapewne banalny problem

Po przeprowadzce na nowy tani hosting www.hekko.pl formularz i clickcount przestały działać. Są przestarzałe, z tego co wiem działały przy Register Globals On. Proszę o pomoc w poprawce.

form2mail

<?php

$browser=$_SERVER['HTTP_USER_AGENT'];
$ip=$_SERVER['REMOTE_ADDR'];
$host=gethostbyaddr($ip);

if (empty($_POST['submit'])) {

echo "<table border=\"0\" class=\"body\"><form method=\"post\">
<tr>
<td>Treść wiadomości: </td>
<td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
</tr>
<tr>
<td>Imię, nazwisko lub nick: </td>
<td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>Adres e-mail: </td>
<td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
</tr>
<tr>
<td> </td>
<td><input type=\"submit\" name=\"submit\" value=\"Wyślij\"> 
<input type=\"reset\" value=\"Od nowa\"></td></form>
</tr>
</table>";

}

elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {

$message = "List:\n$_POST[tresc]\n\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";

$message = "List:\n$_POST[tresc]\n\nWysłał: $_POST[imie]\ne-mail: $_POST[email]\n \nIP: $ip \nHost: $host \nBrowser: $browser";

$header = "From: $_POST[imie] <$_POST[email]>";

if(eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email))
{
@mail("adres@emai.pll","temat","$message","$header")
or die('Nie udało się wysłać wiadomosci.');

echo "<div align=\"center\"><strong>Wiadomosć została wysłana poprawnie.</strong></div>";
} else {
echo"<span style=\"color: #FF0000; text-align: center;\">Wpisz swój adres email</span><br><br><a href=\"javascript:onclick=history.back();\" title=\"cofnij\">powrót</a>";
}

}

else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza.</span><br><br><a href=\"javascript:onclick=history.back();\" title=\"cofnij\">powrót</a>";

?>

klikomierz

[code]<? $lines=file("click.dat");
$stan=0;
for($n=0; $n<count($lines); $n++)
{
$str=explode(",",$lines[$n]);
if(chop($str[1])=="$id")
{
settype($str[0],"integer");
$str[0]++;
$lines[$n]=implode(",",$str);
$stan=1;
}
}

$plik=fopen("click.dat","w");
flock($plik,2);
if($stan==0) fputs($plik,"1,$id\n");
for($n=0; $n<count($lines); $n++) fputs($plik,chop($lines[$n])."\n");
flock($plik,3);
fclose($plik);
header("Location: $id");
?>

Dzięki i pozdrawiam.[edited]Konrad Szymański edytował(a) ten post dnia 16.05.08 o godzinie 13:12[/edited]
Piotr Lewandowski

Piotr Lewandowski Programista
aplikacji
internetowych (PHP,
MySQL, SF2, Mag...

Temat: zapewne banalny problem

Hmm na pierwszy rzut oka nie zauwazylem zmiennych globalnych (choc nie czytalem calego kodu), lecz bledy w skladni.

Jaki jest budzet tego zlecenia? :)
Wojciech K.

Wojciech K. realizator pomysłów
własnych

Temat: zapewne banalny problem

$plik=fopen("click.dat","w");

a prawa dostępu?

konto usunięte

Temat: zapewne banalny problem

chmod 0666 kolego..

Temat: zapewne banalny problem

Błąd masz tutaj:
if(eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email))
na końcu masz zmienną globalną $email, wypadałoby ją zrobić $_POST['email'].

ale sugeruję

ten fragment formularza:
if(eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email))
{
@mail("adres@emai.pll","temat","$message","$header")
or die('Nie udało się wysłać wiadomosci.');

echo "<div align=\"center\"><strong>Wiadomosć została wysłana poprawnie.</strong></div>";
} else {
echo"<span style=\"color: #FF0000; text-align: center;\">Wpisz swój adres email</span><br><br><a href=\"javascript:onclick=history.back();\" title=\"cofnij\">powrót</a>";
}

na początek zastąp tym, teraz adresy email mogą być już w domenie 4 znakowej (np. info):

if(eregi('^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$',$_POST[email]))
{
// send email
$success = mail("admin@localhost","temat","$message","$header");

// info or redirect to success page
if ($success){
echo "<div align=\"center\"><strong>Wiadomosć została wysłana poprawnie.</strong></div>";
}
else{
echo"<span style=\"color: #FF0000; text-align: center;\">Wpisz swój adres email</span><br><br><a href=\"javascript:onclick=history.back();\" title=\"cofnij\">powrót</a>";
}
}

Następna dyskusja:

zapewne niewielki problem




Wyślij zaproszenie do