Konwertowanie PHP na JavaScript


(Mateuszo997) #1

Witam. Moglby mi ktos pomoc zmienic skrypt PHP na JavaScript w taki sposob aby zamiast ECHO wyswietlany byl alert?

Oto skrypt:

<?php

//Jeżeli żadne z okienek nie jest zaznaczone, wyświetl "Wybierz jedna z opcji"

	if(($_POST['Check1']=='') && ($_POST['Check2']=='')){

	echo "Wybierz jedną z opcji!";

	exit();

	}

//Jeżeli oba okienka sa zaznaczone, wyświetl "wybrales dwie opcje"

	else{

	if(($_POST['Check1'] == 'on') && ($_POST['Check2'] == 'on')){

	echo "Wybrałeś dwie opcje a możesz tylko jedną!";

	exit();

	}

/*Jeżeli jakiekolwiek pole (z nickiem) jest puste, wyświetl

"nie wypełniłeś..." */

	if($_POST['Nick']==''){

	echo "Nie wypełniłeś wszystkich pól formularza!";

	exit();

	}

/*Jeżeli okienko przy liście jest zaznaczone a na liście nie ma nic wybranego,

wyświetl komunikat "Skoro zaznaczyłeś okienko, wybierz coś z listy."*/

	if(($_POST['Check1']=='on') && ($_POST['Twoj_bux']=='')){

	echo "Skoro zaznaczyłeś okienko, wybierz coś z listy!";

	exit();

	}

/*Jeżeli okienko przy polu tekstowym jest zaznaczone a nie jest w nim nic wpisane,

wyświetl komunikat "Skoro zaznaczyłeś okienko, wpisz coś w pole tekstowe."*/	

	if(($_POST['Check2']=='on') && ($_POST['Inny']=='')){

	echo "Skoro zaznaczyłeś okienko, wpisz co¶ w pole tekstowe!";

	exit();

	}

/*Jeżeli okienko przy liście wyb. jest zaznaczone wyświetl pozycję z listy

wyb. A jeżli nie jest zaznaczone to okienko natomiast jest zaznaczone okienko przy 

wpisywaniu swoich buxów, wyświetl zawartość tego wpisanego*/

	if((! $_POST['Check2'] == 'on') && ($_POST['Twoj_bux'] !== '')){

	echo "Twój link to:
 http://www." .$_POST['Twoj_bux'];

	}

	else{

	echo "Twój link to:
 http://www." .$_POST['Inny'];

		}

	echo "/?r=" .$_POST['Nick'];

	}

?>

(adpawl) #2

zamiast

echo "tutaj treść komunikatu";

dać:

echo '';

:wink:


(Mateuszo997) #3
<?php

//Jeżeli żadne z okienek nie jest zaznaczone, wyświetl "Wybierz jedna z opcji"

	if(($_POST['Check1']=='') && ($_POST['Check2']=='')){

				echo '';

	exit();

	}

//Jeżeli oba okienka sa zaznaczone, wyświetl "wybrales dwie opcje"

	else{

	if(($_POST['Check1'] == 'on') && ($_POST['Check2'] == 'on')){

  	     			echo '';

	exit();

	}

/*Jeżeli jakiekolwiek pole (z nickiem) jest puste, wyświetl

"nie wypełniłeś..." */

	if($_POST['Nick']==''){

					echo '';

	exit();

	}

/*Jeżeli okienko przy liście jest zaznaczone a na liście nie ma nic wybranego,

wyświetl komunikat "Skoro zaznaczyłeś okienko, wybierz coś z listy."*/

	if(($_POST['Check1']=='on') && ($_POST['Twoj_bux']=='')){

	            echo '';

	exit();

	}

/*Jeżeli okienko przy polu tekstowym jest zaznaczone a nie jest w nim nic wpisane,

wyświetl komunikat "Skoro zaznaczyłeś okienko, wpisz coś w pole tekstowe."*/	

	if(($_POST['Check2']=='on') && ($_POST['Inny']=='')){

	            echo '';

	exit();

	}

/*Jeżeli okienko przy liście wyb. jest zaznaczone wyświetl pozycję z listy

wyb. A jeżli nie jest zaznaczone to okienko natomiast jest zaznaczone okienko przy 

wpisywaniu swoich buxów, wyświetl zawartość tego wpisanego*/

	if((! $_POST['Check2'] == 'on') && ($_POST['Twoj_bux'] !== '')){

	            echo '';

	}

	else{

	            echo '';

		}

	            echo '';

	}

?>

Nie działa...


(Spam) #4

JavaScript nie odczytuje danych przekazywanych metodą POST w taki sposób, w jaki jest to rozwiązane w PHP. Musisz odszukać elementy formularza w drzewie DOM i odczytać ich wartość (artybut „value”) w momencie wysłania (zdarzenie „submit”).

Ponieważ przekształcenie tego skryptu to trochę więcej pisania, a na dodatek potrzebne będzie źródło HTML, możesz spróbować przepisać kod samemu:

http://www.google.com/search?q=javascri ... validation

Jeśli masz problemy z pisaniem kodu w JavaScript, skorzystaj z dostępnych darmowych frameworków, np. jQuery. Pamiętaj także, że walidacja formularzy po stronie użytkownika to tylko ułatwienie dla odwiedzających. Bezwględnie musisz sprawdzać poprawność wprowadzonych danych po stronie serwera – zawsze.


(Mateuszo997) #5

Fajnie że wiem o co chodzi ;]

Mógłbyś mi podać jakieś konkretne wskazówki?


(Spam) #6

Przecież masz dosłownie ogrom przykładów.


(adpawl) #7

A widziałeś jak w moim przykłądzie wygląda zapis alertu? chyba było tam coś w stylu \' -no nie?

Zobacz, może się nigdzie nie walnąłem:

<?php

//Jeżeli żadne z okienek nie jest zaznaczone, wyświetl "Wybierz jedna z opcji"

   if(($_POST['Check1']=='') && ($_POST['Check2']=='')){

            echo '';

   exit();

   }

//Jeżeli oba okienka sa zaznaczone, wyświetl "wybrales dwie opcje"

   else{

   if(($_POST['Check1'] == 'on') && ($_POST['Check2'] == 'on')){

                   echo '';

   exit();

   }

/*Jeżeli jakiekolwiek pole (z nickiem) jest puste, wyświetl

"nie wypełniłeś..." */

   if($_POST['Nick']==''){

               echo '';

   exit();

   }

/*Jeżeli okienko przy liście jest zaznaczone a na liście nie ma nic wybranego,

wyświetl komunikat "Skoro zaznaczyłeś okienko, wybierz coś z listy."*/

   if(($_POST['Check1']=='on') && ($_POST['Twoj_bux']=='')){

               echo '';

   exit();

   }

/*Jeżeli okienko przy polu tekstowym jest zaznaczone a nie jest w nim nic wpisane,

wyświetl komunikat "Skoro zaznaczyłeś okienko, wpisz coś w pole tekstowe."*/   

   if(($_POST['Check2']=='on') && ($_POST['Inny']=='')){

               echo '';

   exit();

   }

/*Jeżeli okienko przy liście wyb. jest zaznaczone wyświetl pozycję z listy

wyb. A jeżli nie jest zaznaczone to okienko natomiast jest zaznaczone okienko przy 

wpisywaniu swoich buxów, wyświetl zawartość tego wpisanego*/

   if((! $_POST['Check2'] == 'on') && ($_POST['Twoj_bux'] !== '')){

               echo '';

   }

   else{

               echo '';

      }

               echo '';

   }

?>