Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/MYSQL] Nie dodaje wyniku do bazy - "ankieta"
Forum PHP.pl > Forum > Przedszkole
MeTeorek
Witam.

Głupia sprawa aczkolwiek męczę się z tym dłuższy czas. Analizuje różne skrypty jednak w nich działa a u mnie nie :/ Chodzi o to, że mam taką jakby ankietę jednak po zatwierdzeniu, tworzy się nowa kolumna jednak tylko z id (auto_increment) a tamte pola są puste. Oto kod:

Kod
            
        $result2 = dbquery("SELECT * FROM users");
        $user = dbrows($result2);
    if (isset($_POST['save_cat'])) {

$stats_vote = $_POST['warstats_votes_vote'];
$stats_match = $_POST['warstats_votes_match'];
$stats_user = $_POST['warstats_votes_user'];
$result3 = dbquery("INSERT INTO warstats_votes VALUES('', '$stats_vote', '$stats_match', '$stats_user')");

    }


echo "<form method='post' action='".FUSION_SELF.(FUSION_QUERY ? "?".FUSION_QUERY : "")."'>
    <center><input type='hidden' name='stats_user' value='".$user['user_id']."'> <input type='hidden' name='stats_match' value='".$data['warstats_id']."'><input type='radio' name='stats_vote' value='1'> <b> ".$data['warstats_gospodarze']."</b> czy <input type='radio' name='stats_vote' value='2'> <b> ".$data['warstats_goscie']."</b><br>
    <input type='submit' name='save_cat' value='Obstaw'  class='button'></center>";


co do pól z $data to są one wcześniej zdefiniowane (fragment większego skryptu), ale nawet pola "radio" sie nie dodają... Ktoś dostrzega błąd?

Struktura bazy:
warstats_votes

a w niej:
warstats_votes_id smallint(5) UNSIGNED auto_increment
warstats_votes_vote VARCHAR(1) latin1_swedish_ci
warstats_votes_match VARCHAR(6) latin1_swedish_ci
warstats_votes_user VARCHAR(8) latin1_swedish_ci


Pozdrawiam
vtuner
No masz błędne odwołanie do danych przekazanych przez POST

Masz:
  1. <input type='hidden' name='stats_user' value='".$user['user_id']."'>


A odwołujesz się tak:

  1. <?php
  2. $stats_user = $_POST['warstats_votes_user'];
  3. ?>


Widzisz różnicę w nazwie? Chyba, że masz to gdzieś indziej zdefiniowane i dlatego możesz się tak odwołać.
MeTeorek
Niestety dalej nie rozumiem. W input jako wartość dałem wynik z bazy ($result2).

Generalnie wzorowałem się na działających skryptach i tam było to mniejwięcej tak napisane winksmiley.jpg
vtuner
Tu nie chodzi o wartość tylko o nazwę input:

  1. name='stats_user'

a odwołujesz się:
  1. <?php
  2. $stats_user = $_POST['warstats_votes_user'];
  3. ?>


Czyli:

1) Zamień
  1. <?php
  2. $stats_user = $_POST['warstats_votes_user'];
  3. ?>

na
  1. <?php
  2. $stats_user = $_POST['stats_user'];
  3. ?>


lub

2) Zamień
  1. name='stats_user'

na
  1. name='warstats_votes_user'


I tak samo w pozostałych nazwach do których się odwołujesz.
MeTeorek
Wydało mi się to dziwne ale działa winksmiley.jpg Ciekaw jestem tylko czemu w innych skryptach to działa... Dla mnie wyższa magia winksmiley.jpg Oprócz usera wszystko się dodaje, ale z tym sobię już poradzę winksmiley.jpg

Wielki dzięki!
Pozdrawiam
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.