Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Automatyczne przeładowanie stronki.
Forum PHP.pl > Forum > PHP
paweln
Witam. Mam sobie skrypcik, który pobiera profile uzytkowników z bazy sql. Obok kazdego wczytanego usera jest pole checkbox po ktorego zaznaczeniu mozna usunac wybrane profile. Skrypt odwoluje sie do drugiego usun.php. Chodzi mi o to zeby po wykonaniu skryptu usun.php wyswietlila sie stronka z wyswietlonymi profilami ale przeladowana czyli bez usunietych profili, i zeby to sie zrobilo automatycznie bez odswiezania. I zeby nie wyskakiwal komunikat o ponownym wyslaniu informacji.
Mam nadzieje ze mnie ktos zrozumie smile.gif
eltrix
W usuń.php po tym jak wykonasz zapytanie do bazy dopisz:
[php:1:225e5ff93c]<?php
header('Location: profil.php'); // czy jak tam się skrypt nazywa
?>[/php:1:225e5ff93c]
Powinno pomóc
paweln
cosik takiego mi wyrzyca:
Warning: Cannot add header information - headers already sent by (output started at /var/www/html/wyswietl.php:12) in /var/www/html/usun.php on line 41
JOHNY
No wiesz bez kodu php to nikt nic tu nie pomoże same blędy nic nie mówią bez konktetnego php biggrin.gif
Seth
Header nie moze byc wyslany jezeli co kolewiek innego juz wyslales do rpzegladarki.
paweln
Nie da sie tego obejsc, badz rozwiazac w inny sposob ?
Seth
Mozna to zrobic przez JavaScript ale to juz inne forum winksmiley.jpg
paweln
probowalem przez java script, tylko że tam wywala znowu jakies bledy z bazy SQL sad.gif
Narg
Sprubuj dać na początku:
[php:1:6c2e498b3c]
<? ob_start(); ?>
[/php:1:6c2e498b3c]
i na końcu
[php:1:6c2e498b3c]
<? ob_end_flush(); ?>
[/php:1:6c2e498b3c]

a będziesz mógł wysyłać ciastka i headers'y nawet po wysłaniu tekstu do wyświetlenia.
paweln
Dzieki. Dziala tylko tak jak w javie jakis konflikt z bazą SQL. Może ktoś się z tym spotkał.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/uwierz.php on line 72




Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/html/uwierz.php on line 107
janek
Wygląda, że z wynikiem zapytania który przekazujesz do funkcji wypisanych w błędach jest coś nie tak. Sprawdz zapytanie!
s_w_ir
Nie koniecznie(ale u ciebie akurat tak:)) może też być tak że zpytanie ma pusty wynik że tak to nazwę. Mi często sie to zdarza podczas testów kiedy baza jest jeszcze pusta. Wystarczy przed zapytaniem dać @ 8)
janek
No fakt, jeżeli skrypt działa i są takie komunikaty to przyczyna jest taka jak piszesz :oops:
paweln
No nie wiem. Bo jesli klikne przycisk wstecz i recznie odswieze to jest wszystko oki, tzn pokazuje mi uzytkownikow ktorzy zostali, a usunietych nie. Błedy zwiazane z bazą wyskakują przy automatycznym przeladowaniu za pomocą header czy tez javy.
Sam juz nie wiem co mam zrobić.
Narg
Może wklej kod skryptu będzie nam łatwiej... 8)
s_w_ir
Chwila a usuwasz wszystkich użtkowników? bo jak tak to nie dostaniesz wyniku (np. że usunięto 10 userów) jeżeli zostaną usunięte wszystkie wpisy z tabeli bazy danych.
s_w_ir
A bawiłeś się z funkcjami obsługi błędów MySql, bo może rzeczywiście jest to błąd składni. Sprubuj tak. Wpisz tą funkcje[php:1:40cf982195]<?php
$MYSQL_ERRNO = '';
$MYSQL_ERROR = '';
function sql_error() {
global $MYSQL_ERRNO, $MYSQL_ERROR;
if(empty($MYSQL_ERRNO)) {
$MYSQL_ERRNO = mysql_errno();
$MYSQL_ERROR = mysql_error();
}
return "$MYSQL_ERRNO: $MYSQL_ERROR";
}
?>[/php:1:40cf982195]
a potem zrób tak:[php:1:40cf982195]<?php

$zapytanie=mysql_query(...);
if(!$zapytanie) die(sql_error());

?>[/php:1:40cf982195]
To Ci pomoże bo wykluczymy błędy składniowe i takie tam biggrin.gif

edit:
żeczywiście => rzeczywiście smile.gif
paweln
Wrzuce kod bo juz nie wiem co jest.
profil.php:
[php:1:32da06a94e]<?php
// dołączenie plików funkcji tej aplikacji
require_once("funkcje.php");
session_start();

//*** Proba logowania
if($login && $haslo)
{
if(loguj($login, $haslo))
{
// jeżeli użytkownik znajduje się w bazie danych rejestracja identyfikatora
$prawid_uzyt=$login;
session_register("prawid_uzyt");
}
else
{
// niepomyślne logowanie
tworz_naglowek_html("Problem:");
echo "Zalogowanie niemozliwe<br>"
." Nalezy byc zalogowanym aby ogladac te strone !";
tworz_html_url("index.php", "Logowanie");

tworz_stopke_html();
exit;
}
}

tworz_naglowek_html("Strona główna");

sprawdz_prawid_uzyt();

// tworzenie menu opcji
wyswietl_wynik();

wyswietl_menu_uzyt();

tworz_stopke_html();

?>[/php:1:32da06a94e]

uwierz.php:
[php:1:32da06a94e]<?php
require_once("bazy.php");

function rejestruj($login, $haslo, $email, $imie, $nazw, $adres, $tel, $nip, $regon)
// zarejestrowanie nowej osoby w bazie danych
// zwraca true lub komunikat o błędzie
{
// połączenie z bazą danych
$lacz=lacz_bd();
if(!$lacz)
return "Polaczenie z serwerem bazy danych MySQL bylo niemozliwe — prosze sprobowac "
."pozniej.";

// sprawdzenie, czy nazwa użytkownika nie powtarza się
$wynik=mysql_query("select * from uzyt where login='$login'");
if(!$wynik)
return "Zapytanie nieudane";
if (mysql_num_rows($wynik)>0)
return "Nazwa uzytkownika zajeta - prosze wrocic i wybrac inna.";

// jeżeli wszystko w porządku, umieszczenie w bazie danych

$wynik = mysql_query("insert into uzyt values ('$login', password('$haslo'),'$email','$imie','$nazw','$adres','$tel','$nip','$regon')");


if(!$wynik)
return "Rejestracja w bazie danych niemozliwa — prosze sprobowac pozniej.";

return true;
}

function loguj($login, $haslo)
// sprawdzenie nazwy użytkownika i hasła w bazie danych
// jeżeli się zgadza, zwraca true
// jeżeli nie, zwraca false
{
// połączenie z bazą danych
$lacz=lacz_bd();
if(!$lacz)
return 0;

// sprawdzenie unikatowości nazwy użytkownika
$wynik=mysql_query("select * from uzyt
where login='$login' and
haslo=password('$haslo')");


if(!$wynik)
return 0;

if(mysql_num_rows($wynik)>0)
return 1;
else
return 0;

}


function sprawdz_prawid_uzyt()
// sprawdzenie czy użytkownik jest zalogowany i powiadomienie go jeżeli nie
{
global $prawid_uzyt;
if(session_is_registered("prawid_uzyt"))
{
############ Implementacja Admin php ##############
if ($prawid_uzyt == Administrator)
{


$query = mysql_query("SELECT login, email, imie, nazw, adres, tel, nip, regon FROM uzyt ORDER BY login");
$n = "1";
$ile = mysql_num_rows($query);
echo "<font color = 3333cc><b>Liczba Zarejestrowanych Użytkowników w Bazie: $ile</b></font>";
echo "<br><br><br>";

?>
<table bordercolor = blue width = 100% >
<?

$pasek = "
<tr><td width = 90> Login </td>
<td width = 130> Email </td>
<td width = 60> Imie </td>
<td width = 80> Nazwisko </td>
<td width = 150> Adres </td>
<td width = 90> Telefon </td>
<td width = 95> NIP </td>
<td width = 80> Regon </td>
<td width = 9> Usun </td></tr>";
echo $pasek;

$pasek2 = "
<tr><td width = 90> </td>
<td width = 130> </td>
<td width = 60> </td>
<td width = 80> </td>
<td width = 150> </td>
<td width = 90> </td>
<td width = 95> </td>
<td width = 80> </td>
<td width = 9> </td></tr>";
echo $pasek2;
echo $pasek2;
?>
<form method=post action="usun.php">
<?
while(list($login, $email, $imie, $nazw, $adres, $tel, $nip, $regon) = mysql_fetch_row($query)) {
$tekst = "
<td width = 90> $login </td>
<td width = 130> $email </td>
<td width = 60> $imie </td>
<td width = 80> $nazw </td>
<td width = 150> $adres </td>
<td width = 90> $tel </td>
<td width = 95> $nip </td>
<td width = 80> $regon</td>
<td width = 9><input type = checkbox name="usun_mnie[]" value = "$login"></td>";
$n++;

for ($i=0;$i<count($tekst);$i++) {
$pole++;
if ($pole==1) { $kolor = "#eeeeee"; }
if ($pole==2) { $kolor = "#ccccff"; $pole=0; }
echo "<tr bgcolor=$kolor>".$tekst."</tr>";
}
}
?>
</table>
<br><br>
<center><input type=submit value="..:: Usun Zaznaczone Profile Uzytkownikow ::.."></td></tr></center>
</form>

<?
//tworz_stopke_html();
}
else
{
echo "<font color=#3333cc><b>";
echo "Witaj $prawid_uzyt !!!";
echo "</b></font>";
echo "<br>";
}
}
else
{
// nie jest zalogowany
tworz_tytul_html("Problem:");
echo "Brak zalogowania.<br>";
tworz_html_url("index.php", "Logowanie");
tworz_stopke_html();
exit;
}
}

?>[/php:1:32da06a94e]

usun.php:
[php:1:32da06a94e]<?php

require_once("bazy.php");
require_once("funkcje.php");

tworz_naglowek_html("Usuwanie Uzytkownikow");


// połączenie z bazą danych
$lacz=lacz_bd();
if(!$lacz)
return "Polaczenie z serwerem bazy danych MySQL bylo niemozliwe — prosze sprobowac pozniej.";
echo "<font color = 3333cc>";
echo "<b>Uzytkownicy Ktorzy zostali Usunieci z Bazy Danych: </b>";
echo "<br><br><ul>";
if(count($usun_mnie)>0)
{
foreach($usun_mnie as $login)
{

echo "<li>";
print $login;

$sql = mysql_query("DELETE FROM uzyt WHERE login='$login'");
$sql;
$blad = mysql_error();
echo $blad;

}
}
else
echo "<li>Nie wybrano zadnych profili do usuniecia";
echo "</ul>";
echo "</font>";

tworz_stopke_html();
header("Location: profil.php");

?>[/php:1:32da06a94e]
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.