gvdquote:
en als ik nou <a blalalalalala href="#" bllalalalala>bloep</a> doe?quote:Op maandag 19 december 2005 17:40 schreef Desdinova het volgende:
[..]
gvd
die kuttag kloot met mn code.
zo hoortie:
$pattern = '@<a href=\"#\".*?>(.*?)</a>@';
$table = preg_replace($pattern, '\\1',$table);
dat magquote:Op maandag 19 december 2005 17:47 schreef DionysuZ het volgende:
[..]
en als ik nou <a blalalalalala href="#" bllalalalala>bloep</a> doe?
1 2 3 4 5 6 7 8 9 | //Sessie ouder dan 5 (5 x 60 seconden) minuten? if ((time() - $_SESSION['time']) > 300) { unset($_SESSION['time']); header("Location:index.php"); } else { $_SESSION['time'] = time(); } ?> |
Als je die code op index.php zet krijg je een oneindige loop.quote:Op maandag 19 december 2005 21:28 schreef SkaterSam het volgende:
Ik doe altijd zo: een $_SESSION['time'] aanmaken met de waarde time() en dan controleren op elke pagina, met zoiets:
[ code verwijderd ]
Ik vond het wel een slimme methode![]()
1 2 3 4 5 6 7 | if (isset($_SESSION['time'])) { //hier die code } else { // maak hier een nieuwe sessie, of een header, wat je maar wil } ?> |
Ik gebruik dus inderdaad standaard sessies.quote:Op maandag 19 december 2005 21:01 schreef JeRa het volgende:
Als je een eigen sessie-systeem hebt is het makkelijk:
1) Haal de session key op uit de cookie
2) Controleer of de session key nog in de database met sessions staat, zo niet: session verlopen
Als je de standaard PHP sessions gebruikt weet ik het niet zeker, maar je zou kunnen controleren op de waarde van PHPSESSID in de cookie of controleren of een cruciale session-variabele aanwezig is (userid bijvoorbeeld), zo niet - session verlopen.
1 2 3 | $db->query("INSERT INTO nieuws (nieuws_titel, nieuws_bericht, nieuws_auteur, nieuws_categorie_id, nieuws_status) VALUES ('" . $titel . "','" . $text . "','" . $auteur . "','" . $categorie . "','" . $status . "')"); ?> |
1 2 3 | $db->query("INSERT INTO nieuws_categorie (nieuws_categorie_naam) VALUES ('" . $categorie . "')"); ?> |
quote:Op zondag 18 december 2005 19:58 schreef qu63 het volgende:
nu mn echte vraag dan maar
[ code verwijderd ]
resulteerd in deze link: http://tracker.qu63.nl/download.php/1/24.2.torrent
mijn download.php:
[ code verwijderd ]
alleen die link geeft een foutmelding als ik erop klik
" No input file specified. "
Help
a) bijdehante opmerkingquote:Op dinsdag 20 december 2005 00:30 schreef Ro�a� het volgende:
a) mysql_real_escape_string gebruiken
b) header alleen doen als mysql_error() geen error aangeeft: if(!mysql_error()) {header() exit(); } else { //waarschuwing }
c) slaap lekker, ik ga me nest in.
-r-
hij geeft die foutmelding als je op http://tracker.qu63.nl/download.php/1/24.2.torrent klikt.quote:Op dinsdag 20 december 2005 00:35 schreef JeRa het volgende:
@qu63:
Op welke regel geeft hij die foutmelding?
Is er niet de mogelijkheid dat die foutmelding wordt gegeven in die include van bittorrent.php? Heb je daar al naar gekeken? Wellicht kun je er dan achterkomen wat ervoor zorgt dat ie die foutmelding geeftquote:Op dinsdag 20 december 2005 00:36 schreef qu63 het volgende:
[..]
hij geeft die foutmelding als je op http://tracker.qu63.nl/download.php/1/24.2.torrent klikt.
niet op een regel dus, maar dat is het enige wat hij uitspuugd
Wat is daar bijdehand aan?quote:Op dinsdag 20 december 2005 00:35 schreef SkaterSam het volgende:
[..]
a) bijdehante opmerking
b) dat was ik dus vergeten om in de functie te zetten, ik zie het al, bedankt![]()
c) welterusten![]()
Goedbedoeld, dat zeker, maar ik ben niet zooo dom dat ik dat zou vergeten, hij staat in mijn query() functie er gewoon bij, misschien was het was hard van mequote:Op dinsdag 20 december 2005 00:38 schreef JeRa het volgende:
Wat is daar bijdehand aan?
Tja, dat had hij niet kunnen zien. En wat bedoel je met dat ie in je query()-functie erbij staat? Je gooit toch geen mysql_real_escape_string over je hele query he?quote:Op dinsdag 20 december 2005 00:40 schreef SkaterSam het volgende:
[..]
Goedbedoeld, dat zeker, maar ik ben niet zooo dom dat ik dat zou vergeten, hij staat in mijn query() functie er gewoon bij, misschien was het was hard van me
http://tracker.qu63.nl/bittorrent.txtquote:Op dinsdag 20 december 2005 00:38 schreef JeRa het volgende:
[..]
Is er niet de mogelijkheid dat die foutmelding wordt gegeven in die include van bittorrent.php? Heb je daar al naar gekeken? Wellicht kun je er dan achterkomen wat ervoor zorgt dat ie die foutmelding geeft
Doe eens in plaats van die laatste header() en readfile() een 'echo $fn' om te zien wat de filename precies is die wordt gegenereerdquote:Op dinsdag 20 december 2005 00:50 schreef qu63 het volgende:
[..]
http://tracker.qu63.nl/bittorrent.txt
heb em daar maar ff geplaatst
heb geen idee waar de fout kan zitten
quote:Op dinsdag 20 december 2005 00:42 schreef JeRa het volgende:
Tja, dat had hij niet kunnen zien. En wat bedoel je met dat ie in je query()-functie erbij staat? Je gooit toch geen mysql_real_escape_string over je hele query he?
Verder is de foutmelding best wel interessant enzo
1 2 3 | $this->resultaten = mysql_query(mysql_real_escape_string($query),$this->c_id); ?> |
1 2 3 | mysql_query("SELECT * FROM bla WHERE id= ?", $check($id)) ?> |
in welke pagina?quote:Op dinsdag 20 december 2005 00:52 schreef JeRa het volgende:
[..]
Doe eens in plaats van die laatste header() en readfile() een 'echo $fn' om te zien wat de filename precies is die wordt gegenereerd
okquote:Op dinsdag 20 december 2005 00:55 schreef JeRa het volgende:
[..]
In jouw script dat je had geposthet kleinere dus.
Zet eens op strategische plekken een exit() neer in jouw script, zodat je weet wanneer hij die foutmelding geeft. Te beginnen met helemaal bovenaanquote:Op dinsdag 20 december 2005 01:00 schreef qu63 het volgende:
nog steeds No input file specified.
ik heb het veranderd in download.php
ik blijf diezelfde melding krijgenquote:Op dinsdag 20 december 2005 01:01 schreef JeRa het volgende:
[..]
Zet eens op strategische plekken een exit() neer in jouw script, zodat je weet wanneer hij die foutmelding geeft. Te beginnen met helemaal bovenaanzolang je niets ziet verplaats je die exit() een regel naar beneden totdat je de foutmelding weer krijgt, en je weet waar het dus foutgaat
het lijkt er wel op jaquote:Op dinsdag 20 december 2005 01:05 schreef SkaterSam het volgende:
Als je zoekt op Google naar 'php No input file specified' krijg je oa het volgende: http://www.byte.nl/docs/Php-Cgi-Mode.html, misschien is dat iets?
.htaccess ook met dubbel s?quote:Op dinsdag 20 december 2005 01:11 schreef qu63 het volgende:
.htacces aangemaakt in de map tracker.qu63.nl (de root voor de tracker dus, dezelfde map waar ook download.php in staat) maar helpt niks
nu welquote:
Dat zou wel moeten werken, eventueel met multiviews aan.quote:Op dinsdag 20 december 2005 09:44 schreef JeRa het volgende:
Even iets anders, de URL: http://tracker.qu63.nl/download.php/1/24.2.torrent
Klopt deze wel? Heb je ergens gedefinieerd dat download.php/1/24.2.torrent moet verwijzen naar download.php? Op deze manier probeer je de map 'download.php' te openen, vervolgens de map '1' en vervolgens gaat ie proberen te zoeken naar 24.2.torrent. Ik neem aan dat dat niet is wat je wilt.
ik heb nu "allow from all" toegevoegd aan mn .htaccess , nu werkt het wel gewoon.quote:Op dinsdag 20 december 2005 09:44 schreef JeRa het volgende:
Ik denk niet dat je dat moet doen. Die HTTP 500 error krijg je omdat je .htaccess niet goed in elkaar steekt - ik vermoed dat PHP-CGI al is ingeschakeld op jouw webserver, en dat je daarom die foutmelding krijgt. Die werk je niet weg door nóg een keer PHP-CGI proberen in te schakelen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $handle = opendir($dir); //Eventuele direcories niet in de lijst while (false !== ($file = readdir($handle))) { if (!is_dir("./$file")) { $opdelen = explode(".", $file); //indexbestand wegfilteren if ($opdelen[0]<>"") { echo "<option value=$opdelen[0]>" . htmlspecialchars($opdelen[0]) . '</option>'; } } } closedir($handle); |
ik heb geen idee welk stukje code die verwijzing aanmaakt, dat is een beetje het probleemquote:Op dinsdag 20 december 2005 09:44 schreef JeRa het volgende:
Even iets anders, de URL: http://tracker.qu63.nl/download.php/1/24.2.torrent
Klopt deze wel? Heb je ergens gedefinieerd dat download.php/1/24.2.torrent moet verwijzen naar download.php? Op deze manier probeer je de map 'download.php' te openen, vervolgens de map '1' en vervolgens gaat ie proberen te zoeken naar 24.2.torrent. Ik neem aan dat dat niet is wat je wilt.
Je option value moet tussen haakjes staan, zeker met spaties ertussen. Variabelen (of arrays) in je quotes zetten is sowieso 'ranzig' programmeren:quote:Op dinsdag 20 december 2005 11:00 schreef RichardQuest het volgende:
Ik heb een array gemaakt van alle bestanden in de directory in een array stopt en de .html-extensie eruit haalt zodat het wat mooier is (explode). Probleem is dat spaties in de bestandnaam wel meegenomen worden in de lijst, maar niet in de option value![]()
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | $dir = 'd:'; // test $handle = opendir($dir); echo '<select>'; // test while (false !== ($file = readdir($handle))) { if (!is_dir("./$file")) { $opdelen = explode(".", $file); //indexbestand wegfilteren if ($opdelen[0]<>"") { echo '<option value="'.$opdelen[0].'">' . htmlspecialchars($opdelen[0]) . '</option>'; } } } echo '</select>'; // test closedir($handle); ?> |
In je database maak je een DATE of DATETIME veld aan.quote:Op dinsdag 20 december 2005 15:01 schreef SkaterSam het volgende:
Ik ben bezig met een soort van weblog systeem, maar nu vroeg ik me af hoe je de datum zoals op een weblog krijgt. Dat wil dus zeggen eerst een h1 met daarin de datum, en daaronder alle posts van die specifieke datum op tijdsvolgorde. Iets als dit:
Vrijdag 13 oktober
Log 1 - 16.00
Log 2 - 15.00
Donderdag 12 oktober
Log 3 - 21.00
Afijn, jullie begrijpen het idee. Ik vroeg me af of het kon met een query, er van uitgaande dat je maar een tabel hebt. Moet je dan twee rijen hebben in de DB, een met datum en een met tijd? Zowiezo begin je met een while() loop om alle data op te halen uit de query (SELECT * FROM table ORDER BY date), maar moet je dan nog een query uitvoeren? En nog een while() loop?
Ja dat snap ik, maar ik wilde meer specifiek weten over de opmaak van de resultaten die je terugkrijgt eigenlijk. Zoals in mijn voorbeeld krijg je dus eerst een tag met de dag, en daaronder alle tijden van die dag.quote:Op dinsdag 20 december 2005 15:07 schreef Swetsenegger het volgende:
In je database maak je een DATE of DATETIME veld aan.
En vervolgens trek je ze er met een query uit
SELECT * FROM table ORDER BY datum.
Dan krijg je de records dus gegroepeerd op datum terug.
waarschijnlijk kan je iets doen in de trend van:quote:Op dinsdag 20 december 2005 15:17 schreef SkaterSam het volgende:
[..]
Ja dat snap ik, maar ik wilde meer specifiek weten over de opmaak van de resultaten die je terugkrijgt eigenlijk. Zoals in mijn voorbeeld krijg je dus eerst een tag met de dag, en daaronder alle tijden van die dag.
de waarde welke je terug krijgt van $row['datum'] sla je op in een var $prev_date.quote:Op dinsdag 20 december 2005 15:17 schreef SkaterSam het volgende:
[..]
Ja dat snap ik, maar ik wilde meer specifiek weten over de opmaak van de resultaten die je terugkrijgt eigenlijk. Zoals in mijn voorbeeld krijg je dus eerst een tag met de dag, en daaronder alle tijden van die dag.
1 2 3 4 5 6 | // je datum resultaat is veranderd. het komende record heeft dus een andere datum echo'<td style="font-weight:bold">'.$row['datum'].'</td>'; }else{ //datum hetzelfde dus echo geen regel met datum } |
1 2 3 | preg_match('/^[\w\-\s]*$/i', $string) ?> |
1 2 3 4 5 | FROM order_content AS oc LEFT JOIN produkten AS p USING (product_id) WHERE oc.order_id=5 |
1 2 3 4 5 6 7 8 | FROM order_content AS oc LEFT JOIN produkten AS p USING (product_id) , orders AS o RIGHT JOIN users as u USING (user_id) WHERE oc.order_id=5 |
orders dus om order_id te kunnen koppelen aan user_id.quote:Op dinsdag 20 december 2005 21:11 schreef SuperRembo het volgende:
Het eerste wat me opvalt is de tabel orders. Waarom staat die in de tweede query, je doet er niets mee
[edit]
Je gebruikt het om de user_id bij de order te halen, alleen specificeer je helemaal geen relatie tussen order_content en orders.
(Ik vind die USING syntax niet erg overzichtelijk als er meer dan 2 tabellen worden gebruikt)
1 2 3 4 5 6 7 8 9 10 11 12 13 | u.name, oc.number, p.articlecode, p.name, oc.giftwrap, p.first_price, p.second_price FROM order o INNER JOIN order_content oc ON oc_order_id = o.order_id INNER JOIN produkten p ON p.product_id = oc.product_id INNER JOIN users u ON u.user_id = o.user_id WHERE o.order_id = 5 |
Mjah, ik heb de tabel verzuimt products te noemen. Dat lijkt me nou toch niet echt een groot probleemquote:Op dinsdag 20 december 2005 21:23 schreef SuperRembo het volgende:
[ code verwijderd ]
Je zou er ook LEFT JOINs van kunnen maken, maar een order zonder user of produkten lijkt me niet zo logisch.
(Tabel produkten, kolom product_id![]()
)
1 2 3 | INNER JOIN order_content oc ON oc_order_id = o.order_id INNER JOIN pro' at line 9 |
quote:Op dinsdag 20 december 2005 21:42 schreef SuperRembo het volgende:
Dat moest natuurlijk oc.order_id zijn. En order moet orders zijn.
Ja, dat kan.quote:Op donderdag 22 december 2005 16:20 schreef SkaterSam het volgende:
kan dit: $_SESSION['var1']['var2'] , dus een een variabele binnen de array var1 ?
1 2 3 4 5 | Zoeken naar filmpje:<br> <input type="text" name="zoekterm" size="30"><br> <input type="submit" name="submit" value="Zoeken"> |
1 2 3 | $sql = "SELECT * FROM filmpjes WHERE titel LIKE '%$HTTP_POST_VARS[zoekterm]%' ORDER BY titel ASC"; ?> |
1 2 3 4 5 6 7 | if(strlen($_POST['zoekterm']) < 3){ // foutmelding } else { // select query :-) } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function checkError($string) { if (array_key_exists($string, $this->error)) { return "<span class=\"error\">" . $this->error[$string] . "</span>"; } else { return "huh"; } } function setError($field, $message) { $this->error[$field] = $message; $this->num_error = count($this->error); } ?> |
1 2 3 | $form->setError("username", "username is niet correct"); ?> |
Is er iets verkeerds aan hoe ik hem aanroep?quote:Op donderdag 22 december 2005 23:58 schreef DionysuZ het volgende:
gebruik je het wel in een class?
edit: nevermind ik zie hoe je em aanroept
Nee het beantwoordt mijn vraagquote:Op vrijdag 23 december 2005 00:00 schreef SkaterSam het volgende:
[..]
Is er iets verkeerds aan hoe ik hem aanroep?
Niet de mijnequote:
Als die twee functions die je liet zien in een class staan vermoed ik dat je $fout out of scope laat gaan, maar dat is nogal lastig te zeggen zo zonder verdere codequote:Op vrijdag 23 december 2005 02:39 schreef SkaterSam het volgende:
Hmm, ik heb de simpelste oplossing gekozen om fouten te voorkomen, en gewoon een login class gemaakt met alle benodigdheden daarin.
1 2 3 4 5 6 7 8 9 | if ($login->logged_in == true) { header("Location:../admin/main.php"); } else { $_SESSION['error_username'] = $login->checkError('username'); $_SESSION['error_wachtwoord'] = $login->checkError('wachtwoord'); header("Location:../admin/index.php"); } ?> |
1 2 3 4 5 6 | } else { $login->checkError('username'); $login->checkError('wachtwoord'); } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function checkError($string) { if (array_key_exists($string, $this->error)) { echo "<span class=\"error\">" . $this->error[$string] . "</span>"; } else { return false; } } function setError($field, $message) { $this->error[$field] = $message; $this->num_error = count($this->error); } ?> |
Ook met 'return' in plaats van echo in de checkError functie pakt die hem niet.quote:Op vrijdag 23 december 2005 15:22 schreef JeRa het volgende:
Ik vind dat niet zo vreemd - je doet immers een 'echo' en geen 'return'
Hoe ziet je class eruit? Wat heb je nog meer geprobeerd qua debuggen?quote:Op vrijdag 23 december 2005 15:32 schreef SkaterSam het volgende:
[..]
Ook met 'return' in plaats van echo in de checkError functie pakt die hem niet.
Eigenlijk wilde ik dat niet eens noemen aangezien je de vorige keer zo verhit reageerde toen iemand je vroeg of je je strings in de query escapede (want je was niet totaal dom ofzo)quote:Op vrijdag 23 december 2005 16:05 schreef SkaterSam het volgende:
Hoeren! Ik had gewoon niet session_start() aangeroepen boven het script![]()
Ja misschien toch maar wel, maar gelukkig is dit de thread voor dummies, ik begin me aardig mee te identificerenquote:Op vrijdag 23 december 2005 16:11 schreef JeRa het volgende:
Eigenlijk wilde ik dat niet eens noemen aangezien je de vorige keer zo verhit reageerde toen iemand je vroeg of je je strings in de query escapede (want je was niet totaal dom ofzo)had 't dus toch beter kunnen doen.
1 2 3 4 5 6 7 8 9 10 | $sql = <<< ___SQL SELECT * FROM axs_events WHERE evt_loc_id = {$loc_id} AND evt_date >= '{$date}' ORDER BY evt_date ASC ___SQL; |
Thnx!quote:Op vrijdag 23 december 2005 17:41 schreef JeRa het volgende:
Die query zit best gaar in elkaar, een groter-dan-of-gelijk-aan-vergelijking doen met een string?
En wat je daar ziet is heredoc syntax, een alternatief voor quotes. Die <<< geeft het begin van de heredoc aan, en die ___SQL is een willekeurige identifier die het begin en einde aangeeft.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | $fp = fsockopen("host.com", 80, $errno, $errstr, 30); if(!$fp) { echo "$errstr ($errno)<br />\n"; } else { $data = "foo=bar\r\n"; $out = "POST /scipt.php HTTP/1.1\r\n"; $out .= "Host: host.com\r\n"; $out .= "Content-Type: application/x-www-form-urlencoded\r\n"; $out.="Content-Length: " .strlen($data)."\r\n"; $out.=$data ."\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { $content .= fgets($fp, 128); } fclose($fp); echo $content; } ?> |
1 2 3 4 | Your browser sent a request that this server could not understand. Request header field is missing colon separator. |
str_replace()quote:Op zondag 25 december 2005 10:05 schreef Chandler het volgende:
Mensen even een korte vraag, hoe kan ik een & omzetten zodat het niet in de URL als een & gezien wordt...want nu kan ik een bestand niet verwijderen
D'oh, had ik moeten kunnen denken.quote:
Het zal vast wel met een simpele functie kunnen, maar volgens mij werkt dit wel:quote:Op zondag 25 december 2005 17:04 schreef user931989 het volgende:
hoe kan ik als ik een getal heb, bv. 10000000, hier duizendtalpunten tussen laten zetten?
Ik bedoel dus dit:
invoer: 10000000
uitvoer: 10.000.000
het moet ook werken met bv. 93185365
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $getal = 1234567890; settype( $getal, "string" ); $nieuw = ''; while( strlen( $getal ) > 3 ) { $nieuw = '.' . substr( $getal, -3 ) . $nieuw; $getal = substr( $getal, 0, strlen( $getal ) - 3 ); } $nieuw = $getal . $nieuw; echo $nieuw; ?> |
quote:Op zondag 25 december 2005 17:26 schreef wobbel het volgende:
Als ik minuten en seconden heb, hoe kan ik deze omtoveren in seconden?
Bijv:
$blaat = "3:23";
Hoe maak ik daar seconden van? (203 seconden)
Eerst uit elkaar trekken bij de : (hoe????) en dan voor de : x 60 en dan achter de : erbij optellen
1 2 3 4 5 6 7 8 9 10 11 | $lengte = "3:23"; $split = explode( ':', $lengte ); settype( $split[0], "int" ); settype( $split[1], "int" ); $seconden = $split[0] * 60 + $split[1]; echo $seconden; |
met number_format();quote:Op zondag 25 december 2005 17:04 schreef user931989 het volgende:
hoe kan ik als ik een getal heb, bv. 10000000, hier duizendtalpunten tussen laten zetten?
Ik bedoel dus dit:
invoer: 10000000
uitvoer: 10.000.000
het moet ook werken met bv. 93185365
quote:Op maandag 26 december 2005 11:36 schreef DutchBlood het volgende:
Ik heb twee tabellen.
Eentje met onderdelen erin, met daarin een veld catid.
Dat veld catid verwijst naar het catid van de categorie waar het onderdeel in valt. Nu wil ik dus dmv een query de onderdelen selecten en meteen de naam van de categorie ophalen.
Dat lijkt me te doen dmv. Joins, maar hoe?
1 2 3 4 5 6 | o.whatever, c.name FROM onderdelen o LEFT JOIN catagory c ON o.cat_id = c.cat_id WHERE o.id=".$_GET['id'] |
Apache geeft bij mij een errorquote:Op maandag 26 december 2005 12:26 schreef pc-fr34k het volgende:
Even een schopje voor mijn vraagje:
[PHP/(My)SQL] voor dummies - Deel 18
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |