Admin Systeem
Ik heb een website met allerlei nederlandse streams.
Hetzelfde als NEderland.fm.
Nu ben ik bezig met een admin voor de Streams.
Nu heb ik een Gastenboek admin gebruikt, alleen ik krijg een error waar ik niet weet waar het in zit.
Script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function save($id)
{
foreach($_POST as $key => $value){
$_POST[$key] = safe_in($value) ; }
mysql_query("UPDATE streams set titel = '".$_POST['titel']."', beschrijving = '".$_POST['sms']."' wmp = '".$_POST['wmp']."' winamp = '".$_POST['winamp']."' real = '".$_POST['real']."' WHERE id = '".$id."'");
if(mysql_affected_rows() == 1)
{
$content = maakquote("Bericht opgeslagen.");
$content .= berichten();
}else{
$content = maakquote("Geen wijzigingen gevonden");
$content .= berichten();
}
return $content;
}
?>
function save($id)
{
foreach($_POST as $key => $value){
$_POST[$key] = safe_in($value) ; }
mysql_query("UPDATE streams set titel = '".$_POST['titel']."', beschrijving = '".$_POST['sms']."' wmp = '".$_POST['wmp']."' winamp = '".$_POST['winamp']."' real = '".$_POST['real']."' WHERE id = '".$id."'");
if(mysql_affected_rows() == 1)
{
$content = maakquote("Bericht opgeslagen.");
$content .= berichten();
}else{
$content = maakquote("Geen wijzigingen gevonden");
$content .= berichten();
}
return $content;
}
?>
Hij geeft telkens aan. Geen wijzigingen gevonden terwijl Delete wel doet:
Delete:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function delete($id)
{
mysql_query("DELETE FROM streams WHERE id = '".$id."' LIMIT 1");
if(mysql_affected_rows() == 1)
{
$content = maakquote("Stream verwijderd.");
$content .= berichten();
}else{
$content = maakquote("Stream niet verwijderd");
$content .= berichten();
}
return $content;
}
?>
function delete($id)
{
mysql_query("DELETE FROM streams WHERE id = '".$id."' LIMIT 1");
if(mysql_affected_rows() == 1)
{
$content = maakquote("Stream verwijderd.");
$content .= berichten();
}else{
$content = maakquote("Stream niet verwijderd");
$content .= berichten();
}
return $content;
}
?>
Weet iemand wat ik verkeerd doe?
Mvg, Kevin
Gewijzigd op 29/01/2011 21:21:45 door Kevin Blokzijl
Quote:
Weet iemand wat ik verkeerd doe?
Ja dat weet ik wel:
1. je post een geheel script, terwijl je alleen relevante code moet posten
2. dat jezelf niet nadenkt over het feit, wat die foutmelding zou kunnen inhouden
3. dat je geen fatsoenlijke foutafhandeling ingebouwd hebt om te kunnen debuggen
4. dat je nog steeds loopt te utteren met _fetch_array zonder de belangrijke 2de parameter
5. ...........
6. ...........
enz.
Zo het belangrijkste is in ieder geval opgeschreven....
En nu je je openingspost zodanig gewijzigd hebt, slaat mijn antwoord nergens meer op
Gewijzigd op 29/01/2011 21:30:00 door Noppes Homeland
Er missen een aantal komma's in de query.
Ik zeg het maar even voordat je een factuur van de Buma Stemra / Sena in de bus krijgt.
En ik had het al gewijzigd voor dat jij begon te zeuren :)
En ik zeur niet....
En sena ook niet, die stations die op mijn site staan hebben zelf al licenties.
Vroeger had je kijk en luistergeld voor TV, maar voor publiek moet heje helaas ook rechten betalen.
ja kan ook kiezen om het niet te doen, maar als je claim krijgt met wat geld..
Zeg niet dat ik je niet gewaarschuwd heb.
Ik hoef geen raad, Ik vraag alleen HOE ik dit OPLOS
- SanThe - op 29/01/2011 21:27:35:
Er missen een aantal komma's in de query.
waar?
Neemt niet weg het het een niet-genormaliseerde tabel is, maar ja....e
- SanThe - op 29/01/2011 23:44:47:
- SanThe - op 29/01/2011 21:27:35:
Er missen een aantal komma's in de query.
UPDATE ... SET ...=... komma ...=... komma enzovoort.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function save($id)
{
foreach($_POST as $key => $value){
$_POST[$key] = $value ; }
mysql_query("UPDATE streams set titel = '".$_POST['titel']."', beschrijving = '".$_POST['sms']."', wmp = '".$_POST['wmp']."', winamp = '".$_POST['winamp']."', real = '".$_POST['real']."', enabled = '".$_POST['enabled']."' WHERE id = '".$id."'");
if(mysql_affected_rows() == 1)
{
$content = "Bericht opgeslagen.";
$content .= berichten();
}else{
$content = "Geen wijzigingen gevonden";
$content .= berichten();
}
return $content;
}
?>
function save($id)
{
foreach($_POST as $key => $value){
$_POST[$key] = $value ; }
mysql_query("UPDATE streams set titel = '".$_POST['titel']."', beschrijving = '".$_POST['sms']."', wmp = '".$_POST['wmp']."', winamp = '".$_POST['winamp']."', real = '".$_POST['real']."', enabled = '".$_POST['enabled']."' WHERE id = '".$id."'");
if(mysql_affected_rows() == 1)
{
$content = "Bericht opgeslagen.";
$content .= berichten();
}else{
$content = "Geen wijzigingen gevonden";
$content .= berichten();
}
return $content;
}
?>
Hij werkt nu nog niet.
Gewijzigd op 30/01/2011 15:12:19 door Kevin Blokzijl
Sorry hoor Kevin, maar waarom haal je je admin uit een gastenboek? Dat is toch wel een beetje vaag.. Maak dan gelijk je eigen admin, zou ik denken?
Bouw eens een nette foutafhandeling in en laat de error hier zien. Script is lek => sql-injection.
Maar ik zal ff foutinjectie toepassen
Wat is dat?
Man, doe niet zo betweterig
En foutenafhandeling.. Weet je wel hoe je dit moet doen?
Gewijzigd op 30/01/2011 20:44:13 door Jurrian Nijland
Dit is voor een website van een vriend.
Ik dacht dat het een klein probleempje was die zo op te lossen is, maar niet dus.
Ik krijg de volgende foutmelding: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'real, enabled) VALUES ('1', '2', '4', '3', '5', '6'' at line 1
Gewijzigd op 30/01/2011 20:58:23 door Kevin Blokzijl