Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: formularz z elementem php
Forum PHP.pl > Forum > PHP
Misiuu
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 ?
ylk
Pokaż treść pliku dodaj.php
Misiuu
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);
}

?>
ylk
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.
Misiuu
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 :/
Ilware
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
Misiuu
Ale pojawiają się w tabelce nazwy .... tylko że gdy wybiorę więcej niż jedną to do bazy i tak zapisuje się tylko 1 :/
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.