mperlam
31.12.2009, 17:44:44
Cześć. Mam mały problem. Zrobiłem prosty skrypt, który po wpisaniu maila przesyla zawartość danego pliku na tego maila. Mam pytanie jak ograniczyć wykorzystanie pliku send.php (w ktorym jest zawarty cały skrypt wysylajacy). Myślałem nad czymś w rodzaju X FORWARDED ale średnio mi wychodzi. Bardzo proszę o propozycje. Chodzi tylko o to aby formularz z innej domeny nie był interpretowany przez skrypt.
mozesz zrobic tak, ze na stronie z formularzem dasz cookies albo lepiej sesje, a pozniej zostanie ona sprawdzona na stronie ktora odbiera formularz
mperlam
31.12.2009, 19:27:35
Ok, udało się zrobić (nieco inaczej niż napisałeś). Aby nie zakładać chciałbym zapytać o coś jeszcze. Mam prosty formularz:
Kod
<input name="mail" type="text" size="30" />
<input class="button" value="Send" type="submit" />
Czy da się go przerobić tak, aby był on skryptem js?
formularz obsluguje zdarzenia onsubmit w form
czyli <form onsubmit="skrypt php" action="...
lub onclick na button
poczytaj o zdarzeniach
co konkretnie chcesz zrobic ?
mperlam
31.12.2009, 19:38:08
+/- ma to być coś na kształt okienka, do którego po prostu wpisujemy mail i na ten mail leci to, co jest w pliku txt. Nie chcę jednak aby formularz (tam gdzie wpisuję mail) był widoczny dla robotów oraz osób wchodzących przez proxy
bo ja wiem...
nigdy czegos takiego nei robilem
przychodza mi do glowy 3 rozwiazania tego problemu, ale nei wiem na ile sa bezpieczne
wpisz do googli 'ukrywanie tresci js'
mperlam
31.12.2009, 19:51:50
Raczej nie o ukrycie chodzi... Chcę aby pole tekstowe (lub inny element) było w JS
Pawel_W
31.12.2009, 19:53:58
chodzi ci o coś takiego?
<script type="text/javascript"> formularz = document.createElement('form');
formularz.setAttribute('action', 'send.php');
formularz.setAttribute('method', 'post');
pole = document.createElement('input');
pole.setAttribute('type', 'text');
(...)
formularz.appendChild(input);
document.body.appendChild(formularz);
?
mperlam
31.12.2009, 19:57:43
Tak, o coś tym stylu mi chodzi. Jak zatem zrobić w czymś takim pole tekstowe wysyłające treść do pliku (send.php)?
Pawel_W
31.12.2009, 20:03:21
popatrz na to co ci dałem i domyśl się
podpowiem ci że np. aby otrzymać coś takiego:
<input type="text" value="wartość" name="nazwa" />
służy taki skrypt:
pole = document.createElement('input');
pole.setAttribute('type', 'text');
pole.setAttribute('value', 'wartość');
pole.setAttribute('name', 'nazwa');
document.body.appendChild(pole);
z powyższego przykładu oraz mojego poprzedniego postu powinieneś wywnioskować jak stworzyć taki formularz
dodatkowo jakby Ci pasowalo wysylanie metoda GET to mozesz uzywajac js pobrac to co uzytkownik wpisal do formularza a pozniej zrobic z tego adres i przeniesc uzytkownika pod ten adres
<input type="text id="mail" />
<script>
var mail
mail = getElementByld['mail'].value
var adres
adres = 'http://locallhost/wyslij.php?mail='+mail
//nie nie wiem jak sie robi przekierowanie
//musisz sobie znalezc i przeniesc uzytkownika na zmienna adres
</script>
mperlam
1.01.2010, 12:53:22
Dzieki. Formularz zrobiony. Mam tylko jeszcze malutkie pytanie na temat znaków relacyjnych. Czy jest znak, który będzie porównywalny treści i jeżeli jedna jest częścią drugiej, będzie zwracał True. Na przykład OKO, marOKO.
Pawel_W
1.01.2010, 12:59:15
strpos w php albo indexOf w js, ew. search + wyrażenia regularne
mperlam
1.01.2010, 19:21:04
Dzięki wielkie. Mój kawałek kodu, o którym mowa w temacie wygląda teraz bardzo ładnie i co najważniejsze - działa

Kod
if (strpos($_SERVER[HTTP_REFERER], $_SERVER[HTTP_HOST]) !== false) {
}
Może komuś się przyda.
Hej, to znów ja. Mam kolejny problem. Chcę stworzyć formularz, który będzie działał jako AJAX. Znalazłem skrypt tutaj:
http://funkcje.net/view/2/10/3294/index.htmlNiestety nijak nie mogę podpiąć go pod następujący formularz:
Kod
<form method="post" action="send.php">
<label>Mail</label>
<input name="mail" type="text" size="30" />
<input class="button" value="Wyślij" type="submit" />
Skrypt nie chce odczytać tego co znajduje się w polu tekstowym i po wysłaniu formularza działa jak powinno ale "mail nie wpisany".
Pawel_W
1.01.2010, 22:00:11
to może pokażesz jak podpiąłeś?
mperlam
1.01.2010, 22:05:12
Ok, jest w porządku. Ten kod nie obslugiwal formularzy post. Znalazłem inny i jest ok.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.