Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Wysyłanie formularza
Forum PHP.pl > Forum > Przedszkole
johnyx21
Witam

Mam prosty formularz, który wysyła mi dane do bazy wygląda on tak


  1. <?php
  2. <div align="center">
  3. <form method="POST" action="?">
  4. <table>
  5. <tr><td>Imię :</td><td><input type="text" name="Imię"></td></tr>
  6. <tr><td colspan="2">
  7.    <p align="center"><input type="submit" name="Wyślij" value="Wyślij"><p align="center"><input type="reset" name="Wyczyść" value="Wyczyść"></td></tr>
  8. </table>
  9. </form>
  10. ?>


wysyłanie do bazy

  1. <?php
  2. $Imie = $_POST['Imię'];
  3.  
  4. $zapytanie = "INSERT INTO `bazy`.`Imiona` (
  5. `id` ,
  6. `Imię`
  7. )
  8. VALUES (
  9. NULL , '$Imie'
  10. );";    
  11. mysql_query($zapytanie);
  12. header('Location: http....index.php');
  13. ?>


Wszystko działa poprawnie ale mam plik wybor.php, w którym wybieram bazę na której operuje i wczytuje w pliku powyżej za pomocą polecenia include, zawartość nowej bazy mi wyświetla poprawnie ale wysyłanie do bazy danych nie działa wyświetla mi tylko pustą stronę z komunikatem "Nie wybrano żadnej bazy danych" Zmienione wysyłanie do bazy zamieszczam poniżej

  1. <?php
  2. $Imie = $_POST['Imię'];
  3.  
  4. $zapytanie = "INSERT INTO $nowa.`Imiona` (         $nowa -nazwa wczytanej bazy
  5. `id` ,
  6. `Imię`
  7. )
  8. VALUES (
  9. NULL , '$Imie'
  10. );";    
  11. mysql_query($zapytanie);
  12. header('Location: http....index.php');
  13. ?>


Proszę pomóżcie, gdzie robię błąd?

Zmieniłem w formularzu:

  1. <?php
  2. <form method=&#092;"POST\" action=\"index2.php?wybierz=$nowa\">";  //jedyne co zostało zmienione
  3. ?>



i działa już większość

Jeszcze jedno pytanie jak w tym wypadku zrobić kasowanie rekordów do tej pory miałem to zrobione tak:

  1. <?php
  2. <td><a href=&#092;"?usun=" . $k['id'] . "\">Usuń</a></td>
  3. ?>


ale teraz nie działa bo jak ma przeładować stronę to wysyła mi informacje o rekordzie do usunięcia ale nie wysyła mi informacji z której bazy czy da się przesłać więcej parametrów za jednym razem np nazwę bazy poprzez <a href> z góry dzięki za odpowiedź
Andaramuxo
A gdzie masz zdefiniowaną zmienną $nowa?
smietek
Musisz podać ten plik, w którym wybierasz bazę danych. A przy funkcji mysql_select_db() daj takie coś:
  1. <?php
  2. ?>

To zwróci błąd MySQL.

I nie wpisuj tego $nowa jeśli wybierasz bazę.
MateuszS
Jemu chodzilo chyba o tabele bo dal INSERT INTO $nowa -< wstawil w miejsjcu tabeli.

jak masz np wybieranie tabeli to robisz tak

<select name="tabela">
<option value="nazwa_tabeli1">nazwa_tabeli1</option>
<option value="nazwa_tabeli2">nazwa_tabeli2</option>
</select>

Dopiero potem

$zap = mysql_query("INSERT INTO `".$_POST['tabela']."` VALUES jakiestam
johnyx21
$nowa jest przekazywana do tego pliku przez $nazwa=$_GET['nazwa bazy'] z pliku wybor.php poprzez polecenie :

  1. <?php
  2. <a href=&#092;"index2.php?wybierz=" . $k['nazwa bazy'] . "\">Wybierz Baze</a>
  3. ?>



plik wczytywany poprzez include :

  1. <?php
  2. $mysql_conection = mysql_connect('', '', '');
  3. mysql_query('SET NAMES latin2 COLLATE latin2_general_ci', $mysql_conection);
  4. $zapytanie = mysql_query("SHOW TABLE STATUS LIKE 'Imię;");
  5. if (mysql_num_rows($zapytanie) == 1) {
  6. //echo "Tabeal istnieje ";
  7. //header('Location: <a href=\"http://192.168.1.2/~pliki/index2.php');\" target=\"_blank\">http://192.168.1.2/~pliki/index2.php');</a>
  8. }
  9. else
  10.  
  11. {
  12.  
  13. mysql_query("CREATE TABLE Imie(
  14. id INT NOT NULL AUTO_INCREMENT,
  15. PRIMARY KEY(id),
  16. Imie VARCHAR(30))")
  17. ?>

Poprzez wczytanie tego pliku wymuszam połączenie z wybraną bazą danych.
nie chodziło mi o wybieranie tabeli tabele dla wszystkich baz są takie same
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.