wrom?quote:Op zaterdag 28 januari 2006 22:02 schreef LeeHarveyOswald het volgende:
[..]
hmm dat eerste gaat nogal lastig worden vrees ik.....
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24  | if(!empty($_POST)){ $aan = $_POST['aan']; $onderwerp = $_POST['onderwerp']; $realname = $_POST['realname']; $email = $_POST['email']; $nickname = $_POST['nickname']; $ip = $_SERVER['REMOTE_ADDR']; $bericht = $_POST['bericht']; $pf = "@pestforum.nl"; $adres = $aan.$pf; $voor = "Email via contact formulier: " ; $totaalonderwerp = $voor.$onderwerp; $eindbericht = "Het onderstaande email bericht is afkomstig van het contactformulier van pestforum.nl\nGegevens van de persoon:\nNaam: $realname \nForum naam: $nickname \n Email adres: $email \n IP Nummer: $ip \n \n bericht onderwerp: $onderwerp \n\n bericht: \n $bericht "; mail($adres, $totaalonderwerp, "$eindbericht", "From: PestforumFormulier"); // zet dit in een cookie "Je email is verzonden! Bedankt! (Pestforum is in het andere venster nog geopend!)"; header('location: '.$_SERVER['PHP_SELF']); //rest van de pagina. Immers, als er gepost is, hoef je toch de rest van de pagina niet uit te voeren. //lees hier je cookie uit en echo de inhoud. ?>  | 
Weet ik eigenlijk nietquote:Sluiten met javascript 'vraagt' toch of het venster gesloten moet worden? het gaat nl. niet om een popup![]()
			
			
			
			
			
			
			
			
			
			
			
			In een elsequote:Op zaterdag 28 januari 2006 22:48 schreef LeeHarveyOswald het volgende:
de code hierboven staat in een else{ }dus dat kan ik moeilijk even gaan verkassen ... ik moest dus een manier verzinnen dat het verzenden tegen gaat.
kan ik niet op een of andere manier zeggen $_post == empty; ?
| 1 | 
			
			
			
			Stukje controle er bovenquote:Op zaterdag 28 januari 2006 23:01 schreef Swetsenegger het volgende:
[..]
In een else
Die code wordt toch pas uitgevoerd bij een post? Een post springt sowieso direkt naar de action pagina. Je kijkt dus direkt boven aan die pagina of die POST er is, zoja doe wat. Zo nee ga dan pas html parsen. Elke andere constructie zorgt er sowieso voor dat je regelmatig html voor niets parst.
Je kan het nog met deze proberen
[ code verwijderd ]
			
			
			
			| 1 | 
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			Daar zat ik ook al aan te denken, kan 'views' echter niet op deze pagina vinden:quote:Op zondag 29 januari 2006 08:10 schreef rickmans het volgende:
je zou eventueel nog kunnen overwegen om backticks om de kolom in de order by toe te voegen, dat wil de nodige interpretatie problemen nog wel voorkomen.
			
			
			
			wat een lang antwoord jeraquote:Op zondag 29 januari 2006 08:18 schreef JeRa het volgende:
[..]
Daar zat ik ook al aan te denken, kan 'views' echter niet op deze pagina vinden:
Reference Manual :: 9.6 Treatment of Reserved Words in MySQL
Views worden pas ondersteund vanaf MySQL 5.x maar zelfs daar komt het alleen als de keyword 'view' voor. Maar het is het proberen iig waardwat lul ik nou
het is het proberen helemaal niet waard, sorteren op één rij is nutteloos
ik moet leren m'n eigen antwoorden te onthouden
Echter wordt het een probleem mocht je meerdere rijen met COUNT()-waarden hebben. Zou MySQL al bij voorbaat hebben besloten aan de vorm van de query dat er geen sortering mogelijk is? Want een dergelijke query met GROUP BY wil je natuurlijk wel kunnen sorteren.
edit zoveel:
Heb het met een soortgelijke query geprobeerd hier op MySQL 4.1.15, dat werkt zowel in phpMyAdmin als in PHP prima. Ik gok dat LeeHarveyOswald iets verkeerds heeft zitten in $startdag of $vandaag
			
			
			
			Ben een beetje gefrustreerd door de programmeurs van MySQL. Ze moeten maar een fatsoenlijke parser + bijbehorende foutmeldingen schrijven goddommequote:
			
			
			
			hetgeen wat ik wel een paar ben tegen gekomen is dat mysql het vrij lastig vond om op aliases te sorteren als er een geen backticks om heen stonden. Gelukkig was het geen constant gedrag, want soms wilde die het wel en soms nietquote:Op zondag 29 januari 2006 08:18 schreef JeRa het volgende:
[..]
Daar zat ik ook al aan te denken, kan 'views' echter niet op deze pagina vinden:
Reference Manual :: 9.6 Treatment of Reserved Words in MySQL
Views worden pas ondersteund vanaf MySQL 5.x maar zelfs daar komt het alleen als de keyword 'view' voor. Maar het is het proberen iig waardwat lul ik nou
het is het proberen helemaal niet waard, sorteren op één rij is nutteloos
ik moet leren m'n eigen antwoorden te onthouden
			
			
			
			
			
			
			
			
			
			
			
			| 1 2 3 4 5 6 7  | $sql = "SELECT COUNT(Datum) as Viewed FROM Stats WHERE Datum = '".$vandaag."'"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Views = $result['Viewed']; echo $Views; ?>  | 
			
			
			
			
			
			
			
			
			
			
			
			You're not to blame, MySQL wist dus weldegelijk dat er een kolom 'views' was maar presteerde het om een cryptische en compleet nietszeggende foutmelding te produceren.quote:Op zondag 29 januari 2006 11:53 schreef LeeHarveyOswald het volgende:
Ik ben zó stom bezig
Ik tel mn stats pagina ook mee voor mn stats, en daar staat nog een kolom views in![]()
			
			
			
			| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  | echo "<tr><td><b>Pagina:</b></td><td><b>Views</b></td></tr>"; $sql = "SELECT Titel FROM Stats WHERE Datum >= '".$startdag."' AND Datum <= '".$vandaag."' GROUP BY Titel"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Pagina = $result['Titel']; $sql = "SELECT COUNT(ID) AS Viewed FROM Stats WHERE Titel = '".$Pagina."'"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Views = $result['Viewed']; echo "<tr><td><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></tr>"; } } ?>  | 
			
			
			
			| 1 2 3 4 5  | FROM Stats WHERE Datum BETWEEN $startdag AND $vandaag GROUP BY Titel ORDER BY Views  | 
			
			
			
			
			
			
			
			
			
			
			
			quote:
			
			
			
			| 1 2 3 4 5 6 7 8 9 10 11 12 13 14  | $uurA = date("$i:0:0"); $uur = $i + 1; $uurB = date("$uur:0:0"); $Views = ""; $Pagina = ""; $sql = "SELECT Titel, COUNT(ID) Viewed FROM Stats WHERE Datum BETWEEN '$startdag' AND '$vandaag' AND Tijd BETWEEN '$uurA' AND '$uurB' GROUP BY Titel ORDER BY Viewed DESC LIMIT 0, 5"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Views = $result['Viewed']; $Pagina = $result['Titel']; if(!empty($Pagina)){echo "<tr><td align = left>".$uurA." - ".$uurB."</td><td align = right><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></td></tr>";} } ?>  | 
			
			
			
			
			
			
			
			Wát werkt er wel, dan? Enig idee wat date() doet?quote:Op zondag 29 januari 2006 13:57 schreef LeeHarveyOswald het volgende:
Het werkt wel ...
			
			
			
			
			
			
			
			| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23  | $vandaag = date("Y-m-d"); $i = 0; while ($i <= 24): $uurA = "$i:0:0"; $uur = $i + 1; $uurB = "$uur:0:0"; $Views = ""; $Pagina = ""; $sql = "SELECT Titel, COUNT(ID) Viewed FROM Stats WHERE Datum BETWEEN '$startdag' AND '$vandaag' AND Tijd BETWEEN '$uurA' AND '$uurB' GROUP BY Titel ORDER BY Viewed DESC LIMIT 0, 5"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Views = $result['Viewed']; $Pagina = $result['Titel']; if(!empty($Pagina)){echo "<tr><td align = left>".$uurA." - ".$uurB."</td><td align = right><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></td></tr>";} } $i++; endwhile; echo "</table>"; ?>  | 
			
			
			
			Sowieso wil je dat '< 24' maken in die while-loop, of wil je ook op 24:00-25:00 checken?quote:Op zondag 29 januari 2006 14:03 schreef LeeHarveyOswald het volgende:
[ code verwijderd ]
Zo issie nu, maar werking is niet veranderd![]()
			
			
			
			
			
			
			
			Je ziet dat de views tussen 0:00 en 1:00 geiljk zijn aan het totaal aantal views...ik denk dat hij '14:00:00' ook ziet als een waarde die tussen '1:0:0' en '0:0:0' ligt. Ik zou er dus voor zorgen dat je formatting beter in elkaar gaat zittenquote:Op zondag 29 januari 2006 14:10 schreef LeeHarveyOswald het volgende:
Rond middernacht bevat de database niets, want die heb ik net leeg gehaald![]()
De tijd die ik in de database zet is $tijd = date("H:i:s");
			
			
			
			
			
			
			
			| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  | while ($i < 24): if(strlen($i)==1) {$i = '0'.$i;} $uurA = "$i:0:0"; $uur = $i + 1; $uurB = "$uur:0:0"; $Views = ""; $Pagina = ""; $sql = "SELECT Titel, COUNT(ID) Viewed FROM Stats WHERE Datum BETWEEN '$startdag' AND '$vandaag' AND Tijd BETWEEN '$uurA' AND '$uurB' GROUP BY Titel ORDER BY Viewed DESC LIMIT 0, 5"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $Views = $result['Viewed']; $Pagina = $result['Titel']; if(!empty($Pagina)){echo "<tr><td align = left>".$uurA." - ".$uurB."</td><td align = right><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></td></tr>";} } ?>  | 
			
			
			
			
			
			
			
			
			
			
			
			'No input file' duidt erop dat je webhoster PHP via CGI aanbiedt; de php-cgi interface geeft die foutmelding namelijk als er een .php-bestand wordt aangeroepen dat niet bestaat. Hoe je dat oplost weet ik zo even niet, waarschijnlijk kun je het beste even overleggen met je webhoster.quote:
			
			
			
			Die is zo flexibel als een loden deurquote:Op zondag 29 januari 2006 19:46 schreef JeRa het volgende:
[..]
'No input file' duidt erop dat je webhoster PHP via CGI aanbiedt; de php-cgi interface geeft die foutmelding namelijk als er een .php-bestand wordt aangeroepen dat niet bestaat. Hoe je dat oplost weet ik zo even niet, waarschijnlijk kun je het beste even overleggen met je webhoster.
Goedkope tip van ome Swets.... Ga NOOIT naar b-one.net voor hosting. Ze hebben niets, kennen niets en ondersteunen niets.quote:Kaychelle: The Custom 404 pages won't work for .php files because , by default B-one offers PHP to be executed as CGI which cannot be changed.
			
			
			
			Tja, dat krijg je met dat soort hostersquote:Op zondag 29 januari 2006 19:54 schreef Swetsenegger het volgende:
Goedkope tip van ome Swets.... Ga NOOIT naar b-one.net voor hosting. Ze hebben niets, kennen niets en ondersteunen niets.
			
			
			
			Dat klopt, andere sites draaien ook bij een bevriend hoster.quote:Op zondag 29 januari 2006 20:17 schreef JeRa het volgende:
[..]
Tja, dat krijg je met dat soort hostersals je honderden websites op één shared webserver gaat draaien dan moet er een mate van beveiliging zijn. Als je dan geen safe_mode wilt gebruiken ben je toegewezen op PHP-CGI die je kunt laten uitvoeren onder de rechten van de gebruiker, maar tegelijkertijd krijg je dat soort perikelen.
Mijn advies: zoek een degelijke webhoster waar je waarschijnlijk wel iets meer voor moet betalen, maar een uitstekende support levert en jou vertrouwt in waar je je website voor gebruikt. Ik zit nu bij een webhostbedrijf in België (naast m'n eigen webhosting) en zij doen er absoluut niet moeilijk over om scripts commando's uit te laten voeren, onder CGI iets te laten draaien of om je helemaal uit te leven met de configuratie van PHP. Het zijn de subtiele verschillen
			
			
			
			Kun je bij je huidige hosting mod_rewrite gebruiken? Want dan zou je in principe alles behalve de toegestane pagina's een 404 kunnen gevenquote:Op zondag 29 januari 2006 20:28 schreef Swetsenegger het volgende:
[..]
Dat klopt, andere sites draaien ook bij een bevriend hoster.
Maar in dit geval; wilde ik kijken of ik er wat mee kon verdienen. Hoe goedkoper de hosting, des te eerder het geld oplevert
			
			
			
			Maar goed, dat is dus in het begin fout gegaan, kan ik nu weinig meer aan veranderen (immers, het invoeren van statistieken en het weergeven van simpele overzichten werkt al, en anders moet ik dat allemaal gaan aanpassen). Dus hoe zou ik het nu werkend kunnen krijgen?quote:Op zondag 29 januari 2006 19:24 schreef SuperRembo het volgende:
Waarom zit je nou de hele tijd te kloten met datum en tijd strings in varchar kolommen? Gebruik gewoon een DATETIME kolom.
			
			
			
			Dat weet ik nietquote:Op zondag 29 januari 2006 20:41 schreef JeRa het volgende:
[..]
Kun je bij je huidige hosting mod_rewrite gebruiken? Want dan zou je in principe alles behalve de toegestane pagina's een 404 kunnen geven
			
			
			
			Lijkt lijkt me zeker de moeite waard om het nu nog om te bouwen. Als je tabel eenmaal vol met statistieken zit is het veel meer werk om het om te zetten.quote:Op zondag 29 januari 2006 20:46 schreef LeeHarveyOswald het volgende:
[..]
Maar goed, dat is dus in het begin fout gegaan, kan ik nu weinig meer aan veranderen (immers, het invoeren van statistieken en het weergeven van simpele overzichten werkt al, en anders moet ik dat allemaal gaan aanpassen). Dus hoe zou ik het nu werkend kunnen krijgen?
			
			
			
			| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |