Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nie chce dodawać :/
V!c3r
post 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]
Go to the top of the page
+Quote Post
cboot
post 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+ ; questionmark.gif?
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.
Go to the top of the page
+Quote Post
q
post 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
Go to the top of the page
+Quote Post
V!c3r
post 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 :/
Go to the top of the page
+Quote Post
BzikOS
post 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%
Go to the top of the page
+Quote Post
V!c3r
post 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!!
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: 1.06.2024 - 04:18