Mam taki problem.
Mam formularz, w którym wypełnia się odpowiednie pola, tj. np. hasło, nick, email. Skrypt ten tworzy plik z danymi na moim komputerze. Robię to w ten sposób, że na zewnętrznym hostingu, na stronie umieszczam ramkę i w tej ramce skrypt, który znajduje się na moim komputerze na serwerze www. Jest to niewygodne, ponieważ gdy ktoś dojrzy ramkę, to może łatwo odnaleźć np. ip mojego komputera. Widziałem na niektórych stronach, że taki formularz normalnie jest na stronie, bez żadnych ramek, a pliki tworzy na jakimś prywatnym komputerze. Jak to zrobić?
Skrypt, który umieszczam w ramce na zew. stronie www:
<html> <head> <style type="text/css"> <!-- TD {FONT-SIZE: 13px; COLOR: #000000; FONT-FAMILY: tahoma} //--> </style> </head> <body> <? /*-------------Edit this----------------*/ $dir = 'D:\\abc\\sciezka_do_folderu_z_plikami'; /*--------------------------------------*/ if(!$_POST){ <div> <table width="400" border="0"> <tr> <td>Nazwa konta:</td> <td><input name=account type=text maxlength=10></td> </tr> <tr> <td>Hasło:</td> <td><input name=password type=password maxlength=10></td> </tr> <tr> <td>Powtórz hasło:</td> <td><input name=confirm type=password maxlength=10></td> </tr> <tr> <td>E-Mail:</td> <td><input name=email type=text></td> </tr> <tr> <td>Pytanie (gdyby? zapomniał hasła):</td> <td><input name=question type=text></td> </tr> <tr> <td>OdpowiedĽ:</td> <td><input name=answer type=text></td> </tr> <tr> <td><input name=submit type=submit value="Utwórz konto"></td> </tr> </table> </div> '; } else{ $account = $_POST['account']; $confirm = $_POST['confirm']; //$date = date('F d, Y g:i A'); $password = $_POST['password']; $email = $_POST['email']; $question = $_POST['question']; $answer = $_POST['answer']; $ip = $_SERVER['REMOTE_ADDR']; $ascii = ord($firstletter); $filename = $dir . '\\ASCII'.$ascii.'\\'.$account.'.txt'; if($account == '') { echo 'Konto nie zostało stworzone. Proszę podać nazwę konta.<br><a href="newacc.php">Powrót</a><br>'; } if($password == '') { echo 'Konto nie zostało stworzone. Proszę podać hasło.<br><a href="newacc.php">Powrót</a><br>'; } if($question == '') { echo 'Konto nie zostało stworzone. Proszę podać pytanie.<br><a href="newacc.php">Powrót</a><br>'; } if($answer == '') { echo 'Konto nie zostało stworzone. Proszę podać odpowiedĽ.<br><a href="newacc.php">Powrót</a><br>'; } elseif(file_exists($filename)) { echo 'Konto nie zostało stworzone. Podana nazwa już istnieje.<br><a href="newacc.php">Powrót</a><br>';} elseif($email == '') { echo 'Konto nie zostało stworzone. Proszę podać adres email.<br><a href="newacc.php">Powrót</a><br>';} elseif($password != $confirm) { echo 'Konto nie zostało stworzone. Hasło nie zgadza się z powtórzonym hasłem.<br><a href="newacc.php">Powrót</a><br>';} else{ $string = 'Account-generated: Time('.$date.') IP('.$ip.') [NAME] account-name = '.$account.' [PASSWORD] account-password = '.$password.' [ACCOUNT-STATUS] account-valid-time = 0 account-valid-date = 2003 4 5 account-change-password = 2003 3 29 [ETC] account-Gender = Male account-Age = account-Birth-Year = xxxx account-Birth-Month = xx account-Birth-Day = xx account-RealName = a account-SSN = aaaaa account-Email = '.$email.' account-Quiz = '.$question.' account-Answer = '.$answer.' account-created-by = [CHARACTERS] '; } } ?> <body> </html>
Pozdrawiam.
EDIT
Ok, wiem już jak przesłać dane z formularza do innego pliku. Zrobiłem jeden plik z wszystkim co jest powyżej, pomiędzy <form></form>, a drugi plik z tym co jest powyżej ale bez tego co jest w pierwszym pliku. Tyyylko że... po kliknięciu na przycisk przenosi mnie do drugiej strony... Plik się normalnie tworzy, ale przenosi mnie...
Tak zrobiłem: http://wklej.to/ETyI
I jeszcze jeden problem. Te wszystkie komunikaty, które są w drugim pliku ("Konto nie zostało... blabla") najlepiej jak by były w pierwszym pliku.
Ew. coś na takiej zasadzie: cały skrypt na stronie www, tylko że zamiast tworzyć plik to wysyła go na mój komputer (FTP raczej odpada, na pewno da się to jakoś inaczej rozwiązać).
No no, widzę tłumy znawców chętnych do pomocy...
Naprawdę nikt nie wie jak zastąpić tą linijkę:
kodem, który komunikował by się z innym skryptem znajdującym się na moim komputerze, który to z kolei utworzy ten plik?