Toon posts:

Ip logger op toets script [PHP]

Pagina: 1
Acties:
  • 71 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een toets script voor een site,alles is er in orde van,maar er zit zoeen soort ip logger op zodat maar 1 keer per pc de toets afgenomen kan worden.Ik wil dit er uit halen maar mijn PHP kennis rijkt nu niet echt zo ver om in het script te herkennen waar die code zit.

Nu vraag ik aan jullie of jullie weten waar dit stukje code zit.

Hier de scripts....

enqueteadmin8.php:



<html>
<head>
<title>Toets Admin</title>
<LINK REL="StyleSheet" HREF="http://www.kennedy-bs.nl/Leerling/themes/Capri/style/style.css">
</head>
<body>
<?php

$EnqueteDatabestand = "enquete8.dat";
// Het databestand, waar de resultaten in opgeslagen worden

$GegevensBestand = "gegevens8.dat";
// Het gegevensbestand, waar de vragen en antwoorden in staan

$Gebruikersnaam = "********";
// De gebruikersnaam voor de Admin

$Wachtwoord = "********";
// Het wachtwoord voor de Admin

if($gebruikersnaam == $Gebruikersnaam && $wachtwoord == $Wachtwoord) {

?>
<html>
<head>
<title>Toets Administratie</title>
</head>
<body>
<center>
<font face="Arial,Helvetica" size=2>
<h3>Toets Administratie</h3>
<br>
<table cellpadding=5 cellspacing=5 border=1>
<?php

if(isset($legen)) { fclose(fopen($EnqueteDatabestand,"w")); }

if(isset($nieuw)) {
$bestand = fopen($GegevensBestand,"w");
while(list($nr) = each($Vraag)) {
fputs($bestand,"$Vraag[$nr]|$Verplicht[$nr]|$Type[$nr]|$Antwoorden[$nr]\n");
}
fclose($bestand);
echo("<b>De nieuwe toets is succesvol aangemaakt!</b><br><br>");
}

$VragenEnAntwoorden = file($GegevensBestand); $a = 0;

echo("<tr><td><b>Nummer</b></td><td><b>IP adres</b></td>");
while(list($nr,$waarde) = each($VragenEnAntwoorden)) {
$a++; $Los = explode("|",trim($waarde));
echo("<td><b>$Los[0]</b></td>");
}
echo("</tr>\n");

$Ingestuurd = file($EnqueteDatabestand);
while(list($nr,$waarde) = each($Ingestuurd)) {
echo("<tr><td>".($nr+1)."</td>");
$Gegevens = explode("<>",$waarde);
while(list($tnr,$dewaarde) = each($Gegevens)) {
echo("<td>$dewaarde</td>");
}
echo("</tr>\n");
}

?>
</table>
<br><br>
<form method=post action=''>
<input type=submit value='Wis antwoorden' name=legen>
<input type=hidden name=gebruikersnaam value='<?php echo $gebruikersnaam; ?>'>
<input type=hidden name=wachtwoord value='<?php echo $wachtwoord; ?>'>
</form>
<br><br><br>
<?php if(isset($opstellen)) { ?>
<b>Maak een nieuwe toets</b><br>
<form method=post action=''>
<?php for($i = 0; $i < $aantal; $i++) {
echo("Vraag: <input type=text name=Vraag[$i]> Antwoorden: <input type=text name=Antwoorden[$i]> Type: <select name=Type[$i]><option value=0>Tekst<option value=1>Keuze<option value=2>Meerdere antwoorden</select> <input type=checkbox name=Verplicht[$i]> Verplicht<br>\n");
} ?><br>
Begin elk antwoord in het veld 'Antwoorden' met een pipe ( | ).<br><br>
<input type=submit value='Maak een nieuwe toets' name=nieuw>
<input type=hidden name=gebruikersnaam value='<?php echo $gebruikersnaam; ?>'>
<input type=hidden name=wachtwoord value='<?php echo $wachtwoord; ?>'>
</form>
<?php } else { ?>
<form method=post action=''>
Aantal vragen: <input type=text name=aantal value=3 size=4><br><br>
<input type=submit value='Maak een nieuwe toets' name=opstellen>
<input type=hidden name=gebruikersnaam value='<?php echo $gebruikersnaam; ?>'>
<input type=hidden name=wachtwoord value='<?php echo $wachtwoord; ?>'>
</form>
<?php } ?>
</body>
</html>
<?php
}

else {
echo "<form method='post'>\n";
echo "Gebruikersnaam: <input type=text name='gebruikersnaam'><br>\n";
echo "Wachtwoord: <input type=password name='wachtwoord'><br>\n";
echo "<br><input type='Submit' value='Login'>\n";
echo "</form></center>";
}

?>



enquete8.php:

<?php

// Verander de variabelen hieronder:

$EnqueteDatabestand = "enquete8.dat";
// Het databestand, waar de resultaten in opgeslagen worden

$GegevensBestand = "gegevens8.dat";
// Het gegevensbestand, waar de vragen en antwoorden in staan

$CopyrightWebmensen = false;
// Wil je de copyright van Webmensen.nl weergeven?
// true; of false;. Plaats je geen copyright, dan
// verzoeken wij je vriendelijk ergens anders op
// jouw site een link naar Webmensen.nl te plaatsen

// Hierna hoeft niets veranderd te worden.

?>
<html>
<head>
<title>Toets</title>
<LINK REL="StyleSheet" HREF="http://www.kennedy-bs.nl/Leerling/themes/Capri/style/style.css">
</head>
<body>
<center>
<h3>Toets</h3>
<br>
<table><tr><td><form method=post action=''>
<?php

$VragenEnAntwoorden = file($GegevensBestand); $a = 0;
$EnqueteBestand = file($EnqueteDatabestand);
list($ip) = explode("<>",$EnqueteBestand[count($EnqueteBestand)-1]);
if($ip == $REMOTE_ADDR) { echo("Bedankt voor het invullen van de toets!"); }
else {

if(isset($insturen)) {
$Antwoorden; $fout = false;
while(list($nr,$waarde) = each($VragenEnAntwoorden)) {
$a++; $Los = explode("|",trim($waarde));
if(($Los[1] && $Antwoord[$a]) || !$Los[1]) {
if($Los[2] == '0' || $Los[2] == '1') { $Antwoorden .= @htmlentities($Antwoord[$a],ENT_QUOTES)."<>"; }
elseif($Los[2] == '2') { for($i = 3; $i < count($Los); $i++) { $Antwoorden .= @htmlentities($Antwoord[$a][$i],ENT_QUOTES).","; } $Antwoorden .= "<>"; }
}
else { echo("Er is een verplicht veld niet ingevuld!<br><a href='javascript:history.back()'>Ga terug.</a>"); $fout = true; break; }
}
if(!$fout) {
$bestand = fopen($EnqueteDatabestand,"a");
fputs($bestand,"$REMOTE_ADDR<>$Antwoorden\n");
fclose($bestand);
echo("De antwoorden zijn succesvol ingestuurd!<br><br>");
}
}

else {

while(list($nr,$waarde) = each($VragenEnAntwoorden)) {
$a++; $Los = explode("|",trim($waarde));
echo("<b>$Los[0]</b>"); if($Los[1]) { echo(" <font color=red>*</font>"); } echo("<br>");
if($Los[2] == 0) { echo("<input type=text name=Antwoord[$a]><br>"); }
if($Los[2] == 1) { for($i = 3; $i < count($Los); $i++) { echo("<input type=radio name=Antwoord[$a] value='$Los[$i]'> $Los[$i]<br>\n"); } }
if($Los[2] == 2) { for($i = 3; $i < count($Los); $i++) { echo("<input type=checkbox name=Antwoord[$a][$i] value='$Los[$i]'> $Los[$i]<br>\n"); } }
echo("<br>");
}

?>
<input type=submit name=insturen value=Insturen><?php } } ?></form>
</td></tr></table>
<?php if($CopyrightWebmensen) { ?><br><br><a href='http://www.webmensen.nl/' target='_blank'><b style='font-family: Verdana; font-size: 8pt'>© Webmensen.nl</b></a><?php } ?>
</center>
</body>
</html>

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 16:06
Dat zijn de stukjes met $REMOTE_ADDR

Verwijderd

Topicstarter
En welk stuk moet ik er dan precies uithalen zonder het script totaal kapot te maken

  • samo
  • Registratie: Juni 2003
  • Laatst online: 15:04

samo

yo/wassup

$REMOTE_ADDR vervangen met session_id() zodat het maar 1x per sessie kan worden afgenomen?

Bekend van cmns.nl | ArneCoomans.nl | Het kindertehuis van mijn pa in Ghana


  • IJnte
  • Registratie: Juni 2003
  • Laatst online: 06-05 10:41
samo-arne schreef op woensdag 25 mei 2005 @ 10:08:
$REMOTE_ADDR vervangen met session_id() zodat het maar 1x per sessie kan worden afgenomen?
Volgens mij maak je het dan alleen maar lastiger ;) Wel beter dat wel, maar dan moet je veel gaan herschrijven vrees ik..
[edit]
PHP:
1
2
list($ip) = explode("<>",$EnqueteBestand[count($EnqueteBestand)-1]);
if($ip == $REMOTE_ADDR) { echo("Bedankt voor het invullen van de toets!");

Daar wordt het volgens mij gechecked :? Krijg je de bovenstaande melding als je voor de 2e keer een toets maakt op die pc :?

[offtopic]
Misschien kun je beter [ code = php ] [ /code ] gebruiken ;)(zonder spaties)

[ Voor 46% gewijzigd door IJnte op 25-05-2005 10:18 ]

Exploring the world by bicycle! cyclingsilk.wordpress.com


Verwijderd

Topicstarter
Als iemand op dezelfde pc de toets aflegd dan staat er "Bedankt voor de toets trallalalla".Ik wil dus dat een volgende gebruiker op die pc ook nog die toets af kan leggen

[ Voor 85% gewijzigd door Verwijderd op 25-05-2005 10:22 ]


  • IJnte
  • Registratie: Juni 2003
  • Laatst online: 06-05 10:41
Verwijderd schreef op woensdag 25 mei 2005 @ 10:13:
Als iemand op dezelfde pc de toets aflegd dan staat er "Bedankt voor de toets trallalalla".Ik wil dus dat een volgende gebruiker op die pc ook nog die toets af kan leggen
Dan moet je dit weghalen:
PHP:
1
2
3
list($ip) = explode("<>",$EnqueteBestand[count($EnqueteBestand)-1]);
if($ip == $REMOTE_ADDR) { echo("Bedankt voor het invullen van de toets!"); }
else {

Ook moet je het } na Break; weghalen. Dan moet ie et als het goed is doen ;) Plz zet nog even je code tussen de [ code = php ] tags !! dat leest makkelijker en we kunnen dan regelnummers aangeven ;)

[edit] Of je zet ipv $REMOTE_ADDR gewoon een vaag internet IP adres neer ;) Dan trapt ie er ook niet in:)
PHP:
1
if($ip == "10.0.1.156" )

Als dat natuurlijk niet je IP range is ;)

[ Voor 16% gewijzigd door IJnte op 25-05-2005 10:30 ]

Exploring the world by bicycle! cyclingsilk.wordpress.com


Verwijderd

Topicstarter
Okee ik heb het al ....bedankt voor zo ver ik weet niet hoe ik een topic moet sluiten rofl dus admin go ahead

  • IJnte
  • Registratie: Juni 2003
  • Laatst online: 06-05 10:41
Verwijderd schreef op woensdag 25 mei 2005 @ 10:29:
Okee ik heb het al ....bedankt voor zo ver ik weet niet hoe ik een topic moet sluiten rofl dus admin go ahead
Hoeft ook niet :Y)

Exploring the world by bicycle! cyclingsilk.wordpress.com


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Het is natuurlijk heel erg netjes van de mensen hier dat ze je geholpen hebben, maar dit is dus niet de bedoeling hier he? :) Om te beginnen geven we in Programming & Webscripting geen support op scripts van derden. Verder is het ook zo dat je zelf je code moet kunnen debuggen, en dat lijk je ook niet te kunnen. Je zegt simpelweg waar je naartoe wil en dumpt een gigantische lap code (volgende keer tussen [code] en [/code]-tags a.u.b.), en dat is hier simpelweg not done. :)

Ik stel voor dat je P&W FAQ - De "quickstart" even gaat lezen voordat je hier weer een topic opent. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.