Hej! Jag har laddat ner ett mail-script. https://www.niklasson.net/scripts . Det heter mail-script 1.0 . Jag har gjort som det står i readme-filen och alla variablar är ifyllda, frid och fröjd... Men nej då, jag tror att scriptet inte hittar min php.ini fil. För att när jag flyttar den till t.ex. skrivbordet så blir det inte bättre. Kan det va att scriptet inte hittar .ini-filen eller kan det va något annat? Jag har fyllt i konfurigations in ställnigarna i php.ini rätt men nått går snett! Jag får felmedelandet;
"Du måste använda ett formulär för att kunna skicka mail med detta script"
Det blir likadant som dethär som mina andra lite avancerade script.
Nja, det var det inte. Testa ett nytt script och det är bara en del som funkar men dom mer avancerade funkar inte! Och scriptet anropar rätt fil och allt! jag har tagit hit en datanörd och inte ens han kunde se felet! Fan! Men vet du nåt bra webhotell som e gratis och har stöd för php och ftp? Men nu till scriptet, vad tycker du att jag ska göra, ska jag sluta med php eller? Jag kan ju inte använda några scripts och så... Åhhh.. Om nej vet du vart man kan söka hjälp?
Det hjälper troligen inte i detta fallet att ändra register_globals till on och man bör knappast ha det påslaget.
Testa
<?php echo $_SERVER[SERVER_NAME]; ?>
och se om den skriver ut domänen. Se också till att det som skrivs ut finns med i variabler.php där du lägger till giltiga domäner.
Du kan sedan prova att med byta denna koden
$referer = $HTTP_REFERER;
if (empty($referer))
{
fel("Du måste använda ett formulär för att kunna skicka e-post med detta script.");
}
$ref_ok = 0;
for ($i=0;$i<count($domaner);$i++)
{
if ($kolla_ref != 1)
{
$ref_ok = 1; last;
}
if (eregi("^https?:\/\/$domaner[$i]",$referer))
{
$ref_ok = 1; last;
}
}
$host = preg_replace("|^https?://([\w\.]+)|","\\1",$referer);
$host = preg_replace("|([\w\.]+)/(.*)?|","\\1",$host);
if ($ref_ok != 1)
{
fel("Servern <b>'$host'</b> får inte använda detta scriptet. Scriptets array <b>\"\$domaner\"</b> måste kompletteras i så fall.");
}
mot
$ref_ok = 0;
for ($i=0;$i<count($domaner);$i++)
{
if ($kolla_ref != 1)
{
$ref_ok = 1; last;
}
if ($domaner[$i] == "$_SERVER[SERVER_NAME]")
{
$ref_ok = 1; last;
}
}
if ($ref_ok != 1)
{
fel("Servern <b>'$_SERVER[SERVER_NAME]'</b> får inte använda detta scriptet. Scriptets array <b>\"\$domaner\"</b> måste kompletteras i så fall.");
}
Ger dock inga garantier att det löser just dina problem.
Kan nämna att jag hade lite problem med HTTP_REFERER när jag bytte dator senast.
Jag installerade Norton Internet Security och fann att det som default blockerade HTTP_REFERER att skickas från datorn.
Jag är nog inte ensam om att ha Norton ... så att förlita sig i ett skript på HTTP_REFERER är nog vanskligt.
Möjligtvis i ett adminskript där man vet att man själv skickar ut HTTP_REFERER.
'HTTP_REFERER'
The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.
142 ms totalt · 3 externa anrop · v20260731065814-full.b746b907