Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >

dublinka
Napisane: 2.11.2019, 13:21:35





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Nie

  1.  
  2. <?
  3.  
  4.  
  5. ?>


tylko

  1. <?php
  2.  
  3.  
  4. ?>


Najprawdopodobnie tu lezy problem jesli nic sie nie wyswietla.


Cytat(viking @ 2.11.2019, 11:26:59 ) *
A co robi funkcja test_input?


To jest f. z jego linku

https://pastebin.com/y61Wfrie
  Forum: Przedszkole · Podgląd postu: #1247369 · Odpowiedzi: 7 · Wyświetleń: 233

dublinka
Napisane: 2.11.2019, 08:22:43





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Ten przyklad zwyczajnie wyswietla to co zostalo wyslane formularzem
Wartosc domyslna przypisujesz sprawdzajac czy pole zawiera wartosc. Jesli nie to wyswietlasz czy tam prztpisujesz jakiejs zmiennej wartosc jaka chcesz.

  1. $wartosc = (empty(trim($_POST['pole']))) ? "Nowa wartosc" : $_POST['pole'];
  2.  
  3. print $wartosc;


Co do checkbox to sprawdzasz nazwe pola jak w kazdym formularzu. Jesli zostslo zaznaczone to zwroci true jesli nie to nie.

  1. <input type='checkbox' name='feeling' value='ok'>


  1. <?php
  2. if( empty($_POST["feeling"]) ) { echo "Checkbox was left unchecked."; }
  3. else { echo "Checkbox was checked."; }
  4. ?>


3. A po co take kombinacje. I tak przegladarka to wyswietli tak samo
  Forum: Przedszkole · Podgląd postu: #1247364 · Odpowiedzi: 7 · Wyświetleń: 233

dublinka
Napisane: 3.11.2019, 14:26:04





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Cytat(xardas001 @ 3.11.2019, 12:21:22 ) *
Fakt, poprawione, ale nie wiem o co chodzi z <?, a <?php.. Czy jak się programuje w php, to należy podać albo <?, albo <?php? Czy ma to jakieś inne zastosowanie?

Kiedys wystarczylo podac <? teraz trzeba dodac php.
Nie ma tu sie nad czym zastanawiac. Tak jest i tyle.

To są znaki ktore sięstosuje kiedy oznaczamy poczatek i koniec kodu. Ty niepotrzebnie otwieraszz, zamykasz, otiwerasz i zamykasz. Jesli plik zawiera tylko kod php to wystarczy raz to zrobic.
  Forum: Przedszkole · Podgląd postu: #1247383 · Odpowiedzi: 7 · Wyświetleń: 233

dublinka
Napisane: 20.10.2019, 03:27:28





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Podczas dodania rekordu ustaw sesje (tuz po) a przed dodaniem sprawdz czy istnieje. Jesli istnieje to przekieruj klienta gdziestam lub wyswietl stosowne info. Sama sesje ustaw na jakis konkretny czas chocby 1 minute. Podczas sprawdzania porownaj aktualny czas z sesja. Samą sesje usun tuz przed update.

Czyli:

Warunek spradzajacy czy aktualny czas jest "wiekszy" od tego w sesji. Jesli jest mniejszy znaczy ze sesja trwa mniej niz minute u dajesz jakies info z exit-em.
Jesli jest wiekszy usuwasz te sesje tuz przed dodaniem do bazy.

[ UPDATE ]


ustawienie sesji z czasem.

  1. $_SESSION['time'] = (time()+ 60);


Tyle.


Dodatkowo wylacz submit po klikneciu.

  1. <input type="submit" onclick="this.disabled='disabled'"/>
  Forum: Przedszkole · Podgląd postu: #1247146 · Odpowiedzi: 9 · Wyświetleń: 300

dublinka
Napisane: 12.10.2019, 09:04:10





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Cytat(dentopolis @ 11.10.2019, 12:40:33 ) *
  1. <input type='submit' name='submit' value='submit'>";


dane wpisane w polu na stronie http://dentopolis.org/test/ są odczytywane na stronie http://dentopolis.org/test/dokumentacja.php
ale chciałbym aby te wartości wypełniały też pola input


czyli użytkownik wchodząc na stronę powinien pewne pola mieć domyślnie wypełnione jakimiś wartościami, a potem je móc modyfikować. Jeśli rozumiem to pole input powinno mieć value (wartość ) z sesji
  1. echo "<td><input type='text' style='text-align:center;' name='rightuppereight' value='$rightuppereight' size='1'></td>";

Jesli zaczniesz czytac ze zrozumieniem to tak bedzie.
Pole submit nie ma nazwy. Warunek ktory zacytowalem sprawdza najpierw czy te pole ma wartosc ale to sie robi odwolujac do nazwy. Submit bo tak sobie ktos w tym warunku nazwal nie znaczy ze odwolujesz sie do typu pola. Musisz dodac nazwe. W tym momencie jest to 'submit'.

Ten przyklad jest troche bez sensu bo najpierw sprawdzasz (na chlopski rozum) czy wcisneles submit a co za tym idzie formularz zostal wyslany. Tyle ze samo wyslanie formularza nie jest jednoznaczne z tym ze wypelniles pola a w tym momencie warunek brzmi:

"Jesli zostal wyslany form to zarejestrowac sesje" Tyle ze nie ma wartosci z pola wiec co tu rejestrowac.

To powinno ygladac mniej wiecej tak:

  1. if(isset($_POST["submit"])){
  2. $one = $_POST['rightuppereight'];
  3. if(!empty(trim($one)))
  4. {
  5. $rightuppereight = $_SESSION['rightuppereight'] = $_POST['rightuppereight'];
  6. echo "Hi " . $rightuppereight;
  7. }else{
  8. $rightuppereight = null;
  9. echo "Welcome Guest!";
  10. }
  11. } else {
  12. $rightuppereight = null;
  13. echo "Welcome Guest!";
  14. }


Wtedy jesli pole nie jest puste czyli ma wartosc wtedy nastepuje rejestracja konkretnej sesji. Jesli pole nie ozstalo
wypelnione to wysw sie informacja 'Welcome ...'

Nie uzywal metody get lecz post.

Mozna uzyc jednej sesji i zapisac od niej wartosci wszystkich pól bo sesja to tez tablica.


  1.  
  2. <?php
  3.  
  4.  
  5. if(isset($_POST['submit']))
  6. {
  7.  
  8. if(!empty($_POST['pole']))
  9. {
  10.  
  11. $session = $_SESSION['all'] = $_POST['pole'];
  12. $_SESSION['reg'] = 'Witaj costam';
  13. header('location:' . $_SERVER['SCRIPT_NAME']);
  14.  
  15. }else {
  16.  
  17. echo 'Welcome guest!';
  18.  
  19. }
  20.  
  21. }
  22.  
  23.  
  24.  
  25. echo "<form action='' method='post'>";
  26. echo "<table border='0' width='100%' class='table-bordered' align='center' cellspacing='0'>";
  27.  
  28. if(isset($_POST['del']))
  29. {
  30.  
  31. if(!empty($_SESSION['all']))
  32. {
  33.  
  34. unset($_SESSION['all']);
  35. unset($_SESSION['reg']);
  36. $_SESSION = array();
  37. }
  38.  
  39. }
  40.  
  41. if(!empty($_SESSION['all']))
  42. {
  43.  
  44. while(list(,$val) = each($_SESSION['all']))
  45. {
  46.  
  47. echo "<tr><td>pole: <input type='text' name='pole[]' value='$val'></td></tr>";
  48.  
  49. }
  50. echo $_SESSION['reg'];
  51.  
  52. }else {
  53.  
  54. $ile_pol = 7;
  55. for($i=0; $i<$ile_pol; $i++)
  56. {
  57.  
  58. echo "<tr><td>pole: <input type='text' name='pole[]'></td></tr>";
  59.  
  60. }
  61.  
  62. }
  63.  
  64.  
  65.  
  66.  
  67. echo "</table>";
  68.  
  69. echo " <input type='submit' value='submit' name=\"submit\"> <button type='submit' value=1 name='del'>Usuń sesje</button>";
  70. echo "</form>";
  71.  
  72.  
  73.  
  74.  
  Forum: PHP · Podgląd postu: #1246965 · Odpowiedzi: 7 · Wyświetleń: 387

dublinka
Napisane: 29.09.2019, 20:00:52





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

  1. setcookie( $name, $value, $expire, '/');
  2.  
  Forum: Przedszkole · Podgląd postu: #1246715 · Odpowiedzi: 1 · Wyświetleń: 180

dublinka
Napisane: 28.09.2019, 06:02:13





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

  1.  
  2. echo "<tr style=background:";
  3. ($r[id_rek] == $_POST[id_rek]) ? echo "yellow" : echo "blue";
  4. echo ">";
  5.  


Symulujac dane z bazy podstawiamy tablice i zmienna $co jako cos co posylasz POST-em
  1. <?php
  2.  
  3. $t = array(1,2,3,4,5,6,7,8,9,10);
  4.  
  5. echo "<table width=300>";
  6.  
  7. $co = 3;
  8.  
  9. foreach($t as $k)
  10. {
  11. echo "<tr style=";
  12. if(isset($co))
  13. {
  14.  
  15. if($k === $co)
  16. {
  17.  
  18. echo "background:red>";
  19.  
  20. }else{
  21.  
  22. echo "background:blue>";
  23.  
  24. }
  25.  
  26. }else {
  27.  
  28. echo "background:blue>";
  29.  
  30. }
  31.  
  32. echo "<td>tresc</td>";
  33. echo "</tr>";
  34. }
  35. echo "</table>";
  36. ?>
  Forum: Przedszkole · Podgląd postu: #1246688 · Odpowiedzi: 2 · Wyświetleń: 193

dublinka
Napisane: 9.09.2019, 13:15:15





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Cytat(oblako @ 9.09.2019, 13:03:23 ) *
I teraz pytanie w jaki sposób te daty maja się wyświetlać w opcjach selectu?

Pobierz date i wstaw w select smile.gif

  1. $conn = new mysqli($servername, $username, $password, $dbname);
  2.  
  3. if ($conn->connect_error) {
  4. die("Connection failed: " . $conn->connect_error);
  5. }
  6.  
  7. $sql = "SELECT data FROM ticket";
  8. $result = $conn->query($sql);
  9.  
  10. if ($result->num_rows > 0) {
  11.  
  12. echo "<form action=\"jakisplik.php\" method=\"post\">";
  13. echo "<select name=\"daty\">";
  14.  
  15. while($row = $result->fetch_assoc()) {
  16. echo "<option value=\"".$row['data']."\">" . $row['data'] . "</option>";
  17. }
  18. echo "</select>";
  19. echo "<input type=\"submit\" value=\"dalej\"></form>";
  20.  
  21. } else {
  22. echo "0 results";
  23. }
  24. $conn->close();
  Forum: Przedszkole · Podgląd postu: #1245304 · Odpowiedzi: 11 · Wyświetleń: 199

dublinka
Napisane: 8.09.2019, 20:58:15





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Operujesz sesjami nie tablicami $_POST. Wartosci z tablic przypasales dlakazdej sesji. Teraz tylko je wywolujesz.

Plik 2
  1. $_SESSION['prelegent']=$_POST['prelegent'];
  2. $_SESSION['asystent']=$_POST['asystent'];
  3. $_SESSION['asystent1']=$_POST['asystent1'];
  4. $_SESSION['prelegent2']=$_POST['asystent2'];
  5. $_SESSION['prelegent3']=$_POST['asystent3'];
  6. $_SESSION['prelegent4']=$_POST['asystent4'];
  7. $_SESSION['kierowca']=$_POST['kierowca'];


Teraz w pliku 3 operujesz tylko na sesjach. Tablice zostaw w spokoju bo do nich nie ma juz dostepu bo nic nie wysylasz.
Mozesz sobie przypasac kolejne zmienne dla kazdej sesji jesli chcesz zeby Ci bylo latwiej w 3cim pliku lub od razu
  1. $prelegent = $_SESSION['prelegent'];
  2. $asystent = $_SESSION['asystent'];
  3. // itd


Pozniej robisz tak jak masz w pliku tylko ze kazda nowa zmienna musi miec wartosc z sesji j/w:

  1. values($prelegent',
  2. '$asystent',
  3. '$asystent1',
  4. '$asystent2',
  5. '$asystent3',
  6. '$asystent4',
  7. '$kierowca',
  8. '$miejscowosc',
  9. '$data',
  10. '$hotel',
  11. '$miejscowosc1',
  12. '$data1',
  13. '$hotel1',
  14. '$miejscowosc2',
  15. '$data2',
  16. '$hotel2')");
  Forum: Przedszkole · Podgląd postu: #1245132 · Odpowiedzi: 7 · Wyświetleń: 294

dublinka
Napisane: 4.09.2019, 12:46:47





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

  1. <html lang="en">
  2. <head>
  3. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
  4. <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
  5. <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
  6. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
  7. </head>
  8. <body>
  9. <div class="input-group mb-3">
  10. <div class="custom-file">
  11. <input type="file" class="custom-file-input" id="inputGroupFile02"/>
  12. <label class="custom-file-label" for="inputGroupFile02">Choose file</label>
  13. </div>
  14. <div class="input-group-append">
  15. <button class="btn btn-primary">Upload</button>
  16. </div>
  17. </div>
  18. $('#inputGroupFile02').on('change',function(){
  19. //get the file name
  20. var fileName = $(this).val();
  21. //replace the "Choose a file" label
  22. $(this).next('.custom-file-label').html(fileName);
  23. })
  24. </script>
  25. </body>
  26. </html>
  Forum: Przedszkole · Podgląd postu: #1244941 · Odpowiedzi: 3 · Wyświetleń: 170

dublinka
Napisane: 29.08.2019, 14:12:34





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

  1. if(strlen($_POST['nick']) < 5)
  2. {
  3. echo "<font style='color: red;'>Nick minimum 5 znaków</font>";
  4. }
  5. if(strlen($_POST['email'] < 5)
  6. {
  7. echo "<font style='color: red;'>Email minimum 5 znaków</font>";
  8. }
  9.  
  10. dalej jak juz jest ok


Lub wersja druga z if, elseif i else

  1. if(strlen($_POST['nick']) < 5)
  2. {
  3. echo "<font style='color: red;'>Nick minimum 5 znaków</font>";
  4. }
  5. elseif(strlen($_POST['email'] < 5)
  6. {
  7. echo "<font style='color: red;'>Email minimum 5 znaków</font>";
  8. }else{
  9. // tu jak jest ok
  10. }


Jezeli uzywasz samych if-ów elseif i else juz nie jest potrzebne. Wystarczy ze w kazdym ifie dasz exit bo tak musialbys zaczac od if-a, potem elseif itd... az dochodzisz do else.
Z samymi ifami jest prosciej
  Forum: Przedszkole · Podgląd postu: #1244731 · Odpowiedzi: 6 · Wyświetleń: 186

dublinka
Napisane: 29.08.2019, 12:07:43





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

https://www.php.net/manual/en/mysqli-result.num-rows.php
  Forum: Przedszkole · Podgląd postu: #1244722 · Odpowiedzi: 9 · Wyświetleń: 153

dublinka
Napisane: 28.08.2019, 08:22:11





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Cytat(Zenobiusz @ 26.08.2019, 12:29:22 ) *
Witam biggrin.gif

Mam kod, który ma wyszkać znak "1". ECHO wyrzuca aż 8 jedynek a mi zależy aby wyszukał tylko "1" jako znak pojedyńczy czyli powinno ECHO wyrzucać "1". Jakieś wskazówki ?

<?php
echo substr_count("1,2,3,4,5,6,7,8,9,10,11,12,13,14,15","1");
?>



  1. <?php
  2. function counter($obj, $what)
  3. {
  4. return count(array_keys($obj, $what));
  5. }
  6. $get = counter(array(1,2,11,3,4,5,1,6,7,8,9,11,10,11,12,13,11111), 11);
  7.  
  8. $x = ($get > 1) ? ' razy' : ' raz';
  9. echo 'Wystepuje: ' . $get . $x;
  10. ?>
  Forum: PHP · Podgląd postu: #1244651 · Odpowiedzi: 15 · Wyświetleń: 549

dublinka
Napisane: 28.08.2019, 13:52:53





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Mozna tez troche dookola:

  1. <?php
  2.  
  3. $tab = array(1,2,11,3,4,5,1,6,7,8,9,11,10,11,12,13,11111);
  4. $input = 11;
  5.  
  6. function counter($obj, $what)
  7. {
  8. $sum = array();
  9.  
  10. foreach($obj as $key => $val)
  11. {
  12. if($val == $what)
  13. {
  14. $sum[] = $val;
  15. }
  16. }
  17.  
  18. return count($sum);
  19.  
  20. }
  21. $get = counter($tab, $input);
  22.  
  23. $x = ($get > 1) ? ' razy' : ' raz';
  24. echo 'wartość: ' . $input . ' wystepuje: ' . $get . $x;
  25.  
  26.  
  27. ?>


I wersja z explode:)


  1. <?php
  2.  
  3. $tab = array(1,2,11,3,4,5,1,6,7,8,9,11,11,10,11,12,13,11111);
  4. $input = 11;
  5.  
  6. function counter($obj, $what)
  7. {
  8. $sum = array();
  9.  
  10. foreach($obj as $num)
  11. {
  12.  
  13. list($no) = explode(',', $num);
  14.  
  15. if($no == $what)
  16.  
  17. {
  18.  
  19. $sum[] = $no;
  20.  
  21. }
  22.  
  23. }
  24.  
  25. return count($sum);
  26.  
  27. }
  28. $get = counter($tab, $input);
  29.  
  30. $x = ($get > 1) ? ' razy' : ' raz';
  31. echo 'wartość: ' . $input . ' wystepuje: ' . $get . $x;
  32.  
  33.  
  34. ?>


Oczywiscie te dwa przyklady sa bardzo pobobne bo w drugim zamiast uzyc pobrania od razu w petli => $value bawimy sie list-em i explode.
  Forum: PHP · Podgląd postu: #1244664 · Odpowiedzi: 15 · Wyświetleń: 549

dublinka
Napisane: 25.08.2019, 12:00:57





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

  1. <?php
  2.  
  3. function poryRoku($dzisiaj, $wiosna, $lato, $jesien, $zima)
  4. {
  5.  
  6. switch(true) {
  7. case ($dzisiaj >= $wiosna && $dzisiaj < $lato):
  8.  
  9. return "<body style=\"background-color:lightgreen; color:white\">Jest wiosna</body>";
  10. break;
  11.  
  12. case ($dzisiaj >= $lato && $dzisiaj < $jesien):
  13. return "<body style=\"background-color:green; color:white\">Jest lato</body>";
  14. break;
  15.  
  16. case ($dzisiaj >= $jesien && $dzisiaj < $zima):
  17. return "<body style=\"background-color:rgb(139,0,0); color:rgb(255,255,255)\">Jest jesien</body>";
  18. break;
  19.  
  20. default:
  21. return "<body style=\"background-color:rgb(255,255,255); color:rgb(0,0,0)\">Jest zima</body>";
  22. break;
  23. }
  24.  
  25. }
  26. $get = poryRoku(time(), mktime(0,0,0, 3, 20, date('Y')), mktime(0,0,0, 6, 21, date('Y')), mktime(0,0,0, 9, 20, date('Y')), mktime(0,0,0, 12, 21, date('Y')));
  27.  
  28. echo $get;
  29.  
  30. ?>

Argumenty z funkcji przyjmuja wartosci dat:
20ty marzec
21wszy czerwiec
20ty wrzesien
21ty grudzien

Co do 1go pytania to dlaczego sam nie sprawdzisz.
  Forum: Przedszkole · Podgląd postu: #1244550 · Odpowiedzi: 4 · Wyświetleń: 222

dublinka
Napisane: 23.08.2019, 15:04:00





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

druga sprawa to to ze bedzie blad bo warunek 2 sie nie wykona.

Wiec tak jak masz tylko dwie mozliwosci:

  1. <?php
  2.  
  3. function pora_dnia()
  4. {
  5. $godzina = date('H');
  6.  
  7.  
  8. if(($godzina >= '08') && ($godzina <= '19'))
  9. {
  10. echo 'Komunikat od 08:00 rano do 20:00 wieczorem';
  11. }
  12. else
  13. {
  14. echo 'Komunikat od 20:00 wieczorem do 08:00 rano';
  15. }
  16.  
  17. }
  18.  
  19. pora_dnia()
  20.  
  21. ?>


Albo z pomocą tablic. wtedy mozesz wiecej.

  1. <?php
  2.  
  3. function Hours($hour, $error){
  4.  
  5. $tb1 = array('20','21','22','23','00','01','02','03','04','05','06','07');
  6. $tb2 = array('08','09','10','11','12','13','14','15','16','17','18','19');
  7.  
  8.  
  9. if( in_array($hour, $tb1) ) {
  10.  
  11. return 'jest pomiedzy 20-07:59';
  12.  
  13. }elseif( in_array($hour, $tb2) ) {
  14.  
  15. return 'jest pomiedzy 8-20';
  16.  
  17. }else {
  18. return $error;
  19. }
  20. }
  21.  
  22. $get = Hours(date('H'), 'error');
  23.  
  24. print $get;
  25. ?>


wtedy mozes zrobic wiecej tablic z godzinami i wiecej warunkow.
  Forum: Przedszkole · Podgląd postu: #1244503 · Odpowiedzi: 4 · Wyświetleń: 222

dublinka
Napisane: 15.08.2019, 07:53:18





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Cytat(diamondking @ 14.08.2019, 18:35:31 ) *
Znacie jakiś artykuł do poczytania jak to rozwiązać smile.gif?

Poczytaj o funkcjach i zasiegu zmiennych.
  Forum: Przedszkole · Podgląd postu: #1244317 · Odpowiedzi: 5 · Wyświetleń: 455

dublinka
Napisane: 13.08.2019, 04:51:01





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Cytat(andrzejlechniak @ 12.08.2019, 12:00:40 ) *
Pozostaje to, o czym de facto pisałem na początku - odświeżanie strony. Czy można ten skrypt jakoś zabezpieczyć, aby odświeżając stronę trafiać na zablokowaną część?

Ten plik logowania nie powinien wygladac tak jak wyglada. Tuz po zalogowaniu i zarejestrowaniu sesji powinno byc przekierowanie na dana strone (chocby index) Nie powinno sie wyswietlac niczego w takim pliku. On ma sluzyc tylko do zalogowania. Samo wyswietlenie kto jest zalogowany i jaka ma range juz w innych plikach. 'zabezpieczenie' o ktorym piszesz to jeden warunek na samym poczatku sprawadzajacy czy dana sesja istnieje (obojetnie ktora badz ustaw jakas dodatkową jeszcze) Jeśli istnieje od razu header() jesli nie skrypt leci dalej. Ot cale zabezpieczenie.
  Forum: Przedszkole · Podgląd postu: #1244271 · Odpowiedzi: 29 · Wyświetleń: 1 343

dublinka
Napisane: 11.08.2019, 09:39:04





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

  1. $szukana = 12345;
  2. SELECT id, klucz, wartosc FROM tabela WHERE klucz='$szukana'

W tym momencie wyszuka konkretnie identyczny ciag znakow wystepujacy w kolumnie "klucz"
Zakladam jednoczesnie ze te klucze sa unukalne i nie powielaja sie.
Teraz musisz tylko to wyswietlic.

EDIT.

  1.  
  2. <?php
  3.  
  4.  
  5. function GetValue($server, $username, $password, $database, $table, $szukana)
  6. {
  7.  
  8. $mysqli = new mysqli($server, $username, $password, $database);
  9.  
  10. if ($mysqli->connect_error)
  11. {
  12. die("Błąd połączenia z MySQL: " . $mysqli->connect_error);
  13. }
  14. $stmt = $mysqli->prepare("SELECT klucz, wartosc FROM $table WHERE klucz = ?");
  15. $stmt->bind_param("s", $_POST['szukana']);
  16. $stmt->execute();
  17. $stmt->store_result();
  18. if($stmt->num_rows === 0) echo('Brak wyników');
  19. $stmt->bind_result($klucz, $wartosc);
  20. $stmt->fetch();
  21. echo $content;
  22. $stmt->close();
  23.  
  24. }
  25.  
  26. GetValue('localhost', 'root', 'pass', 'nazwabazy', 'nazwatabeli', @$szukana);
  27.  
  28. ?>
  29.  
  30. <form action="" method=post>
  31. <input type=text name=szukana>
  32. <input type=submit value=szukaj>
  33. </form>
  34.  


Ps. Jesli szukana jest liczbą zmien te linie:
  1. $stmt->bind_param("i", $_POST['szukana']);
  Forum: Przedszkole · Podgląd postu: #1244219 · Odpowiedzi: 4 · Wyświetleń: 577

dublinka
Napisane: 24.07.2019, 11:41:00





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Przyklad ustawienia tabeli:

  1. $sql = "CREATE TABLE nazwatabeli" . "(
  2. id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  3. pole1 VARCHAR(30) COLLATE utf8_unicode_ci NOT NULL,
  4. pole2 VARCHAR(30) COLLATE utf8_unicode_ci NOT NULL
  5. )ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci";


db.php

  1. <?php
  2. const SERVER_NAME = 'localhost';
  3. const SERVER_USERNAME = 'root';
  4. const SERVER_USERNAME_PASSWORD = 'pass';
  5. const SERVER_DATABASE_NAME = 'nazwabazy';
  6. const SERVER_TABLE_NAME = 'nazwatabeli';
  7. ?>


formularz.php


  1. <?php
  2. include_once 'db.php';
  3.  
  4. function PokazForm($server, $username, $password, $database, $table, $name)
  5. {
  6.  
  7. $mysqli = new mysqli($server, $username, $password, $database);
  8.  
  9. if ($mysqli->connect_error)
  10. {
  11. return ("Błąd połączenia z MySQL: " . $mysqli->connect_error);
  12. }
  13.  
  14. $sql = "SELECT `id`, `pole1`, `pole2` FROM $table WHERE pole1='$name'";
  15.  
  16. $result = $mysqli->query($sql);
  17.  
  18.  
  19. if ($result->num_rows > 0)
  20. {
  21.  
  22. echo "<form method=post action=\"index.php\">";
  23.  
  24.  
  25. while($row = $result->fetch_assoc())
  26. {
  27.  
  28. echo "<input type=\"hidden\" value=\"" . $row['id'] . "\" name=\"id\">";
  29. echo "<input name=\"pole1\" value=\"" . $row['pole1'] . "\"><br>";
  30. echo "<input name=\"pole2\" value=\"" . $row['pole2'] . "\"><p>";
  31.  
  32. }
  33.  
  34. echo "<input type=\"submit\" value=\"dalej\"></form>";
  35.  
  36.  
  37.  
  38. } else
  39. {
  40.  
  41. print "Znaleziono: 0 wpisów";
  42.  
  43. }
  44.  
  45. $mysqli->close();
  46.  
  47.  
  48.  
  49.  
  50. }
  51.  
  52.  
  53. PokazForm(SERVER_NAME, SERVER_USERNAME, SERVER_USERNAME_PASSWORD, SERVER_DATABASE_NAME, SERVER_TABLE_NAME, 'tresc pola 1'); // 'tresc pola 1' jest to string ktory bedzie porownywany z wartoscia z tabeli w zapytaniu WHERE
  54.  
  55. ?>



index.php // update

  1. <?php
  2. include_once 'db.php';
  3.  
  4. function update($server, $username, $pass, $dbname, $tablename, $pole1, $pole2, $id)
  5. {
  6.  
  7. $mysqli = new mysqli($server, $username, $pass, $dbname);
  8.  
  9. if ($mysqli->connect_error)
  10. {
  11. return ("Błąd połączenia: " . $mysqli->connect_error);
  12. }
  13.  
  14. $pole1 = $mysqli->real_escape_string($pole1);
  15. $pole2 = $mysqli->real_escape_string($pole2);
  16. $id = $mysqli->real_escape_string($id);
  17. $id = (int)$id;
  18.  
  19. if ($stmt = $mysqli->prepare("UPDATE $tablename SET pole1 = ?, pole2 = ? WHERE id = ?"))
  20. {
  21. $stmt->bind_param('ssi', $pole1, $pole2, $id);
  22.  
  23. $stmt->execute();
  24. $stmt->close();
  25. $mysqli->close();
  26.  
  27. exit('zaktualizowano');
  28. }
  29.  
  30. else {
  31.  
  32.  
  33. exit('blad aktualizacji');
  34.  
  35.  
  36. }
  37.  
  38. }
  39.  
  40. update(SERVER_NAME, SERVER_USERNAME, SERVER_USERNAME_PASSWORD, SERVER_DATABASE_NAME, SERVER_TABLE_NAME, $_POST['pole1'], $_POST['pole2'], $_POST['id']);
  41.  
  42. ?>


Nalezaloby to wszystko zrobic na jednej sesji ktora trzebaby sprawdzic przed samą aktualizacja; jesli istnieje to przekierowac do pliku z formularzem i na samym jego poczatku usunac ja. Sama sesje ustawic tuz przed wyswietleniem informacji o zaktualizowaniu.
To ochroni przed dodawaniem danych przy odswierzeniu strony.

czyli:

  1. <?php
  2.  
  3. include_once 'db.php';
  4.  
  5. function PokazForm($server, $username, $password, $database, $table, $name)
  6. {
  7.  
  8. if(isset($_SESSION['odswierzenie']))
  9. {
  10.  
  11. unset($_SESSION['odswierzenie']);
  12.  
  13. }
  14.  
  15. $mysqli = new mysqli($server, $username, $password, $database);
  16.  
  17. if ($mysqli->connect_error)
  18. {
  19. return ("Błąd połączenia z MySQL: " . $mysqli->connect_error);
  20. }
  21.  
  22. $sql = "SELECT `id`, `pole1`, `pole2` FROM $table WHERE pole1='$name'";
  23.  
  24. $result = $mysqli->query($sql);
  25.  
  26.  
  27. if ($result->num_rows > 0)
  28. {
  29.  
  30. echo "<form method=post action=\"index.php\">";
  31.  
  32.  
  33. while($row = $result->fetch_assoc())
  34. {
  35.  
  36. echo "<input type=\"hidden\" value=\"" . $row['id'] . "\" name=\"id\">";
  37. echo "<input name=\"pole1\" value=\"" . $row['pole1'] . "\"><br>";
  38. echo "<input name=\"pole2\" value=\"" . $row['pole2'] . "\"><p>";
  39.  
  40. }
  41.  
  42. echo "<input type=\"submit\" value=\"dalej\"></form>";
  43.  
  44.  
  45.  
  46. } else
  47. {
  48.  
  49. print "Znaleziono: 0 wpisów";
  50.  
  51. }
  52.  
  53. $mysqli->close();
  54.  
  55.  
  56.  
  57.  
  58. }
  59.  
  60.  
  61. PokazForm(SERVER_NAME, SERVER_USERNAME, SERVER_USERNAME_PASSWORD, SERVER_DATABASE_NAME, SERVER_TABLE_NAME, 'tresc pola 1');
  62.  
  63. ?>



update

  1. <?php
  2. include_once 'db.php';
  3.  
  4. function update($server, $username, $pass, $dbname, $tablename, $pole1, $pole2, $id)
  5. {
  6.  
  7. if(isset($_SESSION['odswierzenie']))
  8. {
  9.  
  10. header('location: form.php');
  11.  
  12. }
  13.  
  14. $mysqli = new mysqli($server, $username, $pass, $dbname);
  15.  
  16. if ($mysqli->connect_error)
  17. {
  18. return ("Błąd połączenia: " . $mysqli->connect_error);
  19. }
  20.  
  21. $pole1 = $mysqli->real_escape_string($pole1);
  22. $pole2 = $mysqli->real_escape_string($pole2);
  23. $id = $mysqli->real_escape_string($id);
  24. $id = (int)$id;
  25.  
  26. if ($stmt = $mysqli->prepare("UPDATE $tablename SET pole1 = ?, pole2 = ? WHERE id = ?"))
  27. {
  28. $stmt->bind_param('ssi', $pole1, $pole2, $id);
  29.  
  30. $stmt->execute();
  31. $stmt->close();
  32. $mysqli->close();
  33.  
  34. $_SESSION['odswierzenie'] = '1';
  35.  
  36. exit('zaktualizowano');
  37. }
  38.  
  39. else {
  40.  
  41.  
  42. exit('blad aktualizacji');
  43.  
  44.  
  45. }
  46.  
  47. }
  48.  
  49. update(SERVER_NAME, SERVER_USERNAME, SERVER_USERNAME_PASSWORD, SERVER_DATABASE_NAME, SERVER_TABLE_NAME, $_POST['pole1'], $_POST['pole2'], $_POST['id']);
  50.  
  51. ?>
  Forum: Przedszkole · Podgląd postu: #1243784 · Odpowiedzi: 5 · Wyświetleń: 263

dublinka
Napisane: 22.07.2019, 16:55:43





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

https://stackoverflow.com/questions/3781068...ml-array-in-php
  Forum: PHP · Podgląd postu: #1243743 · Odpowiedzi: 2 · Wyświetleń: 440

dublinka
Napisane: 16.07.2019, 07:06:35





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Brak plikow config i header

a to to juz jest masakra

  1. if ($_POST) {


Nie wiadomo co jest w tamtych plikach.


Ogolnie to powinienes wklejac tutaj kod a nie linki do plikow bo za jakis czas albo Ty je usuniesz albo usluga wrzucania plikow bedzie niedostepna i caly ten temat bedzie bez sensu.

Jesli uzywasz czyjes rozwiazanie to podawaj je bez zbednych Twoich dupereli bo nikomu nie chce sie przechodzic przes setlki linii nie zwiazanych z konkretem.

Wogole po tym odwolaniu sie do tablicy to bym sie zastanowil nad zmiana na cos innego. Zreszta zaloze sie (widzac tylko kawalek) ze tez zadnego boindowania tam nie ma.
  Forum: PHP · Podgląd postu: #1243574 · Odpowiedzi: 4 · Wyświetleń: 294

dublinka
Napisane: 24.06.2019, 14:32:29





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Masz ta mtroche namieszane chocby z tymi selectami. Jedno zamkniete drugie gdzies poniżej zamykane ktorego nie otwierales wczesniej.
Musisz to zrobic na 2 krokach. Ten klucz z pierwszej tabeli ma byc przekazany do drugiej ?

Mozna zrobic to tak np:
  1. <?php
  2.  
  3.  
  4. function PokazForm($server, $username, $password, $database, $table1)
  5. {
  6.  
  7. $mysqli = new mysqli($server, $username, $password, $database);
  8.  
  9. if ($mysqli->connect_error)
  10. {
  11. die("Błąd połączenia z MySQL: " . $mysqli->connect_error);
  12. }
  13.  
  14.  
  15.  
  16. $sql = "SELECT `id_kontrahent`, `nazwa_kontrahent` FROM $table1";
  17. $result = $mysqli->query($sql);
  18.  
  19.  
  20.  
  21. if ($result->num_rows > 0)
  22. {
  23.  
  24. echo "<form method=post action=" . $_SERVER['SCRIPT_NAME'] . "?s=2>";
  25. echo "<select name=\"wybor\">";
  26.  
  27. while($row = $result->fetch_assoc())
  28. {
  29.  
  30. echo "<option value=" . $row['id_kontrahent'] . "|" . $row['nazwa_kontrahent'] . ">" . $row['nazwa_kontrahent'] . "</option>";
  31.  
  32. }
  33.  
  34. echo "<input type=\"submit\" name=\"dodaj\" value=\"Dodaj\">";
  35. echo "</select></form>";
  36.  
  37.  
  38. } else
  39. {
  40.  
  41. print "Znaleziono: 0 wpisów";
  42.  
  43. }
  44.  
  45. $mysqli->close();
  46.  
  47.  
  48.  
  49.  
  50. }
  51.  
  52.  
  53.  
  54. function Dodaj($server, $username, $password, $database, $table2, $selected)
  55. {
  56.  
  57. $mysqli = new mysqli($server, $username, $password, $database);
  58.  
  59. $selected = htmlspecialchars($selected);
  60. $selected = $mysqli->real_escape_string($selected);
  61.  
  62. $ex = explode('|', $selected);
  63.  
  64. if ($stmt = $mysqli->prepare("INSERT INTO $table2" . " (id_przetarg, zamawiajacy) VALUES ( ?, ? )"))
  65. {
  66.  
  67. $stmt->bind_param('is', $ex[0], $ex[1]);
  68.  
  69.  
  70. $stmt->execute();
  71. $stmt->close();
  72. $mysqli->close();
  73.  
  74. exit('dodano nowa wartosc do nowej tabeli');
  75.  
  76. }
  77.  
  78. else {
  79.  
  80. exit("blad zapisu");
  81.  
  82. }
  83.  
  84. }
  85.  
  86.  
  87. (isset($_GET['s'])) ? $_GET['s'] = $_GET['s'] : $_GET['s'] = '1';
  88.  
  89. $s = $_GET['s'];
  90.  
  91. switch($s):
  92.  
  93. case('1'):
  94.  
  95. PokazForm('localhost', 'root', 'pass', 'przetargi', 'kontrahent');
  96.  
  97. break;
  98.  
  99.  
  100. case('2'):
  101.  
  102. Dodaj('localhost', 'root', 'pass', 'przetargi', 'lista_przetarg', $_POST['wybor']);
  103.  
  104. break;
  105. default:
  106. header('location: ' . $_SERVER['SCRIPT_NAME'] . '?s=1');
  107. break;
  108. endswitch;
  109.  
  110.  
  111.  
  112. ?>


Ogolnie nie powinno sie wyswietlac ID z tabeli nigdzie. W tym przykladzie jest doklejony do pola option ale mozna byloby to zrobic na sesji tez
  Forum: Przedszkole · Podgląd postu: #1242930 · Odpowiedzi: 3 · Wyświetleń: 206

dublinka
Napisane: 28.05.2019, 07:29:28





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Przecuez to mozna na jednej tabeli zrobic.
  Forum: Przedszkole · Podgląd postu: #1241945 · Odpowiedzi: 4 · Wyświetleń: 367

dublinka
Napisane: 24.05.2019, 10:01:38





Grupa: Zarejestrowani
Postów: 321
Dołączył: 22.02.2008

Ostrzeżenie: (0%)
-----

Zeby być pewnym zrob drugi plik .css i wstaw tam ten kod ktorego nie widac.
Czasami bywa tak (przy częstych zmianach), ze trzeba czyścic cache przegladarki. Sprawdz i to
  Forum: Przedszkole · Podgląd postu: #1241807 · Odpowiedzi: 6 · Wyświetleń: 261

2 Stron V   1 2 >

New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 20.11.2019 - 09:49