Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS][PHP] Problem przy odświeżaniu strony
Forum PHP.pl > Forum > Przedszkole
nighttrain
Witam,

W moim skrypcie PHP, dzięki, któremu mogę usuwać dane przy każdym zatwierdzeniu na buttonik pojawia sie komunikat "Dane zostały uaktualnione".
Problem jest wtedy, gdy po operacji usunięcia z czegoś z bazy i pojawieniu sie komunikatu JS, gdy kliknę Odśwież sobie stronę to pokazuje mi się ponownie ten komunikat i tak w kółko. jak to naprawić.
prosze o pomoc.

Oto kodzik JS (banalny), nazwa: alertdaneuaktualnione:
Kod
alert("Dane zostały uaktualnione!");


Oto kod PHP, w którym dołączony jest kod
Kod
<?php include "top.php"; ?>
<?php

//==============POŁĄCZENIE Z BAZĄ DANYCH

$msql = mysql_connect('localhost', 'root', 'qazwsx');
mysql_select_db('komputery');
mysql_query("SET NAMES 'utf8'");

//==============ELEMENTY GRAFICZNE HTML'a

echo("<center>");
echo "<table bordercolor=\"RED\" cellpadding=\"7\" border=1>";
echo("<tr>");
echo("<h1>");
echo("<FONT COLOR=\"#800517\"><b>MODUŁ USUWANIA PROGRAMÓW</b></FONT>");
echo("</h1>");
echo("<td BGCOLOR=\"gray\"><FONT COLOR=\"white\"><b>Proszę wybrać z tabelki poniżej program, który chcemy wykasować z naszej bazy oraz kliknąć 'WYKASUJ WPIS'</b></FONT></td><br />");
echo("</tr>");
echo "</table>";
echo("<br /><br />");


//==============SEKCJA IMPLEMENTACJI KODU DLA DEL DLA POWYŻEJ

$a = trim($_GET['a']);
$id_programu = trim($_GET['id_programu']);

if($a == 'del' and !empty($id_programu)) {

//==============USUWAMY REKORD
    if (mysql_query("DELETE FROM oprogramowanie WHERE id_programu='$id_programu'")) {

    echo '<script type="text/javascript" src="skrypty_java/alertdaneuaktualnione.js"></script>';
}
}
//==============SEKCJA IMPLEMENTACJI KODU DLA SAVE Z UKRYTEGO POLA W FORMULARZU

if($a == 'save' and !empty($id_programu)) {

//==============ZAPYTANIE DO TABELI

  $wynik = mysql_query("SELECT * FROM oprogramowanie WHERE id_programu='$id_programu'") or die('Blad zapytania');

//==============WYŚWIETLAMY WYNIKI, SPRAWDZAMY, CZY ZAPYTANIE ZWRÓCIŁO WARTOŚĆ > 0

    if(mysql_num_rows($wynik) > 0) {

//==============ODCZYTUJEMY ZAWARTOŚĆ WIERSZA Z TABELI

        $r = mysql_fetch_assoc($wynik);

//==============WCZYTUJE DANE DO FORMULARZ
            echo '<form action="usunoprogramowanie.php" method="post">
            <input type="hidden" name="a" value="save" />
            <input type="hidden" name="id" value="'.$id_programu.'" />
            <input type="text" name="id_programu" value="'.$r['id_programu'].'" />
            <input type="text" name="nazwa_programu" value="'.$r['nazwa_programu'].'" />
            <input type="text" name="system_operacyjny" value="'.$r['system_operacyjny'].'" />
            <input type="image" src="graphics/Kopia button_uaktualnij.jpg" alt="Wyslij" value="popraw">
            </form>';
    }
}
$sortowanie="";
if(isset($_GET['order'])){
   $sortowanie = $_GET['order'];

switch($sortowanie){
case "nazwa":
       $sql_sortowanie = " order by nazwa_programu";
break;
case "wersja":
       $sql_sortowanie = " order by system_operacyjny";
break;
}
}
$sql = "SELECT *
              FROM oprogramowanie";

if($sortowanie!=""){
$sql .= $sql_sortowanie;
}

$wynik = mysql_query($sql) or die('Blad zapytania');

//WYSWIETLENIE WYNIKOW  JESLI TABELA POSIADA CHOC JEDEN REKORD > 0

if(mysql_num_rows($wynik) > 0) {

    echo "<table cellpadding=\"0\" cellspacing=\"0\" border=1>";
    echo "<center><tr><td colspan=4 bgcolor=\"#a7a7a7\"><b>Tabela oprogramowanie</b></td></tr></center>";
    echo "<tr class='colheader'><th nowrap class='colheader' valign='top' align='left'>Operacja</th>";
    echo "<th nowrap class='colheader' valign='top' align='left'><a href='http://localhost/usunoprogramowanie.php?order=nazwa'>Nazwa programu</a></th>";
    echo "<th nowrap class='colheader' valign='top' align='left'><a href='http://localhost/usunoprogramowanie.php?order=wersja'>Wersja programu</a></th>";
    echo "</tr>";

while($r = mysql_fetch_assoc($wynik)) {

    echo "<tr>";
    echo "<td>";
    echo "<a href=\"usunoprogramowanie.php?a=del&amp;id_programu={$r['id_programu']}\">WYKASUJ WPIS</a></td>";
    echo "<td>".$r['nazwa_programu']."</td>";
    echo "<td>".$r['system_operacyjny']."</td>";
    echo "</tr>";
                 }
    echo "</table>";
}
?>
nospor
Problem poruszany milion razy, problem opisany w przypiętym temacie... a mimo wszystko nadal o to pytają...
http://forum.php.pl/index.php?showtopic=44...t=0&start=0

ps: twoj problem nie ma zadnego związku z JS
nighttrain
uważam, że były 3 najleprze opcje do wyboru ze wszystkich jakie zostały przedstawione w tym wątku tzn. Twój nospor, ten z sesiami, oraz z zaladowaniem stronki, który wybrałem,a konkretnie:
  1. alert("Dane zostały uaktualnione");
  2. function init(){
  3. setTimeout('document.location="http://localhost/usunoprogramowanie.php"', 0);
  4. }
  5. window.onload=init;


Mam jeszcze jedno pytanko, chciałbym, aby przed nacisnięciem opcji usuwania wiersza, JS zapytał mnie, czy na pewno, otóż wiem jak wygląda składnia:
  1. function confirmSubmit() {
  2. if (confirm("Czy jesteś pewien tego kroku?")) return true;
  3. else return false;
  4. }


W formularzu wiem, gdzie powinno to mieć miejsce jednak tutaj mam odniesienie do linku:
  1. echo "<a href=\"usunrelacyjna.php?a=del&amp;id={$r['id']}\">WYKASUJ WPIS</a></td>";

gdzie tu przypiac taki kodzik JS?

pozdrawiam, dziekuję za dotychczasową pomoc
nospor
onclick="return confirmSubmit();"
nighttrain
Tak, to też wiem, chodzi mi o miejsce, gdzie ma być ten kod nospor winksmiley.jpg
nospor
No jak to gdzie? w A. Niby wiesz a pytasz się o taką rzecz. To jednak nie wiesz tongue.gif
  1. echo "<a href=\"usunrelacyjna.php?a=del&amp;id={$r['id']}\" onclick=\"return confirmSubmit();\">WYKASUJ WPIS</a></td>";
nighttrain
ok działa, mam jeszcze jedną prośbę, nie mogę znależć fanta dlaczego nie działa mi pytanie w 1 skrypcie, natomiast w 2 dziala. Szukam logicznie błędu, ale go nie widze chodzi o zdarzenie confirmSubmit.js :
  1. function confirmSubmit() {
  2. if (confirm("Czy jesteś pewien tego kroku?")) return true;
  3. else return false;
  4. }

A to jeszcze jeden skrypt JS: ten od dodanokomputer.js
  1. alert("Dodano nową stację roboczą!");


oraz dodanoprogram.js:
  1. alert("Dodano nowy program!");


Pokaże kod pierwszy, w którym wszystko działa cacy:
  1. <?php
  2.  
  3. $msql = mysql_connect('localhost', 'root', 'haslo');
  4. mysql_select_db('komputery');
  5.  
  6. echo("<FONT COLOR=\"#800517\"><b>MODUŁ DODAWANIA NOWEJ RELACJI KOMPUTER-PROGRAM</b></FONT>");
  7.  
  8. echo("<h2><b>Lista rozwijalna I- Komputery</b></h2><br />");
  9.  
  10. echo '<script type="text/javascript" src="skrypty_java/validateformdoddotabrel.js"></script>';
  11. echo '<script type="text/javascript" src="skrypty_java/confirmSubmit.js"></script>';
  12.  
  13. echo '<form action="" method="post" onsubmit="return (validateformdoddotabrel(this) && confirmSubmit());">
  14. <select STYLE="width: 230px" name="id">
  15. <option value="">Wybierz komputer:</option>';
  16.  
  17. $res = mysql_query('select id, nazwa_komputera from komputery ORDER by nazwa_komputera');
  18. while ($row = mysql_fetch_assoc($res))
  19. echo '<option value="'.$row['id'].'"'.($row['id'] == $_GET['id'] ? ' selected="selected"' : '').'>'.$row['nazwa_komputera'].'</option>';
  20. echo '</select>';
  21. echo("<h2><b>Lista rozwijalna II- Programy i wersje</b></h2><br />");
  22. <select STYLE="width: 230px" name="id_programu">
  23. <option value="">Wybierz program:</option>';
  24.  
  25. $res = mysql_query('select id_programu, nazwa_programu, system_operacyjny from oprogramowanie ORDER BY nazwa_programu');
  26. while ($row = mysql_fetch_assoc($res))
  27. echo '<option value="'.$row['id_programu'].'"'.($row['id_programu'] == $_GET['id_programu'] ? ' selected="selected"' : '').'>'.$row['nazwa_programu'].' '.$row['system_operacyjny'].'</option>';
  28. echo '</select>';
  29. echo '<input type="image" src="graphics/button_dodaj_rela.jpg" alt="Wyslij" value="OK"><br /><br />';
  30. echo '</form><br />';
  31. echo ("</center>");
  32.  
  33.  
  34. $id = $_POST['id'];
  35. $id_programu = $_POST['id_programu'];
  36.  
  37. if($id and $id_programu) {
  38.  
  39. $msql = mysql_connect('10.2.1.220', 'root', 'qazwsx');
  40. mysql_select_db('komputery');
  41.  
  42. $ins = @mysql_query("INSERT INTO rel_komputer_oprogramowanie SET komputer_id='$id', program_id='$id_programu'");
  43. if($ins) {
  44.  
  45. echo '<script type="text/javascript" src="skrypty_java/dodanorelacje.js"></script>';
  46. echo '<script type="text/javascript" src="skrypty_java/reloadsite.js"></script>';
  47. }
  48. else echo '<script type="text/javascript" src="skrypty_java/reloadblad.js"></script>';
  49. }
  50. ?>


A to drugi, gdzie od razu pojawia sie okno w kolejności drugie JS , że "dodano program" bez tego pytania:
  1. <?php
  2.  
  3. $msql = mysql_connect('localhost', 'root', 'haslo');
  4. mysql_select_db('komputery');
  5. $query = mysql_result(mysql_query("SELECT MAX(id_programu) FROM oprogramowanie"), 0);
  6. $liczba = $query + 1;
  7.  
  8. echo("<FONT COLOR=\"#800517\"><b>MODUŁ DODAWANIA NOWEGO PROGRAMU</b></FONT>");
  9.  
  10. echo '<script type="text/javascript" src="skrypty_java/validateformdoddotabprog.js"></script>';
  11. echo '<script type="text/javascript" src="skrypty_java/confirmSubmit.js"></script>';
  12.  
  13. echo '<form action="" method="post" onsubmit="return (validateformdoddotabprog(this) && confirmSubmit());">
  14. <h2>Prosze wypełnić pola poniżej:</h2><br />
  15. <input type="hidden" name="id_programu" value="'.$liczba.'" /><br />
  16. <b>Nazwa programu :</b><br />
  17. <input type="text" size="45" name="nazwa_programu"><b> *</b><br />
  18. <b>Wersja programu :</b><br />
  19. <input type="text" size="45" name="system_operacyjny"><br />
  20. <input type="image" src="graphics/button_dodaj_opro.jpg" alt="Wyslij" value="dodaj"><br /><br />
  21. </form>';
  22.  
  23. $id_programu = $_POST['id_programu'];
  24. $nazwa_programu = $_POST['nazwa_programu'];
  25. $system_operacyjny = $_POST['system_operacyjny'];
  26.  
  27. if($id_programu and $nazwa_programu) {
  28.  
  29. $ins = @mysql_query("INSERT INTO oprogramowanie SET id_programu='$id_programu', nazwa_programu='$nazwa_programu', system_operacyjny='$system_operacyjny'" );
  30. if($ins) {
  31.  
  32. echo '<script type="text/javascript" src="skrypty_java/dodanoprogram.js"></script>';
  33. echo '<script type="text/javascript" src="skrypty_java/reloadsite.js"></script>';
  34. }
  35.  
  36. else echo '<script type="text/javascript" src="skrypty_java/reloadblad.js"></script>';
  37. }
  38. ?>


Jak możesz to looknij dzięki
hey
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.