Nie chce dodawać :/ |
Nie chce dodawać :/ |
14.05.2004, 11:43:09
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 12.04.2004 Skąd: Z domq Ostrzeżenie: (0%) |
Mam problem. Pisze mały skrypt z głosowaniem. I wszysko ładnie pięknie tylko nie dodaje mi :/ Znaczy jak wyciągam wartość z bazy to jest ok ale lecz gdy chcem dodać do tej wartości 1 to nic mi sie nie dzieje :/ Pewnie pomyślicie że jestem głupi ale może (dodam że jestem bardzo początkujący Oto ten kod:
[php:1:d14cbe66f6]<?php function glosuj() { $ip = $_SERVER['REMOTE_ADDR']; $id = $_GET['id']; $zapytanie = "SELECT * FROM konkurs WHERE id='$id'"; $result = mysql_query($zapytanie); $liczba = $result['glos']; $dodac = $liczba+ ; $zapytanko = "UPDATE konkurs SET glos='$dodac' WHERE id='$id'"; $r = mysql_query($zapytanko); $pytanie = "INSERT INTO konkurs (ip) VALUES '$ip' WHERE id=$id"; $r2 = mysql_query($pytanie); oddane(); } ?>[/php:1:d14cbe66f6] |
|
|
14.05.2004, 11:54:55
Post
#2
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 2.02.2004 Ostrzeżenie: (0%) |
$dodac = $liczba+ ; ?
Jak już to $dodac = $liczba+1 ; A najlepiej tak: [php:1:ad9bed95a6]<?php $liczba = $result['glos']; $liczba++ ; $zapytanko = "UPDATE konkurs SET glos='$liczba' WHERE id='$id'"; $r = mysql_query($zapytanko); ?>[/php:1:ad9bed95a6] Albo krócej: [php:1:ad9bed95a6]<?php $liczba = $result['glos']; $zapytanko = "UPDATE konkurs SET glos='".$liczba++."' WHERE id='$id'"; $r = mysql_query($zapytanko); ?>[/php:1:ad9bed95a6] No i zabezpiecz się przy okazji przed atakiem sql injection: [php:1:ad9bed95a6]<?php $id = (int) $_GET['id']; ?>[/php:1:ad9bed95a6] EDIT: Ups.. sorry. $liczba++ powinno być oczywiście poza cudzysłowiem, myślałem, że to poprawiłem zaraz po napisaniu, a nie poprawiłem, więc robię to teraz.... Wersja q jest oczywiście debest. |
|
|
14.05.2004, 11:55:11
Post
#3
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 4.04.2003 Skąd: Częstochowa/Wrocław Ostrzeżenie: (0%) |
[php:1:f0663df3d6]
<?php function glosuj() { $ip = $_SERVER['REMOTE_ADDR']; $id = $_GET['id']; $zapytanie = "SELECT * FROM konkurs WHERE id='$id'"; $result = mysql_query($zapytanie); $liczba = $result['glos']; $dodac = $liczba++; $zapytanko = "UPDATE konkurs SET glos='$dodac' WHERE id='$id'"; $r = mysql_query($zapytanko); $pytanie = "INSERT INTO konkurs (ip) VALUES '$ip' WHERE id=$id"; $r2 = mysql_query($pytanie); oddane(); } ?> [/php:1:f0663df3d6] poprawilem linie 8, powinno byc ++ (inkrementacja). Mozna to zrobic rowniez samym zapytaniem MySQL, wtedy: [php:1:f0663df3d6]<?php function glosuj() { $ip = $_SERVER['REMOTE_ADDR']; $id = $_GET['id']; $zapytanie = "SELECT * FROM konkurs WHERE id='$id'"; $result = mysql_query($zapytanie); $zapytanko = "UPDATE konkurs SET glos=glos+1 WHERE id='$id'"; $r = mysql_query($zapytanko); $pytanie = "INSERT INTO konkurs (ip) VALUES '$ip' WHERE id=$id"; $r2 = mysql_query($pytanie); oddane(); } ?>[/php:1:f0663df3d6] -------------------- www.iNdS.pl - Najwieksza Amatorska Sieć Komputerowa w Polsce
www.marcinpeciak.eu - under construction |
|
|
14.05.2004, 12:36:02
Post
#4
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 12.04.2004 Skąd: Z domq Ostrzeżenie: (0%) |
nie dziala :/ w bazie ciagle jest 1 :/
|
|
|
14.05.2004, 13:59:21
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) |
A sprawdzałeś kod podany przez q?
[php:1:9bac0b1eb5]<?php $zapytanko = "UPDATE konkurs SET glos=glos+1 WHERE id='$id'"; ?>[/php:1:9bac0b1eb5] To musi zadziałać na 100% |
|
|
14.05.2004, 14:18:16
Post
#6
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 12.04.2004 Skąd: Z domq Ostrzeżenie: (0%) |
nie nie sprawdziłem :/
hehe działą wielkie dzięki!! |
|
|
Wersja Lo-Fi | Aktualny czas: 1.06.2024 - 04:18 |