Log file

Status
Niet open voor verdere reacties.
Als ik die tabel heb aangemaakt in Access...
Gewoon de velden die er staan aangegeven en aangemaakt (verder niks aan gedaan) en het stukje script wat hierboven erbij heb gevoegd, dan krijg ik de volgende foutmelding:

Parse error: syntax error, unexpected T_STRING, expecting '}' in C:\DBS\debiteur.php on line 185

Dat is in deze regel:
if($logged = mysql_query(" INSERT INTO `mijn_log` (`id`,`datum`,`gebruikersnaam`,`naam`,`sessie`,`komend_van_url`) VALUES ('{$id}','{$datum}','{$_POST[gebruikersnaam]}','{$naam}','{$sessie}','{$komend _van_url}') "))

ik denk dat mysql_query fout is??

Maar MAX kun je niet dat hele script wat ik je gegeven heb, het er invoegen, als je wilt? zou wel super wezen...voor jouw is het misschien peace of cake...

Alvast bedankt
 
Let er wel op de je geen spaties in je variabele naam hebt staan. In jouw post staat een spatie in de "komend _van_url" dat moet "komend_van_url" zijn.

Je moet het op dezelfde plaats in je script zetten als jou eigen oplossing en binnen de conditie:

if( $_SERVER['REQUEST_METHOD'] == 'POST' )

{

if($logged = @mysql_query(" INSERT INTO `mijn_log` (`id`,`datum`,`gebruikersnaam`,`naam`,`sessie`,`komend_van_url`) VALUES ('{$id}','{$datum}','{$_POST[gebruikersnaam]}','{$naam}','{$sessie}','{$komend_van_url}') ")) {
echo "Login is toegevoegd aan het log\n";
} else {
echo "Login is niet toegevoegd aan het log\n";
}

}

Maar zolang de database tabel niet bestaat zul je errors krijgen op je database gedrag. Die heb ik onderdrukt in het bovenstaande waardoor je alleen de output van het script zult krijgen.
 
Ìk heb dit ge importeerd....

Maar de gegevens komen nog niet in de tabel....
Moet ik niet ergens naar de tabel/mdb verwijzen ofzo, of kan die dat gewoon zelf vinden...??

En anders als je tijd hebt...wil jij dan het script in orde maken(en/of tabel)...en als je wilt natuurlijk....
 
Niet om vervelend te zijn maar je bent helemaal niet bekend met php of wel?

In de onderstaande regel is mijn_log de tabel, met andere woorden als je de tabel hebt aangemaakt in de database dan moet je die "mijn_log" noemen of in het script "mijn_log" veranderen in de naam die je gekozen hebt.

...mysql_query(" INSERT INTO `mijn_log` (`id`,`datu....

Stel dat je de tabel "aanmeld_logboek" hebt genoemd dan wordt de regel zo:

...mysql_query(" INSERT INTO `aanmeld_logboek` (`id`,`datu....

Als je een beetje engels kunt dan zie je ook staan:

insert into -> invoegen in

dan komt de tabel waar hij het invoegt en dan de waarden die ingevoegt moeten worden.

Ik kan niet meer doen dan dit omdat ik geen ervaring heb met het aanmaken van een db tabel in ACCESS, het script dat ik eerder gaf om met PHP een tabel aan te maken is voor een MySql db en zal dus niet werken. Zorg dus eerst dat je die tabel gemaakt krijgt.

Succes
 
hehe ja tuurlijk dat snap ik ook wel....

Dat is me ook allemaal wel gelukt....
Maar lijkt wel of die mysql code niet pakt?

Kan daar iets anders staan i.p.v if($logged = @mysql_query?
 
Als je het in een db wil zetten niet volgens mij. En dan ben je weer terug bij af.
 
Dit is wel zonde....ja ik weet het niet?

Maar moet je geen sessie starten in het script ofzo, om de database te kunnen lezen enz....?

Maar zou je in ieder geval willen proberen om jouw scripts in mijn script te plaatsen?

Alvast thnx...!! misschien doet die het dan toch wel?
 
Hi The_lion,

dat werkt niet namelijk wat ik eerder voordeed is het enige wat je regulier in je script moet gebruiken. De rest moet daar niet in. Het eerste deel is een script wat je eenmalig moet uitvoeren.

Stap 1
Maak een nieuw php document en plak onderstaande code erin:

<?php

$mijn_log_tabel_naam = "vul hier de naam die je wilt in";

$setup_table = mysql_query("CREATE TABLE `{$mijn_log_tabel_naam}` (
`id` int(11) NOT NULL auto_increment,
`datum` varchar(30) NOT NULL default '0',
`gebruikersnaam` varchar(48) NOT NULL default '',
`naam` varchar(48) NOT NULL,
`sessie`varchar(52) NOT NULL,
`komend_van_url` tinytext NOT NULL,
PRIMARY KEY (`id`)) TYPE=MyISAM COMMENT='Het logboek' AUTO_INCREMENT=13");

if($setup_table) echo "Log tabel is gemaakt\n";
else echo "Log tabel is niet gemaakt\n";
?>

Vul vervolgens de variabele in met een naam die jij wilt, alleen letters gebruiken met underscores.

Stap 2
Sla het bestand op als install.php en upload het naar je server en run het in je browser en het script zal je vertellen of het gelukt is.

Als dit goed gaat is de tabel aangemaakt.

Stap 3
Plak dan deze code in jouw script, tussen het REQUEST_METHOD if statement:

if( $_SERVER['REQUEST_METHOD'] == 'POST' )

{
// Vul hier dezelfde naam in
$mijn_log_tabel_naam = "vul hier de naam die je wilt in";
$id = "hier moet de nieuwe id komen";
$naam = "hier moet de naam komen";
$sessie = session_id(); // niets aan doen
$komend_van_url = $_SERVER[HTTP_REFERER]; // niets aan doen

if($logged = @mysql_query(" INSERT INTO `{$mijn_log_tabel_naam}` (`id`,`datum`,`gebruikersnaam`,`naam`,`sessie`,`komend_van_url`) VALUES ('{$id}','{$datum}','{$_POST[gebruikersnaam]}','{$naam}','{$sessie}','{$komend_van_url}') ")) {
echo "Login is toegevoegd aan het log\n";
} else {
echo "Login is niet toegevoegd aan het log\n";
}

}

Stap 4
Zorg en dan voor dat de variabelen id en naam bestaan.

Als dat werkt kunnen we verder kijken naar hoe je het logboek uit kunt lezen.
 
kijk dit is duidelijk....

Je helpt me echt super, bedankt....

Alleen moet ik in dat stukje script wat ik in mijn php bestanden moet zetten, niet de verwijzing maken naar install.php?

En hoe kan ik testen of die de tabel aanmaakt?
Want als ik dat bestand open, dan zie je alleen het script (tekst) in de explorer.

En waar wordt die tabel aangemaakt?

Sorry voor de vraagjes weer :$
 
Hij geeft trouwens ook foutmelding op deze regel:

$qry = "SELECT * FROM qryUnion WHERE ".$_POST['veld']." LIKE '%".$_POST['trefwoord']."%'";

dan krijg ik deze foutmelding, als ik alles erin zet:

Notice: Undefined index: veld in C:\DBS\debiteur.php on line 200

Notice: Undefined index: trefwoord in C:\DBS\debiteur.php on line 200
 
Goeiemorgen The_lion,

als je het script in tekst ziet met <?php aan het begin van het document en ?> aan het einde dan is er iets niet goed gegaan. Je moet de install.php nergens includen, wel moet je in de install het bestand includen waar de db connectie mee gemaakt wordt.

De error notices die je krijgt krijg je enkel omdat E_ALL aanstaat. De POST variabelen zijn undefined (niet gedefinieerd) als de POST methode niet gebruikt wordt om het document aan te spreken. Die variabelen zijn dan leeg. Dit is absoluut geen probleem voor het script alleen in E_ALL modus krijg je daar een error notice van. Als je de error mode aanpast naar E_PARSE dan krijg je wel de php code errors maar niet de undefined notices.
 
Geplaatst door MAX232
Als je de error mode aanpast naar E_PARSE dan krijg je wel de php code errors maar niet de undefined notices.
Wil je dit soort 'tips' achterwege laten ? Het is namelijk verre van een oplossing en absoluut niet professioneel.

The_Lion moet simpelweg met isset() controleren of de POST-waarden bestaan.
PHP:
if(isset($_POST['veld'], $_POST['trefwoord']))
{
$qry = '...';
// Etc
}
 
JP,

Mijn bedoeling is vooral om in het log file te kunnen zien, wie wat opzoekt....

Dus de user die inlogt...welke gegevens/zoekopdrachten opgeeft....
En dat in een log file
 
Geplaatst door The_Lion
JP,

Mijn bedoeling is vooral om in het log file te kunnen zien, wie wat opzoekt....

Dus de user die inlogt...welke gegevens/zoekopdrachten opgeeft....
En dat in een log file
Ja, nou, en, dus ?
 
PHP:
if(isset($_POST['veld'], $_POST['trefwoord']))

Met die code krijg je dat toch niet voor elkaar?

of waar moet ik die code plaatsen en uitvoeren enz?
 
Vervang dit:
PHP:
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
door het door mij eerder gegeven stukje code.
 
misschien een rare vraag, maar wat bereik ik hier mee als ik dat doe?

Kan je misschien nader uitleg geven, sorry :$

Krijg ik dan ook met Users in mijn log enzo?
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan