Query werkt niet meer. niks aan veranderd

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kevin Blokzijl

Kevin Blokzijl

24/02/2012 14:01:09
Quote Anchor link
Hallo,

Ik heb een probleem met het volgende stukje code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$result
= mysql_query("select * from leden where id='".$_GET['id']."'") or die(mysql_error());
    $date = date("d-m-Y");
    if ($row = mysql_fetch_array($result)) {    
    mysql_query("UPDATE leden SET punten=punten+'0.5' WHERE id='".$_GET['id']."'") or die(mysql_error());    
    mysql_query("UPDATE leden SET verkocht=verkocht+'1' WHERE id='".$_GET['id']."'") or die(mysql_error());
    mysql_query("INSERT INTO kopers (ip, userid, datum) VALUES ('$_SERVER[REMOTE_ADDR]','".$_GET['id']."',NOW())");    echo "Je hebt zojuist 0,5 punt gegeven aan de gebruiker met ID: " . $_GET['id'];
        }
else {
    echo "Gebruiker bestaat niet!";
?>


Sinds 1 maand werkt dit stukje niet meer:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php mysql_query("UPDATE leden SET punten=punten+'0.5' WHERE id='".$_GET['id']."'") or die(mysql_error()); ?>


Heb er niks aan veranderd, maar hij werkt niet meer. een user krijgt wel te zien dat er op zijn link is geklikt. (verkocht)

Weet iemand hoe ik dit kan oplossen?

Alvast bedankt,
Gewijzigd op 24/02/2012 14:03:12 door Kevin Blokzijl
 
PHP hulp

PHP hulp

22/12/2024 11:18:27
 
Gerhard l

gerhard l

24/02/2012 14:08:25
Quote Anchor link
En hoe moeten wij nou weten wat er aan de hand is??

Wat deed het eerst wel, wat nu niet, krijg je errors?

Enige wat ik nu kan zeggen is, beveilig je input met mysql_real_escape_string(); en zorg voor goede foutafhandeling ipv or die();. En bij de laatste query ben je het remote addres vergeten uit de haakjes te halen.
Gewijzigd op 24/02/2012 16:27:35 door gerhard l
 
Kevin Blokzijl

Kevin Blokzijl

24/02/2012 14:20:57
Quote Anchor link
Gerhard l op 24/02/2012 14:08:25:
En hoe moeten wij nou weten wat er aan de hand is??

Wat deed het eerst wel, wat nu niet, krijg je errors?

Enige wat ik nu kan zeggen is, beveilig je input met mysql_real_escape_string(); en zorg voor goede foutafhandeling ipv or die();. En bij de laatste query ben je het remote addres vergeten uit de haakjes te halen.


Ik krijg geen errors. maar de leden krijgen er geen punten bij maar wel dat er een x extra op de link is geklikt. dat is de verkocht query.
 
Erwin H

Erwin H

24/02/2012 14:33:02
Quote Anchor link
Kevin Blokzijl op 24/02/2012 14:01:09:
Weet iemand hoe ik dit kan oplossen?

Door te beginnen met debuggen...
 
Kevin Blokzijl

Kevin Blokzijl

24/02/2012 14:38:41
Quote Anchor link
Erwin H op 24/02/2012 14:33:02:
Kevin Blokzijl op 24/02/2012 14:01:09:
Weet iemand hoe ik dit kan oplossen?

Door te beginnen met debuggen...


Ehm.. Hoe?
 
- Ariën  -
Beheerder

- Ariën -

24/02/2012 14:40:36
 
Erwin H

Erwin H

24/02/2012 14:43:36
Quote Anchor link
Ik zou beginnen met eens testjes te doen als:
- krijg ik alle parameters die ik gebruik wel juist door ($_GET checken)
- ziet mijn query er wel helemaal goed uit (echo query)
- echo's voor en na elke regel om te kijken of je script executie wel helemaal goed gaat
- update statement uitvoeren direct in mysql (bijvoorbeeld via phpmyadmin) om te kijken of dat wel goed gaat, etc etc

Standaard debug stappen zeg maar....
 
Kevin Blokzijl

Kevin Blokzijl

24/02/2012 15:12:51
Quote Anchor link
Hmm.. Nu heb ik '0.5' veranderd in '1' en dan werkt het wel.

Hoe kan dat?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
 mysql_query("UPDATE leden SET punten=punten+'1' WHERE id='".$_GET['id']."'") or die(mysql_error());    
?>
 
Erwin H

Erwin H

24/02/2012 15:18:17
Quote Anchor link
Kijk eens naar de tabel definitie, wat voor datatype heeft punten?
 
Kevin Blokzijl

Kevin Blokzijl

24/02/2012 15:27:44
Quote Anchor link
Hij had INT(3) heb hem nu op VARCHAR(5) gezet.
En nu werkt hij wel.
Gewijzigd op 24/02/2012 15:28:00 door Kevin Blokzijl
 
Erwin H

Erwin H

24/02/2012 15:32:38
Quote Anchor link
varchar? Dat is een string! Maak er dan gewoon even double van, dan blijft het een getal.

Ennuh, wat is er dan waar van:
Quote:
Sinds 1 maand werkt dit stukje niet meer:
Heb er niks aan veranderd, maar hij werkt niet meer.

Een datatype verandert volgens mij niet vanzelf.
 
Kevin Blokzijl

Kevin Blokzijl

24/02/2012 15:33:50
Quote Anchor link
Erwin H op 24/02/2012 15:32:38:
varchar? Dat is een string! Maak er dan gewoon even double van, dan blijft het een getal.

Ennuh, wat is er dan waar van:
Quote:
Sinds 1 maand werkt dit stukje niet meer:
Heb er niks aan veranderd, maar hij werkt niet meer.

Een datatype verandert volgens mij niet vanzelf.


Ik zou het ook niet weten. kreeg een mail van een lid dat hij niet meer werkte dus toen had ik even gekeken en idd. hij werkte niet meer.

Maar hij heeft altijd wel gewerkt. het kan zijn dat ik met de overgang van de oude naar de nieuwe server iets veranderd heb.

Toch bedankt iedereen!
 
Obelix Idefix

Obelix Idefix

24/02/2012 15:50:15
Quote Anchor link
Kevin Blokzijl op 24/02/2012 14:01:09:
Heb er niks aan veranderd


Er is dus duidelijk wel wat veranderd:

Kevin Blokzijl op 24/02/2012 15:33:50:
het kan zijn dat ik met de overgang van de oude naar de nieuwe server iets veranderd heb.


Welke versie draaide er op de oude en wat draait er op de nieuwe server?
 
Olivier -

olivier -

24/02/2012 16:13:03
Quote Anchor link
mysql_real_escape_string of wil je gehackt worden?
 
Kevin Blokzijl

Kevin Blokzijl

24/02/2012 16:32:27
Quote Anchor link
Olivier - op 24/02/2012 16:13:03:
mysql_real_escape_string of wil je gehackt worden?


Hoe werkt dat dan?
 
Wouter J

Wouter J

24/02/2012 16:33:55
Quote Anchor link
mysql_real_escape_string

Om alle variabele in ene query moet je mysql_real_escape_string( $varName ) zette (Waarbij $varName de naam van de variabele is). Anders kunnen ze zo je db hacken.
 
Obelix Idefix

Obelix Idefix

24/02/2012 17:14:56
Quote Anchor link
Kevin Blokzijl op 24/02/2012 16:32:27:
Olivier - op 24/02/2012 16:13:03:
mysql_real_escape_string of wil je gehackt worden?


Hoe werkt dat dan?


Ooit van Google gehoord?! ;s
(Of lees de topics op dit forum, daar komt het ook regelmatig naar voren.)
 
Kevin Blokzijl

Kevin Blokzijl

24/02/2012 19:37:14
Quote Anchor link
Obelix en Idefix op 24/02/2012 17:14:56:
Kevin Blokzijl op 24/02/2012 16:32:27:
Olivier - op 24/02/2012 16:13:03:
mysql_real_escape_string of wil je gehackt worden?


Hoe werkt dat dan?


Ooit van Google gehoord?! ;s
(Of lees de topics op dit forum, daar komt het ook regelmatig naar voren.)

Vroeg jou niks? Als je niet wilt reageren reageer dan niet.

Bedankt de rest. ik ben ermee begonnen en ga al mijn pagina's doen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.