Fout in script?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Vince

Vince

16/09/2007 00:36:00
Quote Anchor link
Het gaat om het php script op deze site.. Ik zelf heb er geen/half problemen mee, maar andere krijgen een error met stemmen, hoe kan dat? P.S het opnemen van de stemmen enz. werkt wel. Dit is de site:
http://members.lycos.nl/flabbo/

Dit zoon stem code:
http://members.lycos.nl/flabbo/in.php?id=5

Krijgen jullie een error?
Dit is de hit-in code.. [ niet door mij geschreven ]
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
ob_start();
include("config.php");

$sql = @mysql_query("SELECT id,naam,url,inhit FROM partners WHERE id='".$_GET['id']."'")or die(mysql_error());

$papflessen = mysql_query("Select count(1) From linken Where id='".$_GET['id']."' And ip='".$_SERVER['REMOTE_ADDR']."'")or die(mysql_error());

$ip = @mysql_query("SELECT ip FROM linken WHERE id='".$_GET['id']."'")or die(mysql_error());

If(mysql_num_rows($sql) == 0){
header("Location: index.php");
}
else if (mysql_result($papflessen,0) == "1"){
echo"<SCRIPT language='JavaScript'>alert('Je kunt slechts 1 keer per uur stemmen!')</SCRIPT>";  
//header("Location: index.php");
} else if ($ip == "".$_SERVER['REMOTE_ADDR'].""){
echo"<SCRIPT language='JavaScript'>alert('Je kunt slechts 1 keer per uur stemmen!')</SCRIPT>";  
}
else {
    
mysql_query("INSERT INTO linken (id, ip) Values ('".$_GET['id']."', '".$_SERVER['REMOTE_ADDR']."')") or die(mysql_error());
mysql_query("UPDATE partners SET inhit=inhit+'1' WHERE id='".$_GET['id']."'")or die(mysql_error());
  header("Location: index.php");
}

ob_end_flush();
?>


EDIT: Deze error word dus gegeven als je op iemand anders wil stemmen
Duplicate entry '6' for key 1
Gewijzigd op 01/01/1970 01:00:00 door Vince
 
PHP hulp

PHP hulp

29/11/2024 16:35:32
 

16/09/2007 00:45:00
Quote Anchor link
Als ik wil stemmen krijg ik een wit scherm voor de rest niks. Stem is wel genoteerd.
 
Vince

Vince

16/09/2007 00:48:00
Quote Anchor link
En als je die van iemand anders gebruikt?
http://members.lycos.nl/flabbo/in.php?id=5
 
Vince

Vince

16/09/2007 00:53:00
Quote Anchor link
EDIT: Deze error word dus gegeven als je op iemand anders wil stemmen
Duplicate entry '6' for key 1
Gewijzigd op 01/01/1970 01:00:00 door Vince
 

16/09/2007 01:09:00
Quote Anchor link
Foutje in je database, de sleutel bestaat al.

Licht denk ik zo aan regel 20:
mysql_query("INSERT INTO linken (id, ip) Values ('".$_GET['id']."', '".$_SERVER['REMOTE_ADDR']."')") or die(mysql_error());
Maak hier eens van:
mysql_query("INSERT INTO linken (id, ip) Values ('".$_GET['id']."', '".$_SERVER['REMOTE_ADDR']."')") or die('Foutje zit dus hier' . mysql_error());

Waarvoor dient de tabel linken?
 
Vince

Vince

16/09/2007 01:14:00
Quote Anchor link
Dit is de tabel:

CREATE TABLE `linken` (
`id` int(11) NOT NULL auto_increment,
`ip` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 ;

CREATE TABLE `partners` (
`id` int(11) NOT NULL auto_increment,
`naam` varchar(255) NOT NULL,
`url` text NOT NULL,
`inhit` int(11) NOT NULL,
`uithit` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 ;

CREATE TABLE `site` (
`uur` varchar(255) NOT NULL
) ENGINE=InnoDB;

INSERT INTO `site` VALUES ('10');

Wat moet ik aanpassen, ik ben nog niet zo super ervaar..
Gewijzigd op 01/01/1970 01:00:00 door Vince
 

16/09/2007 01:27:00
Quote Anchor link
Zet ik letterlijk neer, van regel 20 (orgineel staat er) die nieuwe code maken, de verandering is vet gedrukt.

Maar de fout is al duidelijk. Zit op regel 20 nou ja eigenlijk in je tabel. Je insert een nieuwe waarde in de tabel linken met de id die je krijgt uit $_GET['id'] echter deze bestaat al dus loopt het fout.

Maar mij is helemaal niet duidelijk waar tabel linken voor bedoeld is. Ik heb het idee dat je database structuur niet juist is.


In de kantlijn merk ik tevens even op dat je script niet (goed) beveiligd is tegen MySQL injecties en dus makkelijk gehacked kan worden.
 



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.