Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak uzyskać dostęp do zmiennych?
Forum PHP.pl > Forum > Przedszkole
boy76
Witam wszystkich,
Jestem początkujący i uczę się php od niedawna.

Jak uzyskać dostęp do zmiennych z innego pliku?

Plik transakcja-autor.php (funkcja dodawania nowych autorów)

  1. <?php
  2. $link = mysql_connect("localhost", "root", "")
  3. or die("Nie udalo sie polaczyc: " . mysql_error());
  4. mysql_select_db('ksiazki', $link)
  5. or die ( mysql_error());
  6.  
  7.  
  8. if (isset($_REQUEST['action']))
  9. {
  10. switch ($_REQUEST['action'])
  11. {
  12.  
  13. case 'add':
  14. $sql = "INSERT INTO autor
  15. (imie,
  16. nazwisko,
  17. data_urodzenia,
  18. pesel)
  19. VALUES
  20. ('" . $_POST['imie'] . "',
  21. '" . $_POST['nazwisko'] . "',
  22. '" . $_POST['data_urodzenia'] . "',
  23. '" . $_POST['pesel'] . "')";
  24. $rezultat = mysql_query($sql);
  25. header("Location: index.php");
  26.  
  27. break;
  28.  
  29. break;
  30. }
  31. }


Plik index.php (strona główna z linkiem dodajautora)
  1. <?php
  2.  
  3. <h1>Witaj na stronie głównej</h1>
  4.  
  5. echo '<p><a href="dodajautora.php">Dodaj autora</a></p>'
  6.  
  7. if ($sql) //Tutaj nie wiem jak to zrobić, żeby wyświetlił się komunikat, że dodano rekord, czyli jak uzyskać dostęp do zmiennych
  8. //z pliku transakcja-autor.php?
  9.  
  10. {
  11. echo '<p>Dodano rekord!</p>';
  12. }
  13.  
  14. else
  15. {
  16. echo '<p>Błąd!</p>';
  17. }
  18.  
  19. ?>

if ($sql) //Tutaj nie wiem jak to zrobić, żeby wyświetlił się komunikat, że dodano rekord, czyli jak uzyskać dostęp do zmiennych
//z pliku transakcja-autor.php?


{
echo '<p>Dodano rekord!</p>';
}

else
{
echo '<p>Błąd!</p>';
}

Plik dodajautora.php (formularz) - fragment kodu
  1. <form action="transkacja-autor.php" method="post">
  2. <table>
  3. <tr>
  4. <td>imie</td> <td><input type="text" name="imie" size="15" maxlength="20" /></td>
  5. </tr>
  6. <tr>
  7. <td>nazwisko:</td> <td><input type="text" name="nazwisko" size="15" maxlength="20" /></td>
  8.  
  9. </tr>
  10. <tr>
  11. <td>data urodzenia:</td> <td><input type="text" name="data_urodzenia" size="15" maxlength="20" /></td>
  12.  
  13. </tr>
  14. <tr>
  15. <td>pesel:</td> <td><input type="text" name="pesel" size="15" maxlength="20" /></td>
  16.  
  17. </tr>
  18. </table>
  19. <p><input type="submit" name="action" value="add" /></p>
  20.  
  21.  
  22. </form>
Fifi209
Użyj sesji $_SESSION
boy76
session_start() mam w każdym pliku
blade-mrn
Jeśli użyjesz require() lub require_once () to będziesz miał dostęp do zmiennych z wczytanego pliku.
http://www.kess.snug.pl/php_manual/function.require.html
boy76
Jak to napisać, żeby nie było napisu

Błąd! na stronie index.php

Jaki warunek napisać, żeby ten komunikat był wyświetlony (dodano rekord, w przeciwnym razie Błąd), ale tylko po wypełnieniu formularza do bazy?
blade-mrn
Możesz zrobić tak.
Wczytaj zawartość pliku transakcja-autor.php za pomocą require() dzięki temu będziesz miał dostęp do zmiennych z tego pliku.
Wynik zapytania sprawdzisz tak:
  1. if ($rezultat)
  2. {
  3. echo '<p>Dodano rekord!</p>';
  4. }
  5. else
  6. {
  7. echo '<p>Błąd!</p>';
  8. }

A to czy strona została przekierowana z formularza czy pliku z zapisem do bazy możesz sprawdzać wprowadzając jakąś dodatkową zmienną z określoną wartością przechowywaną np. w sesji.
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.