Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> formularz z elementem php
Misiuu
post 15.03.2011, 19:54:05
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

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


Witam, mam formularz

Cytat
<html>
<head>
<title> Dodawanie rekordów </title></head>
<body>
<form method="POST" action="dodaj.php">
Podaj nazwe: <input type="text" size="30" name="name"><br>
Podaj hp: <input type="text" size="40" name="hp"><br>
Podaj exp: <input type="text" size="40" name="exp"><br>
Podaj summon: <input type="text" size="40" name="summon"><br>
Podaj convince: <input type="text" size="40" name="convince"><br>
Podaj loot: <select name="loot" multiple="multiple" size="8">
<?php mysql_connect('localhost', 'root', '') or
die('Nie można się połączyć: ' . mysql_error());
mysql_select_db('haha');

$result = mysql_query("SELECT name,namelink FROM monsters");
if(mysql_num_rows($result) > 0) {
while($row123 = mysql_fetch_assoc($result))
{ echo '<option>'.$row123['name'].'</option>'; } }
?> </select>


<br>
Podaj wsytepowanie: <input type="text" size="40" name="occupation"><br>
Podaj opis: <input type="text" size="40" name="opis"><br>
Podaj odgłos: <input type="text" size="40" name="voice"><br>
<input type="submit" value="wyślij!">
</form>
</body>
</html>


Chodzi o to , żeby formularz pokazywał w "tabelce" select wszystkie nazwy potworów .. i gdy dam wyślij zapisało rekord w bazie
Gdy zamiast tego skryptu php dodam to co jest w innych wszystko gra.. a jak zmienię na tak jak jest teraz nie zapisuje się . Mógłby mi ktoś pomóc ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
ylk
post 15.03.2011, 20:11:41
Post #2





Grupa: Zarejestrowani
Postów: 194
Pomógł: 26
Dołączył: 9.01.2011
Skąd: /dev/null

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


Pokaż treść pliku dodaj.php
Go to the top of the page
+Quote Post
Misiuu
post 15.03.2011, 20:17:50
Post #3





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

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


Cytat
<?php



if($name and $hp and $exp and $summon and $convince and $loot and $occupation and $opis and $voice) {

// łączymy się z bazą danych
$connection = @mysql_connect('localhost', 'root', '')
or die('Brak połączenia z serwerem MySQL');
$db = @mysql_select_db('haha', $connection)
or die('Nie mogę połączyć się z bazą danych');

// dodajemy rekord do bazy
$ins = @mysql_query("INSERT INTO monsters SET name='$name', hp='$hp', exp='$exp', summon='$summon',

convince='$convince', loot='$loot', occupation='$occupation', opis='$opis', voice='$voice'");

if($ins) echo "Rekord został dodany poprawnie";
else echo "Błąd nie udało się dodać nowego rekordu";

mysql_close($connection);
}

?>
Go to the top of the page
+Quote Post
ylk
post 15.03.2011, 20:22:25
Post #4





Grupa: Zarejestrowani
Postów: 194
Pomógł: 26
Dołączył: 9.01.2011
Skąd: /dev/null

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


Nie zapisuje, bo nieprawidłowo odwołujesz się do zmiennych (i najprawdopodobniej nie masz włączonego register_globals w PHP - i bardzo dobrze).
Jako, że przesyłasz formularz metodą POST, musisz odwoływać się do zmiennych z tablicy $_POST. Czyli zamiast $name musi być $_POST['name'] itd.
Go to the top of the page
+Quote Post
Misiuu
post 15.03.2011, 20:25:11
Post #5





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

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


hmmm zrobiłem tak, że

Cytat
{ echo '<option name="loot">'.$row123['name'].'</option>'; } }


i teraz dodaje do bazy tylko że jedną nazwę a nie wszystkie które zaznacze :/
Go to the top of the page
+Quote Post
Ilware
post 15.03.2011, 21:44:53
Post #6





Grupa: Zarejestrowani
Postów: 248
Pomógł: 31
Dołączył: 14.12.2010
Skąd: Wrocław

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


zamien

  1. { echo '<option name="loot">'.$row123['name'].'</option>'; } }

na
  1. { echo '<option name="loot[]">'.$row123['name'].'</option>'; } }


będziesz miał tablicę z danymi tylko ją odpowiednio przetwórz i zapisz do bazy


--------------------
Jeżeli pomogłem kliknij "Pomógł" :)
Go to the top of the page
+Quote Post
Misiuu
post 16.03.2011, 14:47:13
Post #7





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 13.10.2009

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


Ale pojawiają się w tabelce nazwy .... tylko że gdy wybiorę więcej niż jedną to do bazy i tak zapisuje się tylko 1 :/
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 08:41