Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z formularzem
Forum PHP.pl > Forum > PHP
easyshare
<?php

if (isset($_POST['submit'])) { // Obsługa formularza.
if (empty($_POST['ip_address'])) {
$ip = FALSE;
echo "Wpisz adres IP !";
} else {
$ip = $_POST['ip_address'];
}
}
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0">
<tr>
<td>Wpisz adres IP: </td>
<td><input type="text" name="ip" size="15" maxlength="20" value="<?php if (isset($_POST['ip_address'])) echo $_POST['ip_address']; ?>" /></td>
<td><div align="center"><input type="submit" name="submit" value="Ustaw" /></div></td>
</tr>
</table>
</form>

Wprowadzając jakieś dane do formularza i wyświetlając zmienna $ip jednocześnie skrypt wyświetla informację aby wprowadzić IP , co jest nie tak ?
delfinium
Masz źle nazwane pole, powinno być
  1. <input type="text" name="ip_address" ...

a masz
  1. <input type="text" name="ip" ...


Przez to zmienna $_POST['ip_address'] zawsze jest pusta bo coś takiego nie istnieje.
easyshare
oczywiście masz racje, ojj długa droga przede mną w programowaniu w php smile.gif ,dzięki za pomoc, zmarnowałem godzinę czasu przez ten błąd.

Kod
<?php

if ($_SESSION['ipaccess'] == '*') {
         echo "Dostęp do serwera FTP jest możliwy z każdego adresu IP";
         } else {
         echo "Dostęp do serwera FTP jest możliwy z adresu <b>$_SESSION[ipacces]</b>";
         }

if (isset($_POST['submit'])) { // Obsługa formularza.
         if (empty($_POST['ip_address'])) {
                 $ip = FALSE;
                 echo "Wpisz adres IP lub * !";
         } else {
                 $ip = $_POST['ip_address'];
         }
if ($ip) {
         $querry = "UPDATE users SET ipaccess=$ip WHERE user_id=$_SESSION[user_id]";
         $result = @mysql_query ($guery);
         if (mysql_affected_rows() == 1 ) { // Jesli nie wystąpiły żadne problemy
         echo "Zmieniono ustawienia dostępu IP";
         } else {
         echo "Ze względu na wystapienie błedu systemowego zmiana nie była możliwa";
         }
}
}
?>


Pomoże ktoś znaleźć błąd ?
delfinium
Nie zmuszaj do bawienia się we wróżkę, napisz w czym jest błąd.
easyshare
Kod
$querry = "UPDATE users SET ipaccess=$ip WHERE user_id=$_SESSION[user_id]";
         $result = @mysql_query ($guery);

źle zadeklarowana zmienna.

Mam jeszcze jeden problem. Zmiennej IP przypisywany jest adres IP w postaci xxx.xxx.xxx.xxx . Jak zapisać to zapytanie żeby było wykonane prawidłowo. Jeśli zmienna zawiera . to otrzymuje błąd.
delfinium
Próbujesz zapisać string a brakuje uszu:)

  1. $querry = "UPDATE users SET ipaccess='$ip' WHERE user_id={$_SESSION['user_id']}";
easyshare
chodzi tutaj o zmienną $ip Kiedy do formularza wprowadzę np 192.168 to zapytanie jest wykonane prawidłowo,, jeśli pełny adres czyli 192.168.1.1 występuje błąd w zapytaniu , nie wiem dlaczego tak się dzieje :/
mario_salsa
moze jest za male pole w bazie danych i nie miesci sie wprowadzona wartosc
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.