Zit met dit scriptje en ik kan de partners niet wijzigen of verwijderen doordat er toch ergens een foutje zit. Aangezien ik hier weinig kaas van heb gevreten krijg ik het niet werkend.
Zie jij waar de fout zit????
Alvast BEDANKT!!!Code:<a href="admin2.php?action=bekijken">Partners wijzigen</a> | <a href="admin2.php?action=reset">Partner systeem reseten</a> | <a href="admin.php">Hoofd Admin</a><br><br><? if($action=="reset") { echo "Weet je zeker dat je het systeem wil resetten?<br><br>"; echo "Zo ja klik <a href=\"admin2.php?action=ok\">hier</a> anders klik <a href=\"admin2.php\">hier</a>."; } if($action=="ok") { $ok = "UPDATE partners SET inhits = '0', uithits = '0'" or die (mysql_error()); $res_ok = mysql_query($ok) or die (mysql_error()); $delete_ip = "DELETE FROM unieke_bezoekers" or die (mysql_error()); $res_delete = mysql_query($delete_ip); echo "Succes vol gereset"; } if($submit) { $update = "UPDATE partners SET naam='$naam', status='$status', email='$email', inhits='$inhits', uithits='$uithits', sitenaam='$sitenaam', siteurl='$siteurl' WHERE id='$id'" or die (mysql_error()); $resultaat = mysql_query($update) or die (mysql_error()); echo "Partner is succes vol gewijzigd"; } if($action=="delete") { $delete = "DELETE FROM partners WHERE id='$id'" or die (mysql_error()); $res1 = mysql_query($delete); echo "Partner succes vol verwijderd"; } if($action=="bekijken") { $select = "SELECT * FROM partners" or die (mysql_error()); $result = mysql_query($select); ?> <table width="41%" border="0"> <tr> <td width="41%"><b>Sitenaam</td> <td width="26%"><b>Wijzigen</td> <td width="33%"><b>Deleten</td> </tr> <? while ($list = mysql_fetch_object($result)) { ?> <tr> <td width="41%"><? echo "<a href=\"$list->siteurl\">$list->sitenaam</a>"; ?></td> <td width="26%"><? echo "<a href=\"admin2.php?action=wijzigen&id=$list->id\">Wijzigen</a>"; ?></td> <td width="33%"><? echo "<a href=\"admin2.php?action=delete&id=$list->id\">Deleten</a> (Kijk uit)"; ?></td> </tr> <? } ?> </table> <? } if($action=="wijzigen") { $select = "SELECT * FROM partners WHERE id='$id'" or die (mysql_error()); $result = mysql_query($select); while ($list = mysql_fetch_object($result)) { ?> <? echo "<form name=\"form1\" method=\"post\" action=\"admin2.php?id=$id\">"; ?> <table width="400" border="0"> <tr> <td colspan="2"><b>Partners wijzigen!</td> </tr> <tr> <td width="30%">Naam</td> <td width="70%"> <? echo "<input type=\"text\" name=\"naam\" value=\"$list->naam\">"; ?> </td> </tr> <tr> <td width="30%">Email</td> <td width="70%"> <? echo "<input type=\"text\" name=\"email\" value=\"$list->email\">"; ?> </td> </tr> <tr> <td width="30%">Inhits</td> <td width="70%"> <? echo "<input type=\"text\" name=\"inhits\" value=\"$list->inhits\">"; ?> </td> </tr> <tr> <td width="30%">Uithits</td> <td width="70%"> <? echo "<input type=\"text\" name=\"uithits\" value=\"$list->uithits\">"; ?> </td> </tr> <tr> <td width="30%">Site naam</td> <td width="70%"> <? echo "<input type=\"text\" name=\"sitenaam\" value=\"$list->sitenaam\">"; ?> </td> </tr> <tr> <td width="30%">Site url</td> <td width="70%"> <? echo "<input type=\"text\" name=\"siteurl\" value=\"$list->siteurl\">"; ?> </td> </tr> <tr> <td width="30%">Status</td> <td width="70%"> <? echo "<input type=\"text\" name=\"status\" value=\"$list->status\">"; ?> </td> </tr> <tr> <td colspan="2"> <input type="submit" name="submit" value="Ok"> </td> </tr> </table> </form> <? } } ?>
- waar zit de fout
-
11-10-2014, 14:41 #1
- Berichten
- 412
- Lid sinds
- 19 Jaar
waar zit de fout
-
-
11-10-2014, 15:15 #2
- Berichten
- 796
- Lid sinds
- 16 Jaar
Re: waar zit de fout
En wat is exact de fout?
Op welk moment doet de fout zich voor?
Krijg je een error?
Ik zou alvast <? vervangen door <?php
Vanaf PHP 5.6 werkt deze verkorte methode niet meer.
-
11-10-2014, 15:26 #3
- Berichten
- 40
- Lid sinds
- 16 Jaar
Re: waar zit de fout
Het probleem is dat het script gemaakt is op PHP4.
Om dit werkend te krijgen moet het herschreven worden, omdat wij tegenwoordig superglobals gebruiken.
Vb: $action == "ok", $action bestaat niet. Tegenwoordig is het $_GET['action']
Vb2: $submit is tegenwoordig: if ( $_SERVER['REQUEST_METHOD'] == 'POST' )
Daarnaast is de weergegeven mysql_query totaal niet beveiligd en is MySQL-Injection mogelijk.Laatst aangepast door Mario L. : 11-10-2014 om 15:38 Reden: Typo
-
11-10-2014, 15:34 #4
- Berichten
- 412
- Lid sinds
- 19 Jaar
Re: waar zit de fout
is op die pagina gewijzigd maar dat verhelpt dit probleem nog niet...
Werk ok nog met een iets oudere php versie volgens mij
-
11-10-2014, 15:40 #5
- Berichten
- 40
- Lid sinds
- 16 Jaar
Re: waar zit de fout
Je zult toch echt meer informatie moeten geven. Wij zijn helaas geen helderzienden.
Welke foutmelding krijg je? Wat gebeurd er niet, wat wel zou moeten? Leg eens uit, dan kunnen wij je ook helpen..
-
11-10-2014, 15:51 #6
- Berichten
- 412
- Lid sinds
- 19 Jaar
Re: waar zit de fout
er word gewoon niks gewijzigd en ook niet goed geladen.
Maar denk dat ik de tip van mario maar beter opvolg en het script vervang voor een betere....
script is idd al aardig oud en zit ook niet op gezeik te wachten
-
11-10-2014, 16:12 #7
- Berichten
- 153
- Lid sinds
- 14 Jaar
Re: waar zit de fout
Als het script zo zie, lijkt mij dat ook veruit het beste.
Het gebruikt verouderd, onveilige technieken, is zelf onveilig opgezet en door de afschuwelijke mix van HTML en PHP niet begrijpaar en onderhoudbaar. Dit is wat mij betreft een redelijk goed voorbeeld van hoe het niet moet. Ik zou een andere programmeur zoeken of (als dat van toepassing is) zorgen dat je jezelf eerst verder bekwaamd voordat je software maakt die voor anderen dan jezelf benaderbaar is.
Sorry.
-
11-10-2014, 16:12 #8
- Berichten
- 195
- Lid sinds
- 17 Jaar
Re: waar zit de fout
Inderdaad zoals mario zei.
Je geeft action mee via de url. Heb je $action wel gespecificeerd?
Door: $action = $_GET["action"]; toe te voegen, dit zie ik namelijk niet in je script.
Dus dan krijg je:
<a href="admin2.php?action=bekijken">Partners wijzigen</a> | <a href="admin2.php?action=reset">Partner systeem reseten</a> | <a href="admin.php">Hoofd Admin</a><br><br><?
$action = $_GET["action"];
if($action=="reset"){
echo "Weet je zeker dat je het systeem wil resetten?<br><br>"; echo "Zo ja klik <a href=\"admin2.php?action=ok\">hier</a> anders klik <a href=\"admin2.php\">hier</a>.";
}
enz..
-
11-10-2014, 17:35 #9
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Re: waar zit de fout
Los van het feit dat je het inderdaad niet zo moet bouwen en dat elke regel wel voor verbetering vatbaar is...
De fout zit in dit stukje:
$update = "UPDATE partners SET naam='$naam', status='$status', email='$email', inhits='$inhits', uithits='$uithits', sitenaam='$sitenaam', siteurl='$siteurl' WHERE id='$id'" or die (mysql_error());
Om die query moet natuurlijk nog een mysql_query() staan:
$update = mysql_query("UPDATE partners SET naam='$naam', status='$status', email='$email', inhits='$inhits', uithits='$uithits', sitenaam='$sitenaam', siteurl='$siteurl' WHERE id='$id'") or die (mysql_error());
(plus mysql_real_escape_string om elke parameter etc...)
-
13-10-2014, 20:34 #10
- Berichten
- 155
- Lid sinds
- 17 Jaar
Re: waar zit de fout
Ik gebruik hetzelfde script toevallig ook op mijn site (inderdaad al verouderd) en bij mij werkt het goed. Heeft iemand later nog wel wat verbeterd.
Als je nog dit script wilt gebruiken kan ik je mijn files wel toesturen. Is precies hetzelfde script.
Groetjes Alessia
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic