Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][MySQL][PHP]dlaczego okienko się nie pokazuje?
Forum PHP.pl > Forum > Przedszkole
slawekkace
Kod
$pseud = mysql_fetch_array(mysql_query("SELECT pseudonim FROM surf_users WHERE user='".$_SESSION['user']."'  "));                
if(empty($pseud['pseudonim'])){
                             $nick = mysql_num_rows(mysql_query("select * from surf_users where pseudonim='".$_POST['pseudo']."' limit 1"));
                            if($nick > 0){echo"<script type='text/javascript'>window.alert('Ten nick jest juz zajęty wybierz inny!');document.location.href = 'logowanie.php';</script>";
                                                }              
else mysql_query("UPDATE surf_users SET pseudonim='".$_POST['pseudo']."' WHERE user='".$_SESSION['user']."'  ");              
                              }
            header('location: konto.php');


gdy podamy nick który już jest w bazie nie zapisze go do bazy ale nie pokazuje się okienko "Ten nick jest już zajęty wybierz inny!" tylko przechodzi do konta bez ustawienia nicku. ktoś wie co robie źle??
mortus
Zapoznaj się z tematem Jak poprawnie zadać pytanie, a w szczególności z sekcją Wykonywanie zapytań do bazy danych.

Kod na forum umieszczaj w odpowiednich znacznikach (przyciski w oknie edycji wiadomości).

BTW: Po co w to mieszać JavaScript?
slawekkace
nie znam innego sposobu na wyświetlenie okienka jak javascript.
jeśli chodzi o zapisanie nicka do bazy to wszystko działa jak należy(zapytania do bazy danych),
jedyny problem to wyświetlenie tego okienka które poinformuje że nick jest zajęty, a po kliknięciu ok w okienku ponowne wczytanie strony logowanie.php
mortus
W ogóle nie jest to najlepszy pomysl, jeżeli chodzi o walidację formularza. Wpisz w wyszukiwarce na tym forum frazę "walidacja formularza", a powinieneś znaleźć kilka dobrych rozwiązań. Zalecam przyjrzeć się tym rozwiązaniom.

Co do problemu, to takich rzeczy nie powinno się robić. Jak ktoś nawet niechcący wyłączy obsługę JS, to nie będzie wiedział co się dzieje. Problem da się rozwiązać. Trzeba tylko uruchomić funkcję JS po załadowaniu strony wygenerowanej przez PHP. Wyglądałoby to mniej więcej tak:
[JAVASCRIPT] pobierz, plaintext
  1. function showMessage() {
  2. alert('Ten nick jest już zajęty');
  3. document.location.herf = 'logowanie.php';
  4. }
  5. window.onload = showMessage;
[JAVASCRIPT] pobierz, plaintext

I taki właśnie lub podobny skrypt należałoby wygenerować.
Jednak nie zalecam takiego rozwiązania i zdecydowanie zalecam przyjżeć się innym sposobom rozwiązania problemu walidacji pól formularza.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.