Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze skryptem php
Forum PHP.pl > Forum > Przedszkole
Master Miko
Jest to skrypt "pasek.inc", który dołączany jest przez include do pliku "galeria.php"
Ma on pokazywać opcje do wybrania różnych galerii które zawarte są w tabeli mysql rozpisanej poniżej.

  1. <form action="galeria2.php" method="get" name="GalleryForm">
  2.  
  3. <?php
  4.     if (isset($_GET['id'])) { $tempq = ($_GET['id']); } else {  $tempq = 0;    }
  5. ?>
  6.  
  7. <select name="id" onchange="JavaScript:document.GalleryForm.submit();" width="70%">
  8.  
  9. <option value="0" <?php if($tempq == 0) echo "selected"; ?>> >>>>> Wybierz Galerię <<<<<
  10.  
  11.  
  12. <?php
  13.  
  14.     require_once ('db_connect.php'); // Połączenie z bazą danych. 
  15.  
  16.         $query = "SELECT * FROM galerie ORDER BY id ASC";  // 
  17.         $result = @mysql_query ($query); // Wykonanie zapytania
  18.  
  19.  
  20.  
  21.             while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  22.  
  23.  
  24.             $idROW = $row['id'];
  25.             $tytulROW = "{$row['tytul']}";
  26.  
  27.             echo "<option value="$idROW"";  
  28.  
  29.             if($tempq == $idROW) { echo "selected"; }; 
  30.  
  31.             echo ">" . $tytulROW . "n";
  32.  
  33.             }
  34.     
  35. ?>
  36. </select>
  37.  
  38. </form>


To był mój skrypt, a oto mój problem:

Pokazują mi się pola id=2 i id=3 lecz nie pojawia mi się id=1 worriedsmiley.gif
Nie mam pojęcia dlaczego tak się dzieje..

Tabela Mysql:

id | opis1 | opis2 | tytul | liczba_zdjec | data


btw. Co należałoby wstawić jeszcze, żeby skrypt ten był bezpieczny, zabezpieczony i poprawny w sensie dobrego programisty? tongue.gif
nospor
  1. <?php
  2. $result = @mysql_query ($query); // Wykonanie zapytania
  3. $row = mysql_fetch_array($result, MYSQL_ASSOC); // pobieramy dane do array
  4. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
  5. ?>
problem stary jak swiat. najpierw pobierasz jeden rekord. nic z nim nie robisz. dopiero potem w petli pobierasz pozostale i je wyswietlasz. nie dziw sie ze ci rekordu brakuje
Master Miko
O BOŻE JUŻ ZAUWAŻYŁEM ohmy.gif ohmy.gif ohmy.gif

POWTARZA SI LOL! jak kopiowałem z drugiego polecenia to w ogóle tego nie zauważyłem... za dużo rzeczy rrobiłem naraz...

Skrypt poprawiony na górze...
LBO
juz dostales odpowiedz od nospora, nawet kod php...

usun linijke
  1. <?php
  2. $row = mysql_fetch_array($result, MYSQL_ASSOC); // pobieramy dane do array
  3. ?>


to ona odpowiadala za pobranie rekordu, a poniewaz nie wyciagales z niej danych, stad zgubiona rekord o id=1
Master Miko
Tak to już zauważyłem... (omg ale ze mnei noob biggrin.gif ) dziękuję

Teraz druga część pytania:
Co należałoby wstawić jeszcze, żeby skrypt ten był bezpieczny, zabezpieczony i poprawny w sensie dobrego programisty?
LBO
SQL Injection/Insertion
Bezpieczeństwo skryptów php

nic dodać, nic ująć tongue.gif
Master Miko
Dziękuję Ci bardzo za pomoc, napewno skorzystam winksmiley.jpg
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.