Hallo

Ik loop tegen een raar verschijnsel op. ik heb op mijn website steeds soms na 1 week soms na 2 weken soms na 3 dagen het rare verschijnsel dat de inhoud gewist wordt. dus alles wat in de database staat ( content ) wordt gewist. dit is niet zo bij wachtwoorden/gebruikers etc maar enkel de berichten die op de voorpagina staan. ik heb contact gehad met de host en ze hebben de log nagetrokken en niks vreemds gevonden.

heeft iemand hier ervaring mee?

overigens moet ik wel melden dat voor dit stukje een klein admin gedeelte heb gemaakt om makkelijk en snel berichtjes toe te voegen. maar dit is niets meer dan een insert en een kleine verwijder functie. overigens kan alleen enkel 1 gebruiker daarbij en dat ben ik. en ja de inputs worden gewoon beveiligd met mysql_real_escape_string en het passwordje is ook gesalt en gepeperd.

ik vind het maar heel vreemd
Ik heb er geen ervaring mee (gelukkig)

Kan het te maken hebben met een instelling die bijvoorbeeld zegt na zoveel toegevoegde berichten tabel eerst legen?
nee ik denk het niet ik heb namelijk niks veranderd aan de database. de instellingen zijn volgens mij gewoon correct. is er niet een manier om alles bij te houden? elke beweging op de website elke actie etc..
Als je wil, kan je elk contact met de server loggen (logt ook elke muisklik op een link, ...).
Hou dan bij:
IP adres gebruiker, url, tijd, eventueel REQUEST_METHOD (kwestie dat je ziet of ze Post data proberen toevoegen)


Reshad F op 14/06/2012 15:33:53

... een klein admin gedeelte heb gemaakt om makkelijk en snel berichtjes toe te voegen. maar dit is niets meer dan een insert en een kleine verwijder functie. ...


Vertel daar eens wat meer over; vooral die delete functie.
Gebeurt dat ook via index.php of staat dit overal wat los van?
Misschen een ideetje,

je maakt een voorlope nieuwe tabel aan genaamd 'Gedeletedop'.
Telkens als je dan via dat 'adminpaneeltje' inlogt, en iets verwijdert, wordt er ook iets toegevoegt in de nieuwe tabel.

En daar kan je dan het IP-adres bijvoegen enz.
Zoniet, je wachtwoord veranderen van je mysql of kijken naar betere beveiliging van heel je site.

(Door een sql-injection, kan hij ook andere gegevens verwijderen of aanpassen)

Dem
Als het een SQL database fout is kun je de database controleren met "CHECK table"
Ik heb zoiets ook eens gehad met een tabel in een database, de database had auto increment, er waren 16 rijen en elke volgende rij had opeens een auto increment van tientallen cijfers. Ik kreeg dit niet meer goed en heb de inhoud van de tabel gekopieerd naar een andere tabel. Toen heb ik de slechte tabel verwijderd, en precies dezelfde tabel opnieuw gemaakt en de gekopieerde data er terug in gezet.

[size=xsmall]Toevoeging op 14/06/2012 18:40:42:[/size]

Of doe eens een week of 2 de verwijder functie weghalen. En kijk dan of de fouten stoppen?
Controleer ook de crons, stored procedure en je triggers als je die evt hebt.
bij de delete-functie: Heb je hier een 'LIMIT 1' in staan?
even antwoord op alle vragen.

@tobias nee ik heb geen limit 1 op de delete staan. de delete is heel simpel gebouwd en ziet er zo uit

<?php

function removeMessage($id)
{

$dQuery = "DELETE FROM content
WHERE id = '". (int) $id ."'
";

$delete = mysql_query($dQuery);
if($delete === false)
{
throw new Exception ('FOUT: kan bericht niet verwijderen');
return false;
}
else
{

return true;
header('refresh: 2;');
}
}


try
{
$delete;

}
catch (Exception $e)
{
echo $e->getMessage();
}
?>

@niels ik heb geen crons het is een hele simpele website volleedig html5 en css3 en alleen dat ene stukje database waarin ik de content voor de frontpage heb omdat de rest vrijwel statisch is.

@jan de sql database zitten geen fouten in, ik heb in iedergeval niets gevonden.

@kris & dem

de admin gedeelte kan je heen als je achter de website /admin zet en dan inlogt vervolgens kom je op admin.php waar the magic happens. de code is niet heel boeiend paar simpele queries.

ik heb zelfs hier gepost wat erin staat t is met de html erbij maar 160 regeltjes..

http://pastebin.com/UAuMQEuU

let niet op de opbouw enz ervan ik heb dit lang geleden gebouwd en opnieuw hergebruikt omdat ik op het moment geen tijd heb gehad iets moois te bouwen. ( druk met stage en OO lerenn )

@kris hoe houd ik zo een error log bij? ik heb er nooit eerder een gemaakt of bijgehoudenn. heb je een voorbeeldje o.i.d?

[size=xsmall]Toevoeging op 14/06/2012 23:52:38:[/size]

edit: ik heb een tracing aangezet in mijn phpmyadmin. misschien dat ik hiermee verder kom:) maar hulp is nog altijd welkom natuurlijk.
tot op heden krijg ik het nog steeds dat de content verdwijnt. ik had zoals eerder vermeld de tracking aangezet op mijn phpadmin en ik zie dat de table steeds gedropt wordt en precies hetzelfde aangmaakt wordt weer ( maar dan zonder inhoud dus)

dit is toch heel raar? ik weet zeker dat het niet door iets in mijn script komt want ik heb daar niks staan wat een tabel aan maakt. heeft er iemand een idee wat dit kan zijn?

Reageren