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'];
}
?>
<?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 '';
}
?>
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:
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.
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 '';
}
?>