Hmmm...OK. Thanksquote:Op donderdag 21 september 2006 22:28 schreef JeRa het volgende:
[..]
Sorry, maar met die antieke versies van Apache en PHP kun je wel enigzins problemen verwachtenal dan niet in veiligheid.
Waarschijnlijk moet je voor die oude versie $HTTP_POST_VARS gebruiken in plaats van $_POST, maar liever stap je over op nieuwere versies van die software
edit: zie verder dit topic:
[PHP/(My)SQL] voor dummies - Deel 33
1 |
1 |
quote:Op vrijdag 22 september 2006 00:20 schreef GVRuud het volgende:
mschol: ik heb t vorige fok!topic niet helemaal doorgelezen over de dingen die je al geprobeerd hebt...
Ik zie in ieder geval in de code op http://fia181-83.dsl.hccnet.nl/fok/posts-reader.phps
[ code verwijderd ]
maar zie nergens
[ code verwijderd ]
Probeer dat eens na die sleep(60) ?
Probeer eerst eens wat dieper te debuggen in plaats van te vragen om de hele code door te spittenquote:Op vrijdag 22 september 2006 07:13 schreef mschol het volgende:
[..]
zou dat het kunnen zijn???
* direct gaat testen...nee helaas
als ik na die sleep die fclose toevoeg krijg ik alleen 1 terug en helemaal geen input
en ook geen input in DB
Dus kennelijk is er iéts anders na het uitvoeren van het eerste 'segment' dan als het tweede segment losstaand wordt uitgevoerdquote:Op vrijdag 22 september 2006 09:04 schreef Darkomen het volgende:
maar in 1 pagina gaat het niet helemaal goed.
1 de sleep zit er in omdat ik dacht dat het misschien zo was dat curl nog bezig was met het schrijven van het bestand (niet dus)quote:Op vrijdag 22 september 2006 09:10 schreef JeRa het volgende:
[..]
Dus kennelijk is er iéts anders na het uitvoeren van het eerste 'segment' dan als het tweede segment losstaand wordt uitgevoerd
@mschol
Waarom heb je er een sleep(60) in zitten? fclose() moet je sowieso uitvoeren, al was het maar om zeker te zijn dat het OS op de hoogte is van je bestand. Je definieert in de MySQL include geen globale variabelen? Heb je hetzelfde probleem tussen verschillende versies van PHP?
het wegschrijven gaat ook volledig (dus me profiel pagina staat in het lokale bestand)quote:Op vrijdag 22 september 2006 09:51 schreef Darkomen het volgende:
Ik heb trouwens nog nooit gehad dat het script de pagina maar voor de helft wegschrijft
die if met de preg_match_all komt hij alleen in als er een match is, dit doet hij goed..quote:Op vrijdag 22 september 2006 09:53 schreef JeRa het volgende:
@mschol
Wat ik nergens lees is of dat stukje in de if wel wordt uitgevoerd. Dus ik bedoel de if-constructie in de laatste loop met de exit; erinprobeer daar eens wat te debuggen.
ik neem jou source code eens over en test die...quote:Op vrijdag 22 september 2006 10:08 schreef Darkomen het volgende:
Ik heb die problemen dus ook niet, wegschrijven gaat goed, ook het later weergeven.
http://borntobewild.satanist.nl/mschol.php?lines
http://borntobewild.satanist.nl/mschol.php?source
uhm.. nu.nl haalt hij wel helemaal opquote:Op vrijdag 22 september 2006 10:33 schreef Darkomen het volgende:
Klopt dat doet hij bij mij dus ook, hij unlinked de file ook, dus als je hem refeshed moet hij weer de file bouwen, en dan leest hij de file schijnbaar niet, refresh je weer, postaantal.
nu doe ik ze los:quote:Op vrijdag 22 september 2006 12:09 schreef Darkomen het volgende:
raar zou er iets met die javascript code zijn waar hij op vastloopt?
misschien een idee om alles er eerst uit te filteren? (weet het anders ook echt niet meer)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | php // include("../includes/mysql.inc"); $User_ID = "77135"; $local_file = 'profile.html'; $SessID = "*"; $regex = '/(d+) (gemiddeld (d+) per dag)/ism'; $i=0; if(!file_exists($local_file)) { $ch = curl_init("http://forum.fok.nl/user/profile/".$User_ID); curl_setopt($ch,CURLOPT_HTTPHEADER, array("Host: forum.fok.nl","Referer: http://forum.fok.nl/user/active/" color="#007700">.$User_ID,"Connection: Keep-Alive","Cookie: Enabled=true; sessid=".$SessID."; user=".$User_ID)); curl_setopt($ch,CURLOPT_HTTPGET, 1); $file = fopen($local_file,w); curl_setopt($ch, CURLOPT_FILE, $file); curl_exec($ch); curl_close($ch); } header("Location: http://".$_SERVER['HTTP_HOST']."/fok/posts-reader_2.php"); ?> |
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | php $dbHost = 'localhost'; $dbPass = ''; $dbUser = ''; $dbName = ''; $local_file = 'profile.html'; $regex = '/(d+) (gemiddeld (d+) per dag)/ism'; $lines = file($local_file)or die(mail($_SERVER['SERVER_ADMIN'],"FOK-POSTS:Error","fout inlezen: $local_file nr")); $con = mysql_connect($dbHost,$dbUser,$dbPass) or die(mysql_error()); mysql_select_db($dbName,$con) or die(mysql_error()); $query1 = mysql_query("SELECT `ID` FROM `posts` ORDER BY 'ID' DESC"); $query1 = mysql_fetch_array($query1) or die(mysql_error()); $ID=$query1[0]; $ID=$ID+1; while($i<count($lines)) { echo($i.$lines[$i]); if(preg_match_all($regex,$lines[$i],$needle)) { $needle = split(' ',$needle[0][0]); if($needle[0] != '' && is_numeric($needle[0])) { $query = mysql_query("INSERT INTO `posts` (`posts`,`datum`,`ID`) VALUES('$needle[0]','".date('Y-m-d H:i:s')."','".$ID."')"); mysql_close($con); unlink($local_file); //exit; echo("done<br>"); } } $i++; } echo("done_na_while"); //mail($_SERVER['SERVER_ADMIN'],"FOK-POSTS:Error","Er is geen postaantal gevonden van ".date("Y-m-d:H-m-S")); ?> |
in 1 bestand met output control:quote:Op vrijdag 22 september 2006 12:28 schreef Darkomen het volgende:
Wazig, maar in 2files werkte het al
1 2 3 4 5 6 7 | ob_start(); curl_exec($ch); $lines = ob_get_contents(); ob_end_clean(); curl_close($ch); ?> |
quote:Op vrijdag 22 september 2006 12:58 schreef Darkomen het volgende:
mn host is dood dus kan sowieso niets testen...
zoiets?:quote:Op vrijdag 22 september 2006 13:10 schreef nlboy het volgende:
Ik krijg voor het eerst lessen voor MySQL, wat een $%# taal is het. Ik snap er niks van, en het meest vervelende is dat mijn boek ook nog een Engels is (ben namelijk niet echt goed in Engels).
Heeft iemand misschien een duidelijke Nederlandse site/boek voor beginners (het liefst voor Acces)? Bedankt!![]()
Mwah lijkt er niet echt op. We zijn bezig met een soort database maken. Dat je dan bijvoorbeeld studenten aan elkaar kan kopelen met leeftijd enzo. Of opleidingen, etc. Een soort excel achtig-iets (als database) en dan kan je via MySQL dat invoeren dat ze gekoppeld worden. Snap je?quote:Op vrijdag 22 september 2006 13:13 schreef mschol het volgende:
[..]
zoiets?:
http://www.websitemaken.be/index.php?page=show_item&id=45
Hier wat handige keywords voor je:quote:Op vrijdag 22 september 2006 13:31 schreef nlboy het volgende:
[..]
Mwah lijkt er niet echt op. We zijn bezig met een soort database maken. Dat je dan bijvoorbeeld studenten aan elkaar kan kopelen met leeftijd enzo. Of opleidingen, etc. Een soort excel achtig-iets (als database) en dan kan je via MySQL dat invoeren dat ze gekoppeld worden. Snap je?![]()
Ik snap er dus geen moer van, welke 'sleutelwoorden' je moet gebruiken.![]()
uhm eff wat mij binnen schiet:quote:Op vrijdag 22 september 2006 13:31 schreef nlboy het volgende:
[..]
Mwah lijkt er niet echt op. We zijn bezig met een soort database maken. Dat je dan bijvoorbeeld studenten aan elkaar kan kopelen met leeftijd enzo. Of opleidingen, etc. Een soort excel achtig-iets (als database) en dan kan je via MySQL dat invoeren dat ze gekoppeld worden. Snap je?![]()
Ik snap er dus geen moer van, welke 'sleutelwoorden' je moet gebruiken.![]()
1 |
1 |
1 |
1 2 3 4 5 6 7 8 9 | if ($user_count > 200) { print "The site is busy right now!"; } elseif ($user_count > 100) { print "The site is sort of active right now!"; else { print "The site is lonely - only $user_count user logged on."; } ?> |
1 2 3 | $array = mysql_fetch_array($query); mysql_query("INSERT INTO ban (ip) VALUES ('".$array[1]."')"); |
...is het een vraag? Een stelling? Een onbeantwoorde roeping naar het onbekende in de Zend engine?quote:
Je hebt iig een "-tje te veel staan na $_GET['ip'].quote:Op vrijdag 22 september 2006 13:57 schreef MaxMark het volgende:
Ok, ik ben ook nog niet zo bekend met PHP, dus vraagje:
Ik heb een banknop op gb.php (gastenboek):
[ code verwijderd ]
en nu wil ik dat ban.php het volgende doet: IP van bijbehorende post-id uit tabel 'gb' halen en deze posten in tabel 'ban'. Dit is wat ik probeer, maar niet lukt (omdat het waarschijnlijk hartstikke fout is):
[ code verwijderd ]
De error is dan:
[ code verwijderd ]
Maar ik ga er van uit dat ik iets met die code doe wat helemaal niet kan
Wie heeft voor mij een oplossing?
1 2 3 4 5 6 7 8 | INSERT INTO ban (ip) VALUES ('".$_GET['ip']."') WHERE id = '".$_GET['id']."'") or die(mysql_error()); |
dat kan niet eens zover ik weetquote:Op vrijdag 22 september 2006 16:52 schreef Nevermind het volgende:
tvp
Hoe kun je een WHERE statement nodig hebben bij een INSERT statement eigenlijk?
1 2 3 | flock($file,LOCK_EX); ?> |
haha, goed punt. overheen gekekenquote:Op vrijdag 22 september 2006 16:52 schreef Nevermind het volgende:
tvp
Hoe kun je een WHERE statement nodig hebben bij een INSERT statement eigenlijk?
hij werkt alleen lokaal, mn host ondersteund curl niet :(quote:Op vrijdag 22 september 2006 18:47 schreef mschol het volgende:
[..]
laat source eens zien...? ben wel benieuwd :Y
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $sessionid = "***"; $h = date("d-m-y @ H:i"); $mail = "fok@qu63.com"; $sig = "Offrir l'amité à qui veut l'amour, c'est donner du pain à qui meurt de soif Ask || Answer || Receive [b]laatste update op mijn [url=www.qu63.nl/blog]weblog[/url]: ".$h."[/b]"; $pass = "***"; $user = "62215"; $ch = curl_init("http://forum.fok.nl/user/profile"); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: forum.fok.nl","Connection: Keep-Alive","Cookie: Enabled=true; sessid=***; user=62215")); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, "&email=".$mail."&signature=".$sig."&password=".$pass."&showemail=1&icq=140556304&msn=qu633@hotmail.com&ondertitel=..de tijd drinkt.&homepage=http://www.qu63.com&webicon=http://forum.fok.nl/usericons/62215/qu24.gif&geslacht=m&woonplaats=Hilversum&geboortedatum=1985-08-28"); curl_exec($ch); curl_close($ch); ?> |
aha thnx m, ga ik eff mee rotzooien bij mij (kan ik misschien nog leuke truuckjes mee uithalenquote:Op vrijdag 22 september 2006 18:57 schreef qu63 het volgende:
[..]
hij werkt alleen lokaal, mn host ondersteund curl niet
[ code verwijderd ]
een lange CURLOPT_POSTFIELDS dus
nu nog een stukje script zodat ik automatisch een subforum langs kan gaan en overal tvp-enquote:Op vrijdag 22 september 2006 19:42 schreef mschol het volgende:
[..]
aha thnx m, ga ik eff mee rotzooien bij mij (kan ik misschien nog leuke truuckjes mee uithalen
1 2 3 4 5 6 7 8 9 10 | $message = "tvp *O*"; $topic = "916936"; $ch = curl_init("http://forum.fok.nl/fok/post_reply/".$topic); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: forum.fok.nl","Connection: Keep-Alive","Cookie: Enabled=true; sessid=***; user=62215")); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, "&topic=".$topic."&skipVerbose=TRUE&posticoon=1&message=".$message."&submit=Invoeren"); curl_exec($ch); curl_close($ch); ?> |
De index inlezen en dan met een regexp de goede regel zoeken?quote:Op vrijdag 22 september 2006 22:39 schreef qu63 het volgende:
welke functie kan ik het beste gebruiken als ik Wetenschap, Filosofie & Levensbeschouwing uit wil lezen en alleen de regel/topicid van een topic wat begint met "[WFL-LFC" wil zien?
topic([0-9]{6},'[WFL-LFC'quote:Op zaterdag 23 september 2006 10:28 schreef Light het volgende:
[..]
De index inlezen en dan met een regexp de goede regel zoeken?
quote:Op zaterdag 23 september 2006 10:34 schreef qu63 het volgende:
[..]
topic([0-9]{6},'[WFL-LFC'
zo krijg ik wel de juiste regel, maar hoe haal ik daar dan het topic-id uit?
1 2 3 4 5 6 7 8 9 | $html = file_get_contents('http://forum.fok.nl/forum/9'); if(preg_match_all('/topic\(([0-9]{6,}),\'(\[WFL\-LFC.*)\'/iU', $html, $matches)) { $topics = array(); foreach($matches[1] as $index => $id) $topics[$id] = $matches[2][$index]; var_export($topics); } ?> |
Buiten het feit dat ik die mogelijkheid niet ken, is het denk ik makkelijker/nuttiger om je database structuur te herzien. Er zou geen noodzaak moeten zijn voor zo'n unique id.quote:Op zaterdag 23 september 2006 10:39 schreef Vjennuh het volgende:
Is er een optie waarbij ik dus een unique id over meerdere tabellen kan laten gelden?
Die gaat fout door een dubbele (quote:
Dat laatstequote:Op zaterdag 23 september 2006 10:50 schreef Light het volgende:
[..]
Die gaat fout door een dubbele (
Of staat daar wel een backslash voor en verdwijnt die ergens in het forum?
je kan toch verwijzen naar tabelnaam.id tabelnaam2.id tabelnaam3.id etc.?quote:Op zaterdag 23 september 2006 10:41 schreef Roonaan het volgende:
[..]
Buiten het feit dat ik die mogelijkheid niet ken, is het denk ik makkelijker/nuttiger om je database structuur te herzien. Er zou geen noodzaak moeten zijn voor zo'n unique id.
Hij/zij wil - als ik het goed begrepen heb - het volgende:quote:Op zaterdag 23 september 2006 10:57 schreef qu63 het volgende:
[..]
je kan toch verwijzen naar tabelnaam.id tabelnaam2.id tabelnaam3.id etc.?
of gaat het ergens anders over?
quote:Op zaterdag 23 september 2006 11:00 schreef Light het volgende:
[..]
Er moet ook nog een (extra) backslash voor twee ' gezet worden.
Zo las ik het ook. En dat gaat je niet lukken in MySQL. Wel in PostgreSQL, maar de vraag is idd waarom je het zou willen.quote:Op zaterdag 23 september 2006 10:59 schreef Roönaän het volgende:
[..]
Hij/zij wil - als ik het goed begrepen heb - het volgende:
Je hebt drie tabellen, A, B en C. Als je in A een record toevoegd moet de autoincrement id van alledrie de tabellen verhoogd worden zodat er niet in A, B en/of C een record kan zitten met hetzelfde id.
thanks!quote:
1 |
thanks!quote:Op zaterdag 23 september 2006 13:52 schreef Roonaan het volgende:
Je kan ook de foreach veranderen in:
foreach($matches[1] as $index => $id)
$topics[] = array('id' => $id, 'title' => $matches[2][$index]);
En dan kan je $topics[0]['id'] en $topics[0]['title']; gebruiken.
Dit is vast bedoeld voor een ander topic, maar welke?quote:Op zaterdag 23 september 2006 15:49 schreef Arjan662 het volgende:
Offrir l'amité à qui veut l'amour, c'est donner du pain à qui meurt de soif
Wat versta jij onder lamoer dan?
In brood zit 80% water.
Tis de sig van qu63quote:Op zaterdag 23 september 2006 16:31 schreef SuperRembo het volgende:
[..]
Dit is vast bedoeld voor een ander topic, maar welke?![]()
gedeeltelijk jaquote:
Het dynamisch verkrijgen en gebruiken van een session id is in een paar regels code gebeurd, dus waarom dat niet?quote:Op zondag 24 september 2006 01:37 schreef qu63 het volgende:
ook lekker, mag ik alle sessionid's weer gaan veranderen
tja das idd een mogelijkheid... maar hoe pak je dat aan?quote:Op zondag 24 september 2006 02:14 schreef JeRa het volgende:
[..]
Het dynamisch verkrijgen en gebruiken van een session id is in een paar regels code gebeurd, dus waarom dat niet?
Ik heb een aantal FOK!classes die derivatives van een hoofd-FOK!class zijn. Deze hoofdclass regelt de verbinding met de webserver en zorgt dat de goede headers worden doorgestuurd. Hier heb ik het zo geregeld dat als er geen sessionid wordt gevonden, hij 'm opslaat naar een bestand. Vervolgens kunnen alle derivatives gebruik maken van de sessionid via dat bestand die telkens door de hoofdclass wordt geladenquote:Op zondag 24 september 2006 08:58 schreef mschol het volgende:
[..]
tja das idd een mogelijkheid... maar hoe pak je dat aan?
1x met een andere pagina verbinden en dan daar een sessieid uit halen
welke parent directory???quote:Op zondag 24 september 2006 11:01 schreef mrbombastic het volgende:
Ik post m gewoon nog ff een keer.
Is het mogelijk om met PHP een bestand te uploaden naar de parent directory?
zijn die open-source?quote:Op zondag 24 september 2006 09:39 schreef JeRa het volgende:
[..]
Ik heb een aantal FOK!classes die derivatives van een hoofd-FOK!class zijn. Deze hoofdclass regelt de verbinding met de webserver en zorgt dat de goede headers worden doorgestuurd. Hier heb ik het zo geregeld dat als er geen sessionid wordt gevonden, hij 'm opslaat naar een bestand. Vervolgens kunnen alle derivatives gebruik maken van de sessionid via dat bestand die telkens door de hoofdclass wordt geladenzodra de webserver de sessionid niet meer geldig vindt wordt het bestand getrashed en wordt er een nieuwe sessionid gerequest.
1 |
1 2 3 4 5 | $query = mysql_query("SELECT * FROM pa_agenda WHERE categorie = '$cat' AND Month(datum) = '$maand' ") or die(mysql_error()); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | { if(isset($_POST['Search_String']) && isset($_POST['cat'])) { if($_POST['cat'] == 'all' && strlen($_POST['Search_String']) > '3') { //zoeken in alles } else if($_POST['cat'] != '' && strlen($_POST['Search_String']) > '3')s { echo("SELECT * FROM ".$_POST['cat']." WHERE titel LIKE '%".$_POST['Search_String']."%'<br>"); } else { } } else { } } else { } |
de tabel layout is als volgt:quote:Op maandag 25 september 2006 20:19 schreef JeRa het volgende:
Zo te zien heb je per categorie een aparte tabel. Dat lijkt niet echt genormaliseerd; voor je zoekmachine is het waarschijnlijk makkelijker om een tabel met categoriën te maken en die te linken aan alle andere items waarop je wilt zoeken?
Je kunt je searchquery dynamisch opbouwen; dwz dat je met een SELECT * FROM... kunt beginnen en aan de WHERE-clausule telkens condities kunt toevoegen afhankelijk van waarop je wilt zoeken :)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | `ID` mediumint(9) NOT NULL auto_increment, `Title` varchar(255) NOT NULL default '', PRIMARY KEY (`ID`), UNIQUE KEY `Title` (`Title`), KEY `ID` (`ID`) ) TYPE=MyISAM; CREATE TABLE `category` ( `ID` mediumint(9) NOT NULL auto_increment, `Name` varchar(255) NOT NULL default '', `Description` text NOT NULL, PRIMARY KEY (`ID`) ) TYPE=MyISAM; |
Is dat wat je al had of wat je nu gaat/hebt gemaakt?quote:Op maandag 25 september 2006 21:48 schreef mschol het volgende:
[..]
de tabel layout is als volgt:
[ code verwijderd ]
ik moet nog wat tabellen genereen , maar dit zijn in iedergeval 2 belangrijke
die had ik al.quote:Op maandag 25 september 2006 21:52 schreef JeRa het volgende:
[..]
Is dat wat je al had of wat je nu gaat/hebt gemaakt?
Goede encoding gebruiken (ook voor de database als je daar de woorden in opslaat). Met UTF-8 moet je ver komen.quote:Op maandag 25 september 2006 11:05 schreef Chandler het volgende:
Maar ik gebruik ook 'thaise' tekenstenminste die staan nu nog in een 'word' document
1 2 3 | $uploadid = mysql_query("UPDATE users SET seedbonus = seedbonus - ".$COSTSCRIPT_DOWNLOAD." WHERE id = ".$row['uploader'].""); or die(mysql_error()); ?> |
1 2 3 4 5 | $res = mysql_query("SELECT namemap.info_hash, namemap.filename, namemap.url, UNIX_TIMESTAMP(namemap.data) as data, namemap.size, namemap.comment, namemap.uploader, categories.name as cat_name, summary.seeds, summary.leechers, summary.finished, summary.speed, namemap.external, namemap.announce_url,UNIX_TIMESTAMP(namemap.lastupdate) as lastupdate, namemap.anonymous, users.username FROM namemap LEFT JOIN categories ON categories.id=namemap.category LEFT JOIN summary ON summary.info_hash=namemap.info_hash LEFT JOIN users ON users.id=namemap.uploader WHERE namemap.info_hash ='" . $id . "'") or die(mysql_error()); $row = mysql_fetch_array($res); ?> |
1 |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $subject= $_POST["Korte_omschrijving"]; $from= $_POST["User"]; $ontvanger= "meverts@koldijkbv.nl"; $header = 'From: helpdesk@koldijkbv.nl'; mail($ontvanger, $subject, "De volgende melding is toegevoegd aan de databse: Computernummer: $computer Gebruikersnaam: $user Categorie: $categorie Korte omschrijving: $korte_omschrijving Uitgebreide omschrijving: $uitgebreide_omschrijving Urgentie: $urgentie_weer ", $header); |
Ik zie zo (op een spellingsfout na) geen foute code. Wat bedoel je met 'het voelt niet goed' ? Krijg je een foutmelding of niet?quote:Op woensdag 27 september 2006 09:41 schreef Sitethief het volgende:
Ik heb het project van iemand anders overgenomen, maar mijn ehm PHP kennis is zeg maar van een laag peil,. Ziet iemand its fdout in het volgende stukje code, het "voelt" gewoon niet goed.
[ code verwijderd ]
Er zullen ws nog veel vragen van mij volgen.....
quote:Op woensdag 27 september 2006 09:45 schreef Nevermind het volgende:
[..]
Ik zie zo (op een spellingsfout na) geen foute code. Wat bedoel je met 'het voelt niet goed' ? Krijg je een foutmelding of niet?
Misschien moet je het html formulier ook even posten.
1 |
Tis nu nog een lokaal draaiend iets,quote:Op woensdag 27 september 2006 09:48 schreef JeRa het volgende:
Het is wellicht slim om je user input te checken. Nu zou iemand via $_POST['user'] extra headers kunnen toevoegen
Loopt die SMTP-server op localhost? Zo ja, kun je er dan handmatig mee verbinden?quote:Op woensdag 27 september 2006 09:55 schreef Sitethief het volgende:
[..]
[ code verwijderd ]
Terwijl er wel een smtp server loopt, die bij de vorige "programmeur" ook gewerkt heeft.............
Dan is het prima, als je het op internet had gezet zaten er waarschijnlijk binnen no-time een aantal spambots op die je mailformulier gingen misbruiken om spam te versturenquote:Op woensdag 27 september 2006 09:57 schreef Sitethief het volgende:
[..]
Tis nu nog een lokaal draaiend iets,. En het blijft ook binnen het bedrijf.
Btw, ik was niet van plan moeilijk te gaan doen met een project waar ik de ballen van weet en waar een paar dingen nog af gemaakt moeten worden..............
Ja die loopt lokaal, tis Mercury server, de server console zegt dat ie loopt, alleen als ik bij services kijk loopt ie net maar loopt er een ander smtp server (hij geeft iig een link naar een niet bestaand .exe in de systenm32).............. Vaag...quote:Op woensdag 27 september 2006 09:59 schreef JeRa het volgende:
[..]
Loopt die SMTP-server op localhost? Zo ja, kun je er dan handmatig mee verbinden?
1 2 3 4 5 6 7 8 9 10 | domain.nl. A 111.111.111.111 localhost A 127.0.0.1 mail A 111.111.111.111 pop A 111.111.111.111 www A 111.111.111.111 domain.nl. NS ns1.nameserver.nl. domain.nl. NS ns2.nameserver.nl. mail MX 10 domain.nl. TXT "v=spf1 a mx ip4:111.111.111.111 ?all" |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | if (isset($_POST['submit'])) { // als het formulier is verstuurd // controlle of alles ingevuld is if(!$_POST['klantnummer'] | !$_POST['klantnaam'] | !$_POST['geslacht'] | !$_POST['telefoonnummer'] | !$_POST['email'] | !$_POST['straat'] | !$_POST['postcode'] | !$_POST['plaats'] | !$_POST['land'] | !$_POST['betalingsmanier'] | !$_POST['soortklant'] | !$_POST['aanmaakklant'] | !$_POST['prospect']) { //zo niet dan een melding echo '<SCRIPT LANGUAGE="JavaScript"> <!-- window.alert("U heeft niet alle verplichte velden (met een *) ingevuld") // --> </SCRIPT>'; } ?> |
Hey zou cool zijn als je er uit komt, kan ik em ook mooi deels overnemen,quote:Op woensdag 27 september 2006 11:47 schreef Xtr3mE het volgende:
Hallo,
ik ben bezig om in een formulier verplichte velden te laten controlleren vóórdat deze in de database worden opgeslagen. De controlle werkt en er komt een messagebox als niet alles is ingevuld.
probleem alleen is dat na de messagebox opdracht het programma verder gaat. dus heb ik eerst een 'exit' of 'die' neergezet maar dan krijg je een leeg pagina erachter (logisch) en als je in je browser een pagina terug gaat is het ingevulde formulier leeg wat erg vervelend is bij een groot formulier. Nu is mijn vraag dus wat kan ik ipv die 'die' gebruiken zodat de huidige pagina blijft na de messagebox met alle ingevulde gegevens erin?
dit is trouwens de code:
[ code verwijderd ]
1 |
ik krijg nu : Call to undefined function submit()quote:Op woensdag 27 september 2006 11:53 schreef Desdinova het volgende:
@xtreme
ik denk dat je beter een javascript verificatie als EXTRA controle kan zetten op je vorige page. Als ze dan javascript uit hebben staan en toch door de controle komen is het hun eigen probleem (en 93% heeft js gewoon aan staan).
Voor die oplossing geef je je form een name="formnaam" als je dat nog niet hebt, en je submit button wordt een <input type="button">
als onclick actie doe je dit:
[ code verwijderd ]
1 2 3 4 | if(document.new_page.page_name.value == ''){ popupalert('name_item'); } else if (document.new_page.page_type.value == ''){ popupalert('page_type'); } else { this.form.submit(); }"> |
1 |
niet form1, form. maar dat zal het niet oplossen denk ikquote:
mijn formulier heet form1..quote:Op woensdag 27 september 2006 12:09 schreef Desdinova het volgende:
[..]
niet form1, form. maar dat zal het niet oplossen denk ik
dat maakt niet uitquote:
1 2 3 | if(if(toevoegen.form1.klantnummer.value == ''){ popupalert('name_item'); } else { this.form.submit(); }"> |
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 26 27 28 | function Generate_phrase() { include("../includes/functions.inc"); $con = mysql_connect($cfg['DB_host'],$cfg['DB_user'],$cfg['DB_pass']) or die(mysql_error()); mysql_select_db($cfg['DB_DB'],$con) or die(mysql_error()); $arr = array('a','A','1','b','B','2','c','C','d','D','e','E','f','F','g','G','h','H','i','I','j','J','0','k','K','#','l','L','%','m','M','@','n','N','!','o','$','p','P','¤','q','Q','^','r','R','s','S','t','T','u','U','v','V','w','W','x','X','y','Y','z','Z'); $i=0; while($i<6) { $phrase_login = array_rand($arr); $phrase_login1 .= $arr[$phrase_login]; $i++; } $phrase_login1 = urlencode($phrase_login1); $SQL = mysql_query("SELECT * FROM `Admin_login_phrases` WHERE `IP` = '".$_SERVER['REMOTE_ADDR']."'") or die(mysql_error()); if(mysql_num_rows($SQL)==1) { mysql_query("UPDATE `Admin_login_phrases` SET Phrase = '".$phrase_login1."' WHERE IP = '".$_SERVER['REMOTE_ADDR']."'"); } else { mysql_query("INSERT INTO `Admin_login_phrases`(Phrase,IP) VALUES('".$phrase_login1."','".$_SERVER['REMOTE_ADDR']."')") or die(mysql_error()); } return $phrase_login1; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | function RandomWoord($Lengte) { $Woord = ""; for( $i = 0; $i < $Lengte; $i++ ) { $Woord .= chr(rand(48,90)); } return $Woord; } ?> |
waarom is een array methode 'slecht' dan?quote:Op woensdag 27 september 2006 18:34 schreef ralfie het volgende:
alleen is die methode wat lastiger als je bepaalde karakters in die range niet wilt gebruiken, zoals `. In dat geval moet je allerlei uitzonderingsregels gaan bedenken, en dat werkt ook niet zo fijn. (neemt niet weg dat het nog altijd beter is als dde array methode).
omdat je dan met die array zitquote:Op woensdag 27 september 2006 21:04 schreef mschol het volgende:
[..]
waarom is een array methode 'slecht' dan?
* benieuwd is...
tja het is gelukkig ook maar 1x tikwerk.. en je kan makkelijker bepaalde karakters eruit laten (ik gebruik het 'woord' nu als tekst in plaatje voor verificatie, daar wil je niet een 0 en o hebben aangezien die nogal opelkaar lijkenquote:Op woensdag 27 september 2006 22:02 schreef ralfie het volgende:
[..]
omdat je dan met die array zit![]()
Tis niet slecht, zal niks kapot gaan, maar met chr(rand(bla)) is het mooier imo. Al is het maar dat het die regel typwerk scheelt
1 2 3 4 5 6 7 8 9 10 11 | else if(isset($_GET['image']) && $_GET['image'] == 'verify' && isset($_GET['phrase'])) { header("Content-type: image/jpeg"); $im = @imagecreate(60, 18) or die("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($im, 229, 229, 229); $text_color = imagecolorallocate($im, 210, 0, 0); imagestring($im,6,2,1,urldecode($_GET['phrase']),10); imagejpeg($im); } ?> |
1 |
dat betekent dus wanneer er in mijn urlencoded string een %80 staat ik nogmaals moet urlencoden..?quote:Op woensdag 27 september 2006 22:40 schreef JeRa het volgende:
@mschol
Je weet dat %80 een speciaal teken is in URIs?Gebruik urlencode() als je dat wilt oplossen.
Ah okay, nee dan hoeft het niet. Dat betekent gewoon dat het lettertype dat teken (chr 80) niet bevatquote:Op woensdag 27 september 2006 23:03 schreef mschol het volgende:
[..]
dat betekent dus wanneer er in mijn urlencoded string een %80 staat ik nogmaals moet urlencoden..?
(de waarde met %80 is een url encoded waarde namelijk)
quote:Op woensdag 27 september 2006 23:06 schreef JeRa het volgende:
[..]
Ah okay, nee dan hoeft het niet. Dat betekent gewoon dat het lettertype dat teken (chr 80) niet bevat
quote:Op donderdag 28 september 2006 10:46 schreef Desdinova het volgende:
is er een functie die ervoor zorgt dat een getal altijd 3 cijfers heeft? Ik wil bijv een getal altijd voor laten gaan door nullen, zodat het getal altijd uit 3 karakters bestaat (001, 002, 003, etc)
1 |
oeh ziet er lastig uitquote:Op donderdag 28 september 2006 10:52 schreef JeRa het volgende:
[..]
[ code verwijderd ]
Check de manual bij printf() voor informatie over de syntax
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | { GLOBAL $countdirfiles; GLOBAL $size; GLOBAL $countfolders; if($basedir=='') {$basedir = $dir;} $current_dir = opendir($dir); while($entryname = readdir($current_dir)) { if(is_dir("$dir/$entryname") and $entryname != "." and $entryname!="..") { $size[$basedir] += size_dir("$dir/$entryname", $basedir); $countfolders[$basedir]++; } elseif($entryname != "." and $entryname!="..") { $size[$basedir] += filesize($dir.'/'.$entryname); $countdirfiles[$basedir]++; } } closedir($current_dir); return $size[$dir]; } $the_files = array(); $the_folder = array(); $the_images = array(); $count[Files] = 0; $count[Folders] = 0; $count[Images] = 0; $dirs = $root.$dir; if( $open_dir = opendir($dirs) ) { while( FALSE !== ($file = readdir($open_dir)) ) { if($file != "." && $file != "..") { $absolute_file = $dirs.'/'.$file; if(is_file($absolute_file)) { $ch = explode('.',$file); $nr = count($ch)-1; $check = strtolower($ch[$nr]); if( eregi('jpeg',$check) OR eregi('jpg',$check) OR eregi('gif',$check) OR eregi('png',$check) ) { $the_images[] = $dir.'/'.$file; $count[Images]++; } else { if($file != "." && $file != "..") { $the_files[] .= $dir.'/'.$file; $count[Files]++; } } } elseif(is_dir($absolute_file)) { $size[$absolute_file] = size_dir($absolute_file,''); if($file!='ex') { $the_folder[] .= $dir.'/'.$file; $count[Folders]++; } } } } } sort($the_files); sort($the_folder); |
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | $images=array(); $files=array(); $folders=array(); echo get_bytes(getdirsize(getcwd())); echo '<hr>'; var_dump($images); echo '<hr>'; var_dump($files); echo '<hr>'; var_dump($folders); function getdirsize($dirname) { global $images,$files,$folders; $size=0; if ($handle=@opendir($dirname)) { $folders[]=$dirname; while (false!==($file=readdir($handle))) { if ($file=='.'||$file=='..') continue; if (filetype($cwd.$dirname.'/'.$file)=='dir') $size+=getdirsize($dirname.'/'.$file); else if (filetype($cwd.$dirname.'/'.$file)=='file') { $size+=@filesize($cwd.$dirname.'/'.$file); $ext=substr(($t=strrchr(strtolower($file),'.'))!==false?$t:'',1); if ($ext=='jpg' || $ext=='jpeg' || $ext=='gif' || $ext=='png') $images[]="$dirname/$file"; else $files[]="$dirname/$file"; } } closedir($handle); return $size; } else return 0; } function get_bytes($bytes) { if(!is_numeric($bytes))return "0 Bytes"; foreach (array(' Bytes',' KB',' MB',' GB') as $x){ if ($bytes<1024)return round($bytes,2).$x; $bytes/=1024; } } ?> |
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Index of /</title> <style> table, td, tr { padding: 2px; background-color: #FFFFFF; border: 1px solid #CCCCCC; } a:hover,a:visited,a:link { color : #8f0700; text-decoration : underline; font-weight: bold; } </style> </head> <body><?php function sizeoffile($file){ if(filesize($file)>1048576) { $sizeof = filesize($file)/1048576; $sizeof = round($sizeof, 2); $sizeof = $sizeof."m"; } elseif(filesize($file)>1024) { $sizeof = filesize($file)/1024; $sizeof = round($sizeof, 2); $sizeof = $sizeof."k"; } else { $sizeof = filesize($file); } return $sizeof; } if($_GET["test"]=="test"){ if ($handle = opendir('.')) { echo "<table cellspacing="0" cellpadding="0">"; echo "<tr><td> </td><td><b>Bestandsnaam</b></td><td><b>Grootte</b></td><td><b>Laatst gewijzigd</b></td></tr>"; while (false !== ($file = readdir($handle))) { if($file==".." || $file==".") {} elseif (is_dir($file)) { echo "<tr><td><img src='dir.jpg'></td><td><a href="".$file."/">".$file."</a></td><td>..</td><td>".date("d-m-Y H:i", filemtime($file))."</td></tr>"; } elseif(is_file($file)) { echo "<tr><td><img src='file.jpg'></td><td><a href="".$file."">".$file."</a></td><td>".sizeoffile($file)."</td><td>".date("d-m-Y H:i", filemtime($file))."</td></tr>"; } } echo "<tr><td colspan="4" style="text-align: right;"><a href="http://www.microdv.nl" target="_blank" style="text-decoration: none;">© micro 2006</a></td><tr>"; echo "</table>"; closedir($handle); } } ?> <body> </html> |
gebruik die printf dan ook meteen ;Pquote:Op donderdag 28 september 2006 10:52 schreef JeRa het volgende:
[..]
[ code verwijderd ]
Check de manual bij printf() voor informatie over de syntax
Nee, want die stuurt het resultaat meteen naar de output en dat was niet waar ie om vroegquote:Op vrijdag 29 september 2006 11:23 schreef Roönaän het volgende:
[..]
gebruik die printf dan ook meteen ;P
http://smarty.php.net/quote:Op zaterdag 30 september 2006 18:36 schreef FuifDuif het volgende:
Het scheiden van de presentatielaag
http://www.php.net/quote:de business logic laag
http://www.mysql.com/quote:en de datalaag
Ah, dus kennelijk voldoe ik aan dat model?quote:is er eentje van.
quote:Op zaterdag 30 september 2006 18:36 schreef FuifDuif het volgende:
Zijn er hier meer mensen die middels PHP het Model 2 paradigma implementeren? PHP staat vooral bekend om de simpelheid en de procedurele aanpak, maar inmiddels is het mogelijk om ook met PHP allerlei elegante ontwerpoplossingen op te volgen. Het scheiden van de presentatielaag, de business logic laag en de datalaag is er eentje van.
Het ligt natuurlijk ook net aan wat je aan het ontwikkelen bent. Af en toe is het ontzettend lastig om geen database queries te betrekken in de business laag (bijvoorbeeld bij het ontwikkelen van een zoekmachine) omdat het schrijven van een interface die dit afhandelt vaak een veelvoud van de tijd kost dan zoiets direct in de business laag te schrijven.quote:Op zaterdag 30 september 2006 18:44 schreef FuifDuif het volgende:
Inderdaad, JeRa. Ik vind het zelf zeer elegant om op die manier te werk te gaan. Bij voorkeur ontwikkel ik ook graag een laag die als het ware de communicatie vormt tussen de business laag en de database. Op die manier kan ik voorkomen dat ik queries moet plaatsen in de business laag.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <rss version="2.0"> <channel> <title>RSS bla bla</title> <description>RSS feed voor website 2</description> <link>http://www.website1.nl</link> <item> <title>Artikel 1</title> <link>http://www.website1.nl/artikel.php?id=1</link> <description>beschrijving van het item en zo</description> </item> <item> <title>Artikel 2</title> <link>http://www.website1.nl/artikel.php?id=2</link> <description>beschrijving van het item en zo</description> </item> </channel> </rss> |
1 2 3 4 5 6 7 8 | include("connect.php"); @mysql_select_db("nieuwsbrief") or die ("kon geen database selecteren"); $query = "UPDATE nieuwsbrief SET actief='yes' WHERE randid='$mail_rand' AND ID='$mail_id'"; $result = mysql_query($query); if ($result) {echo "U heeft zich succesvol aangemeld! Binnenkort ontvangt u de nieuwsbrief.<br/><br/>";} else {echo "er is een onbekende fout opgetreden ";}} |
Een veelgebruikt script is Magpie ( http://magpierss.sourceforge.net/ ).quote:Op zondag 1 oktober 2006 23:09 schreef Tuvai.net het volgende:
Nu wil ik op website 2 die als eigen pagina functioneert, een kolommetje maken waarin door middel van die RSS feed van website 1, de artikelen van website 1 staan.
Hoe pak ik dit aan met PHP?
Het is ongeveer hetzelfde als die Tweakers.net kolom op de Fok!Frontpage.
In feite gebruik je voor alle drie de zaken PHPquote:Op zaterdag 30 september 2006 18:41 schreef JeRa het volgende:
[..]
http://smarty.php.net/
[..]
http://www.php.net/
[..]
http://www.mysql.com/
[..]
Ah, dus kennelijk voldoe ik aan dat model?
1 |
Die vergeet ik altijdquote:
Als er al mensen zijn die ook al nagedacht hebben, bedankt maar ik heb het op een andere manier opgelost. Als de var id nog niet bestaat heb ik het met limit=1 DESC gedaan, en anders bovenstaande.quote:Op dinsdag 3 oktober 2006 18:48 schreef hele_nare_user het volgende:
Hoi
ik wil van het ene venster naar het andere venster linken:
Doelvenster
[ code verwijderd ]
Nu heb ik in het andere venster dus een link staan met ?id=1 enzovoorts. Alleen het probleem is dat ik steeds de oudste record te zien krijg, terwijl ik de nieuwste wil zien. DESC dus, alleen krijg ik dan een foutmelding.
Hoe kan ik hem nou wel goed coden?
quote:
Dit script lijkt me goed? Maar ik krijg er geen e-mail van?quote:$to = "mijnemail@mijndomein.nl";
$from = "thisthat@henkiespankie.com";
$subject = "Test";
$headers = "MIME-Version: 1.0rn".
"Content-type: text/html; charset=iso-8859-1rn".
"From: "This That Testing" <".$from.">rn".
"To: "Client" <".$to.">rn".
"Date: ".date("r")."rn".
"Subject: ".$subject."rn";
$message = "
<html>
<body>
<b>test test</b><br>
</body>
</html>
";
mail($to, $subject, $message, $from, $headers);
forumbugje, backslashes werken nietquote:Op donderdag 5 oktober 2006 09:03 schreef Desdinova het volgende:
rond Client en This That Testing heb je dubbele quotes staan. Hoor je hier geen parse error voor te krijgen? Aangezien je aangeeft dat dat het einde is van je $headers, en je geen puntkomma of punt erachter hebt.
als je je headers weghaalt, krijg je hem dan wel binnen?
Check je logfile anders voor meer info
dat is geen map, die url wordt via mod_rewrite omgevormd naar een bestandsnaamquote:Op vrijdag 6 oktober 2006 10:00 schreef Desdinova het volgende:
beetje offtopic, maar is dr eigenlijk een manier om te achterhalen wat de bestandsnaam van de pagina is? want soms heb je een link naar een map (bijv. [PHP/(My)SQL] voor dummies - Deel 33 ).
Ja gisteren wat over gelezen maar schijnt niet echt veel code te bevatten van Pascal en Delphi... Ik wacht wel totdat de service uit de beta gehaald wordt!quote:Op vrijdag 6 oktober 2006 09:48 schreef Darkomen het volgende:
Hebben jullie deze al gespot?
http://google.com/codesearch
Nee, je komt er niet achter waar je 'achter de schermen' naartoe wordt gestuurdquote:Op vrijdag 6 oktober 2006 10:00 schreef Desdinova het volgende:
beetje offtopic, maar is dr eigenlijk een manier om te achterhalen wat de bestandsnaam van de pagina is? want soms heb je een link naar een map (bijv. [PHP/(My)SQL] voor dummies - Deel 33 ).
Meestal wel (zie Fok), al zijn er ook CMS die daadwerkelijk in een dergelijke mappenstructuur publiceren.quote:Op vrijdag 6 oktober 2006 11:58 schreef Desdinova het volgende:
@ xcalibur & crazaay
ah ok tx. Maar het is wel te verwachten dat deze pagina's dynamisch zijn dus? dus geen standaard dreamweaver/frontpage html files
Nee, dat is niet te verwachten. Kijk eens naar MultiViews in de Apache httpd en je snapt waaromquote:Op vrijdag 6 oktober 2006 11:58 schreef Desdinova het volgende:
@ xcalibur & crazaay
ah ok tx. Maar het is wel te verwachten dat deze pagina's dynamisch zijn dus? dus geen standaard dreamweaver/frontpage html files
1 2 3 4 5 6 7 8 9 10 11 12 | BBB - 78 AAA - 43 BBB - 63 CCC - 22 AAA - 65 BBB - 44 BBB - 21 AAA - 53 CCC - 99 BBB - 42 CCC - 77 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | AAA - 65 AAA - 53 AAA - 43 BBB - 78 BBB - 63 BBB - 44 BBB - 42 BBB - 21 CCC - 99 CCC - 77 CCC - 22 |
1 2 3 4 5 6 7 8 | AAA - 65 BBB - 78 BBB - 63 CCC - 99 CCC - 77 |
1 2 | FROM `tabel` |
1 2 3 4 | FROM `tabel` ORDER BY getal DESC LIMIT 0,2 |
Je maar dat zou ik dan als argument moeten geven aan die functie , toch? Ik zocht eigenlijk een methode waarbij het automatisch gaat.quote:
Ja dat kan ik wel doen, maar dan moet ik elke keer weer __LINE__ als argument doorgeven, en dat vind ik een beetje omslachtig. Ik dacht misschien is er ook een andere methode.quote:Op zaterdag 7 oktober 2006 12:38 schreef Chandler het volgende:
ik weet zelf geen niet hoe je dat wil doen... maar je kunt toch ook bla(__LINE__) doen?
google-cache linkquote:Op zaterdag 7 oktober 2006 21:45 schreef Swetsenegger het volgende:
php.net plat?
fuck en ik heb de juiste syntax voor print_r nodig
Ja dat had ik dus maar dat werkte niet....quote:Op zaterdag 7 oktober 2006 21:49 schreef Roönaän het volgende:
juiste syntax voor print_r???
print_r(anything);
kheb een html-form in mijn active desktop die idd naar die sites doorlinktquote:Op zaterdag 7 oktober 2006 21:59 schreef JeRa het volgende:
Ik gebruik altijd http://nl2.php.net/ of http://nl3.php.net/, omdat deze los van de hoofdsite draaien en vaak stukken sneller zijn
Ik heb geen active desktop op mijn powerbookquote:Op zaterdag 7 oktober 2006 22:00 schreef Roönaän het volgende:
[..]
kheb een html-form in mijn active desktop die idd naar die sites doorlinktfunctie intypen en op enter raggen.
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 26 27 28 29 30 31 | $loginfields['username'] = urlencode('loginnaam'); $loginfields['password'] = urlencode('wachtwoord'); $loginfields['id'] = urlencode('123456'); $loginfields['u'] = urlencode('%2Fshow.php%3Fid%3D123456'); $ch = curl_init(); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_URL, 'http://www.domein.nl/login.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $loginfields); curl_exec($ch); curl_close($ch); En het posten: $ch = curl_init(); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_URL, 'http://www.domein.nl/insertmessage.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields); $output = curl_exec($ch); $info = curl_getinfo($ch); foreach ($info as $key=>$value) { print "$key -> $value<br>"; } curl_close($ch); print $output; curl_close($ch); |
mijn sig-update-en-meteen-post-script:quote:Op zondag 8 oktober 2006 17:40 schreef Darkomen het volgende:
Hoi, ik zit wat verder te werken op het fok inloggen en signature aanpassen.
maar dan op een andere site, ik weet waar ik moet inloggen, en ik weet waar ik een bericht kan posten.
De veldnamen etc, maar hoe verder?
Hoe weet ik of ik nu wel ben ingelogd of niet, en hoe ga ik naar de 2de pagina om daar te posten?
[ 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 24 25 26 27 28 29 30 31 | $sessionid = "****"; $h = date("d-m-y @ H:i"); $mail = "****"; $sig = "Offrir l'amité à qui veut l'amour, c'est donner du pain à qui meurt de soif Ask || Answer || Receive [b]laatste update op mijn [url=www.qu63.nl/blog]weblog[/url]: ".$h."[/b]"; $pass = "****"; $user = "62215"; $ch = curl_init("http://forum.fok.nl/user/profile"); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: forum.fok.nl","Connection: Keep-Alive","Cookie: Enabled=true; sessid=".$sessionid."; user=62215")); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, "&email=".$mail."&signature=".$sig."&password=".$pass."&showemail=1&icq=140556304&msn=qu633@hotmail.com&ondertitel=..de tijd drinkt.&homepage=http://www.qu63.com&webicon=http://forum.fok.nl/usericons/62215/qu24.gif&geslacht=m&woonplaats=Hilversum&geboortedatum=1985-08-28"); curl_exec($ch); curl_close($ch); $html = file_get_contents('http://forum.fok.nl/forum/9'); if(preg_match_all('/topic(([0-9]{6,}),'([WFL-LFC.*)'/iU', $html, $matches)) { $topics = array(); foreach($matches[1] as $index => $id) $topics[] = array('id' => $id, 'title' => $matches[2][$index]); $message = "Weer een update op mijn weblog! [url=http://www.qu63.nl/blog]".$h."[/url]"; $ch = curl_init("http://forum.fok.nl/fok/post_reply/".$topics[0]['id'].""); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: forum.fok.nl","Connection: Keep-Alive","Cookie: Enabled=true; sessid=****; user=62215")); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, "&topic=".$topics[0]['id']."&skipVerbose=TRUE&posticoon=6&message=".$message."&submit=Invoeren"); curl_exec($ch); curl_close($ch); } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | $postfields['subject'] = urlencode(''); $postfields['message'] = urlencode('Testje'); $postfields['pageID'] = urlencode('*****'); $postfields['privateMsg'] = urlencode('0'); $ch = curl_init("http://www.domein.nl/insertmessage.php"); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: www.domein.nl","Connection: Keep-Alive","Cookie: Enabled=true; PHPSESSID=******; user=*****")); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields); curl_exec($ch); curl_close($ch); |
Bij elke actie naar een webserver toe hoort een reactie. Kijk dus naar wat de webserver naar je terugstuurt als je een POST-formulier voor het inloggen verstuurt (met name de headers) en kijk naar de verschillen bij een succesvolle login en bij een foute login.quote:Op zondag 8 oktober 2006 17:40 schreef Darkomen het volgende:
Hoi, ik zit wat verder te werken op het fok inloggen en signature aanpassen.
maar dan op een andere site, ik weet waar ik moet inloggen, en ik weet waar ik een bericht kan posten.
De veldnamen etc, maar hoe verder?
Hoe weet ik of ik nu wel ben ingelogd of niet, en hoe ga ik naar de 2de pagina om daar te posten?
[ code verwijderd ]
1 2 3 | $voorselectiequery = "SELECT id FROM blog where id = '" . $_SESSION['blogselecteren'] . "'"; ?> |
1 |
1 |
De quick & dirty oplossing is javascript gebruiken om onload alle links naar je eigen pagina's te encoden.quote:Op maandag 9 oktober 2006 20:02 schreef Piles het volgende:
Ik gebruik de mod_rewrite-dinges voor mijn pagina's, maar nu had ik een probleem met bijvoorbeeld de link:
http://www.huisdierportal(...)20een%20weblog?.html
Dit komt door het ? in de url. Deze moet omgezet worden naar de waarde %iets. In PHP is daar de functie urlencode() voor, maar nu moet ik dus al mijn links (dus templates + code) aanpassen om alles goed te krijgen
Nu vroeg ik me af of dit niet met 1 instelling ofzo kan?
multiviews gebruiken ipv een modrewritequote:Op maandag 9 oktober 2006 20:02 schreef Piles het volgende:
Ik gebruik de mod_rewrite-dinges voor mijn pagina's, maar nu had ik een probleem met bijvoorbeeld de link:
http://www.huisdierportal(...)20een%20weblog?.html
Dit komt door het ? in de url. Deze moet omgezet worden naar de waarde %iets. In PHP is daar de functie urlencode() voor, maar nu moet ik dus al mijn links (dus templates + code) aanpassen om alles goed te krijgen
Nu vroeg ik me af of dit niet met 1 instelling ofzo kan?
Ik heb maar 1 variabele tot mijn beschikking in die query, dus op jou manier moet ik de onder- of bovengrens berekenen met PHP. Dat is wat ik al heb gemaakt.quote:Op maandag 9 oktober 2006 14:01 schreef JeRa het volgende:
Vrij simpel. Je kunt in SQL ook bereiken aangeven door je WHERE-clausule zo te schrijven:
[ code verwijderd ]
Dat lukt vast?
Hoe wordt die Session variabel precies gevuld?quote:Op maandag 9 oktober 2006 12:23 schreef Pronk het volgende:
Ik heb een klein vraagje, met de volgende query haal ik een 1 blogje op uit mijn mysql database:
[ code verwijderd ]
Nu wil ik voortaan met deze query niet 1, maar 5 blogjes uit de database trekken. Ik kan dit oplossen door via PHP de volgende (of vorige) 5 ID's te berekenen.
Ik vraag me nu af, kan ik dit ook doen door de query te wijzigen, zoja, wat moet ik aanpassen in mijn query?
http://nl3.php.net/manual/en/function.array-search.phpquote:Op dinsdag 10 oktober 2006 13:55 schreef Desdinova het volgende:
is er een manier dat je de key van een array kan achterhalen bij een bepaalde value?
Dit zou ik inderdaad kunnen doen, maar dit heeft niet mijn voorkeur, eigenlijk wil ik ook niks aan die variabele veranderen. Maar ik vrees dat er niets anders op zit.quote:Op dinsdag 10 oktober 2006 10:32 schreef Pakspul het volgende:
[..]
Hoe wordt die Session variabel precies gevuld?
Anders kun je de variabel vullen als volgt _SESSION['lala'] = '1,2,3,4,5';
en dan als volgt de query gebruiken SELECT * FROM tabel WHERE BlogID IN _SESSION['lala']
SELECT * FROM table WHERE blogID = $blogID OR blogID > $blogID LIMIT 0, 5quote:Op dinsdag 10 oktober 2006 14:21 schreef Pronk het volgende:
[..]
Dit zou ik inderdaad kunnen doen, maar dit heeft niet mijn voorkeur, eigenlijk wil ik ook niks aan die variabele veranderen. Maar ik vrees dat er niets anders op zit.
Dit werkt bijna helemaal goed, alleen komt de geselecteerde + 4 nieuwere berichten uit de query, ik wil graag de geselecteerde + 4 oudere berichten uit de query.quote:Op dinsdag 10 oktober 2006 14:36 schreef Pakspul het volgende:
[..]
SELECT * FROM table WHERE blogID = $blogID OR blogID > $blogID LIMIT 0, 5
en < voor andersom uiteraad
Ff gegoogled: http://fundisom.com/phpsnippets/snip/databases/mySQL_to_excel/quote:Op woensdag 11 oktober 2006 19:52 schreef Swetsenegger het volgende:
Weet iemand een functie waarmee ik via php een database kan exporteren naar excel (dus niet naar comma seperated value)?
Volgens mij is dit meer een txt file dumpen en 'm vervolgens xls noemen, maar als het werkt...quote:Op woensdag 11 oktober 2006 19:55 schreef Piles het volgende:
[..]
Ff gegoogled: http://fundisom.com/phpsnippets/snip/databases/mySQL_to_excel/
Is dat wat?
PhpMyAdmin heeft standaard dergelijke functionaliteit aan boord, kijk eens in de libraries van dat project zou ik zeggenquote:Op woensdag 11 oktober 2006 19:52 schreef Swetsenegger het volgende:
Weet iemand een functie waarmee ik via php een database kan exporteren naar excel (dus niet naar comma seperated value)?
een hele database of alleen 1 tabel?quote:Op woensdag 11 oktober 2006 19:52 schreef Swetsenegger het volgende:
SELECT * FROM table WHERE blogID = $blogID OR blogID > $blogID ORDER BY blogID DESC LIMIT 0, 5
Weet iemand een functie waarmee ik via php een database kan exporteren naar excel (dus niet naar comma seperated value)?
Ik zou inderdaad eens in phpmyadmin kunnen kijken.quote:Op woensdag 11 oktober 2006 20:01 schreef JeRa het volgende:
[..]
PhpMyAdmin heeft standaard dergelijke functionaliteit aan boord, kijk eens in de libraries van dat project zou ik zeggenverder is CSV -> Excel geen optie? (daar kan het programma prima mee overweg namelijk).
1 tabel, en dan niet eens alle velden. WEL moet ik tussen sommige kolommenen vrije kolommen zien in te bakken omdat de andere app die weer nodig heeft.quote:Op woensdag 11 oktober 2006 20:01 schreef Xcalibur het volgende:
[..]
een hele database of alleen 1 tabel?
Ja dat doet die snippet van Piles ook, werkt inderdaad prima, behalve dat ik nu moet uitvinden hoe ik lege kolommen plak.quote:wat ik altijd doe is 1 query dumpen in een HTML table, en een PHP header meegeven dat ie hem als Excel moet opslaan (header('Content-Type: application/vnd.ms-excel');) en dat werkt prima. Je kan zelfs eenvoudige opmaak zoals bold enzo meegeven
Ja dat is dus mooi kut, want ook DAT moet ik oplossenquote:alleen getallen met voorloopnullen zijn lastig (ook telefoonnummers etc), want die sloopt Excel d'r af![]()
imagecreatefromstring, die was zeg maar één click away van de functies die je net noemde in de PHP manualquote:Op donderdag 12 oktober 2006 16:03 schreef Desdinova het volgende:
is er eigenlijk een algemene functie voor imagecreatefromjpeg, imagecreatefromgif, imagecreatefrompng enzo?
dus dat ik niet hoef te switchen op extensie of mimetype
hehe ohquote:Op donderdag 12 oktober 2006 16:07 schreef JeRa het volgende:
[..]
imagecreatefromstring, die was zeg maar één click away van de functies die je net noemde in de PHP manual
Er zijn veel verschillende oplossingen voor jouw probleem. Je geeft een beetje weinig informatie over de configuratie waarop je draait; maar je zou bijvoorbeeld een PHP-script kunnen schrijven dat een bestand opent ala:quote:Op donderdag 12 oktober 2006 16:15 schreef profielnaam het volgende:
hoi, ik probeer een scriptje te maken dat elke 5 uur een bestand download van meerdere servers.
zelf heb ik een html file gemaakt dat om de zoveel tijd een pagina update, maar daarmee wordt 1. het bestand niet automatisch opgeslagen en 2. ik kan geen meerdere sites opgeven waarvan gedownload moet worden.
Ik zou ook willen dat het bestand alleen gedownload wordt als het niet gelijk is aan het bestaande bestand.
1 |
De snelste manier om te controleren of het bestand dat je wilt downloaden hetzelfde is dan je bestaande bestand is via md5()quote:Op donderdag 12 oktober 2006 16:15 schreef profielnaam het volgende:
hoi, ik probeer een scriptje te maken dat elke 5 uur een bestand download van meerdere servers.
zelf heb ik een html file gemaakt dat om de zoveel tijd een pagina update, maar daarmee wordt 1. het bestand niet automatisch opgeslagen en 2. ik kan geen meerdere sites opgeven waarvan gedownload moet worden.
Ik zou ook willen dat het bestand alleen gedownload wordt als het niet gelijk is aan het bestaande bestand.
waar kan ik zulke php code vinden ? of als iemand al een soortgelijk script heeft, zou dat geshared kunnnen worden ?
Dat is natuurlijk ontzettend nutteloos, omdat je voor md5file() eerst het bestand moet downloadenquote:Op donderdag 12 oktober 2006 16:51 schreef fate het volgende:
[..]
De snelste manier om te controleren of het bestand dat je wilt downloaden hetzelfde is dan je bestaande bestand is via md5(). Het hele bestand erdoor en controleren met je vorige md5() string. Dit gaat veel sneller dan het ganse bestand te vergelijken. Als het dan niet gelijk is; opnieuw downloaden.
1 2 3 | $array = array(0 => "iets", 1 => "nog iets", 4 => "anders nog iets?"); ?> |
1 2 3 4 5 6 7 | php if(count($array) == 0) $maximum = 0; else $maximum = ((int) (max(array_flip($array)))); ?> |
1 2 3 4 5 6 | if(count($array) == 0) $maximum = 0; else $maximum = ((int) (max(array_keys($array)))); ?> |
1 2 3 4 5 | $query = "SELECT l.session_stamp, l.tijd, l.ip_address FROM logged_in AS l WHERE l.user_id = '" . $id . "'"; ?> |
1 2 3 4 5 6 | $query = "SELECT l.tijd, l.ip_address FROM logged_in AS l INNER JOIN users AS u ON l.user_id = u.id WHERE l.session_stamp = '" . $sid . "' AND u.id = '" . $userid . "'"; ?> |
Ik gebruik verder nog geen dingen erbij, dit zijn de enige checks die ik uitvoer. Dus na de login wordt de data naar de DB geschreven, en dat wordt voortdurend gecontroleerd... Of ben ik nu té simpel bezig?quote:Mits je een sessionid-systeem maakt dat genoeg verschillende sessionid's kan genereren
Als je een session-systeem schrijft moet je iets hebben dat de session identificeert. Dit is in jouw geval de sessionidquote:Op zaterdag 14 oktober 2006 15:17 schreef SkaterSam het volgende:
Ok, ja je hebt inderdaad gelijk met de INNER JOIN, ik heb nog steeds niet echt de "feeling" om dat in een query te kunnen zetten, maar dat moet ik een beetje nog aanleren dus. Ik snapte alleen niet wat je hier mee bedoelde:
[..]
Ik gebruik verder nog geen dingen erbij, dit zijn de enige checks die ik uitvoer. Dus na de login wordt de data naar de DB geschreven, en dat wordt voortdurend gecontroleerd... Of ben ik nu té simpel bezig?
lig er aan: zijn het 20 query's zou ik gaan proberen ze zoveel mogelijk apart in een soort van array te zetten (die boven aan de pagina of in een ander bestand wordt gedefineerdquote:Op zaterdag 14 oktober 2006 15:30 schreef super-muffin het volgende:
Ik ben nou bezig met mijn eigen site aan het omzetten in PHP en mySQL.
Nu staan veel query's midden in de pagina. Ik vind dat niet echt netjes. Stoppen jullie die in een apart bestand of stel ik me aan?
Imho is de mooiste oplossing om de logistiek achter een website te scheiden van de presentatie. Wat ik dus meestal doe is een PHP-bestand schrijven waar alle bewerkingen worden uitgevoerd en waarin ik een template laadt die mijn gegevens kan presenteren.quote:Op zaterdag 14 oktober 2006 15:30 schreef super-muffin het volgende:
Ik ben nou bezig met mijn eigen site aan het omzetten in PHP en mySQL.
Nu staan veel query's midden in de pagina. Ik vind dat niet echt netjes. Stoppen jullie die in een apart bestand of stel ik me aan?
Miniem, maar een check is op z'n minst wel netjes. Als je je sessionid een PRIMARY KEY maakt wordt ie automatisch ook UNIQUE en dan krijg je een foutmelding terug als je een al bestaande session id probeert te inserten, dus daar zou je eventueel op kunnen checkenquote:Op zaterdag 14 oktober 2006 15:32 schreef SkaterSam het volgende:
Maar hoe vaak komt het voor dat dezelfde sessionid's worden gegenereerd @random? Het betreft trouwens nu nog een systeem waar maar enkele mensen op inloggen... Een stuk of 10 zeg maar, dan is die kans toch miniem...?
Op aanraden van Crazaay (geloof ik) heb ik eens naar CodeIgniter gekeken. Hiermee wordt het je behoorlijk makkelijk gemaakt om een cleane website te maken.quote:Op zaterdag 14 oktober 2006 16:09 schreef JeRa het volgende:
[..]
Imho is de mooiste oplossing om de logistiek achter een website te scheiden van de presentatie. Wat ik dus meestal doe is een PHP-bestand schrijven waar alle bewerkingen worden uitgevoerd en waarin ik een template laadt die mijn gegevens kan presenteren.Zoiets kun je bewerkstelligen met Smarty.
Ja, maar dat zou dan moeten gebeuren als je inlogt, en niet nadat je al bent ingelogd.quote:Op zaterdag 14 oktober 2006 16:10 schreef JeRa het volgende:Miniem, maar een check is op z'n minst wel netjes. Als je je sessionid een PRIMARY KEY maakt wordt ie automatisch ook UNIQUE en dan krijg je een foutmelding terug als je een al bestaande session id probeert te inserten, dus daar zou je eventueel op kunnen checken
lege kolommen kan je toevoegen door een extra <td> in je tabel te zetten... gewoon geen data inzettenquote:Op woensdag 11 oktober 2006 20:34 schreef Swetsenegger het volgende:
Ja dat doet die snippet van Piles ook, werkt inderdaad prima, behalve dat ik nu moet uitvinden hoe ik lege kolommen plak.
[..]
Ja dat is dus mooi kut, want ook DAT moet ik oplossen
gebruik anders deze ` (dus naast het uitroepteken..) voor ieder getal, dan slikt Excel allesquote:Op woensdag 11 oktober 2006 20:34 schreef Swetsenegger het volgende:
Ja dat is dus mooi kut, want ook DAT moet ik oplossen
Aha, wel een goeie om te bookmarken.quote:Op zaterdag 14 oktober 2006 16:09 schreef JeRa het volgende:
[..]
Imho is de mooiste oplossing om de logistiek achter een website te scheiden van de presentatie. Wat ik dus meestal doe is een PHP-bestand schrijven waar alle bewerkingen worden uitgevoerd en waarin ik een template laadt die mijn gegevens kan presenteren.Zoiets kun je bewerkstelligen met Smarty.
De afhandeling van CSV door Excel is behoorlijk brak. De voorloopnullen zijn er nog wel doorheen te krijgen, maar een string met een komma erin wordt opgesplitst in 2 cellen, zelfs als de string tussen "" staat. dat kan je weer oplossen door een tab als schijdingsteken te gebruiken en alle tabs in de strings door een spatie te vervangen.quote:Op woensdag 11 oktober 2006 20:34 schreef Swetsenegger het volgende:
[..]
Ja dat is dus mooi kut, want ook DAT moet ik oplossen
Uiteindelijk geniet het de voorkeur om als uitgangspunt het model 2 paradigma te nemen. Dat betekent onder andere dat je inderdaad dus geen enkele business code in je HTML plaatst. In plaats daarvan gebruik je een templating systeem, zoals JeRa met Smarty al aan heeft gegeven. Uiteraard hangt het af van de omvang van een website in hoeverre een dergelijke benadering echt noodzakelijk is. In ieder geval is het een goed uitgangspunt om je ontwikkel- en daarbij je abstractieniveau te verhogen wat zeker noodzakelijk is, wanneer je begint aan het ontwikkelen van webapplicaties.quote:Op zaterdag 14 oktober 2006 15:30 schreef super-muffin het volgende:
Ik ben nou bezig met mijn eigen site aan het omzetten in PHP en mySQL.
Nu staan veel query's midden in de pagina. Ik vind dat niet echt netjes. Stoppen jullie die in een apart bestand of stel ik me aan?
Die kans mag dan wel miniem zijn, maar de kans is aanwezig en dat lijkt mij al voldoende om deze uit te sluiten. Stel dàt het gebeurt; dat wil je niet. Een oplossing kan dan zijn om middels een soort lus-systeem een random key te genereren, waarbij hij telkens blijft genereren totdat een key is gegenereerd welke nog niet voorkomt in de tabel. In 99% van de gevallen al de lus slechts één maal doorlopen worden, maar mocht er bij toeval toch een key worden gegenereerd die reeds bestaat, dan maakt ie weer een nieuwe.quote:Op zaterdag 14 oktober 2006 15:32 schreef SkaterSam het volgende:
Maar hoe vaak komt het voor dat dezelfde sessionid's worden gegenereerd @random? Het betreft trouwens nu nog een systeem waar maar enkele mensen op inloggen... Een stuk of 10 zeg maar, dan is die kans toch miniem...? En met AUTO_INCREMENT bedoel je als ik vanuit de DB een sessionid zou aanmaken?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | //Controleer of de login geen dubbele session stamps oplevert... function checkLogin() { // Maak enkele variables om in de DB te voegen session_regenerate_id(); $fingerprint = $this->makeFingerprint(); $fingerprint = mysql_real_escape_string($fingerprint); // Controleer of die variable al bestaat $login_query = "SELECT COUNT(l.session_stamp) AS fingerprint FROM logged_in AS l WHERE l.session_stamp = '" . $fingerprint . "'"; $login_resource = mysql_query($login_query); $login_result = mysql_fetch_assoc($login_resource); if ($login_result['fingerprint'] == 1) { $this->checkLogin(); } return $fingerprint; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | do { // Maak random session id session_regenerate_id(); $fingerprint = $this->makeFingerprint(); $fingerprint = mysql_real_escape_string($fingerprint); // Controleer de session id $query = 'SELECT COUNT(...) AS num FROM tabel etc etc'; $result = mysql_query($query); $data = mysql_fetch_assoc($result); } while (intval($data['num']) > 0); ?> |
Ha, ja zo kan het ook, ik vroeg me ook al af of mijn manier niet erg gevoelig was voor bugs... Want mijn manier doet precies hetzelfde toch ? Of wordt het dan een soort van nested loop... ?quote:Op zondag 15 oktober 2006 14:12 schreef JeRa het volgende:
@SkaterSam
Ik denk eerder dat FuifDuif zoiets bedoelt:
[ code verwijderd ]
Jouw functie werkt niet, omdat je $this->checkLogin() wel aanroept maar $fingerprint helemaal niet verandert :) als je dit had geschreven:quote:Op zondag 15 oktober 2006 14:24 schreef SkaterSam het volgende:
[..]
Ha, ja zo kan het ook, ik vroeg me ook al af of mijn manier niet erg gevoelig was voor bugs... Want mijn manier doet precies hetzelfde toch ? Of wordt het dan een soort van nested loop... ?
1 2 3 | $fingerprint = $this->checkLogin(); } |
1 2 3 | for($j = 1; $j <= $aantal; $j++) { echo "<tr><td><label><span class="style2">Onderdeel</span></td><td><input type="text" id=i name="textfield[]" maxlength="8"></label></td></tr>"; } ?> |
werkt, bedanktquote:Op maandag 16 oktober 2006 16:48 schreef Roönaän het volgende:
als alles is ingevuld kan je gewoon foreach($_POST['textfield'] as $name => $value) gebruiken
1 2 3 4 5 | $bla1 = $_POST['bla1']; $bla2 = $_POST['bla2']; $bla3 = $_POST['bla3']; ?> |
Is die er dan wel ?quote:Op dinsdag 17 oktober 2006 12:16 schreef GI het volgende:
[ code verwijderd ]
Maar het is niet volgens de "nette regels" om het op die manier te doen.
quote:Op dinsdag 17 oktober 2006 12:12 schreef appelsientje het volgende:
... Nu weet ik dat er een methode is om die POST gegevens in Variabelen te zetten...
1 2 3 4 5 6 | <input type="text" name="bla[]" /> <input type="text" name="bla[]" /> <input type="text" name="bla[]" /> <input type="submit" /> </form> |
1 2 | print_r($bla); |
1 2 3 | echo $var1; } |
1 2 3 | print_r($_POST); print('</pre>'); |
Je kunt ook meteen adviseren om register_globals aan te zettenquote:Op dinsdag 17 oktober 2006 12:16 schreef GI het volgende:
[ code verwijderd ]
Maar het is niet volgens de "nette regels" om het op die manier te doen.
1 2 3 4 5 6 | foreach ($_REQUEST as $key => $value){ if (in_array($key, $values)){ $$key = $value; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // alle waardes uitlezen $artikelcode = $_POST['artc']; $omschrijving = $_POST['omsc']; $prijs = $_POST['prijs']; //in de query zetten: foreach($_POST['textfield1'] as $name => $value) { foreach($_POST['textfield2'] as $name2 => $value2) { mysql_query("INSERT INTO pakket ( Artikelcode, Omschrijving, Prijs, Onderdeel, Naam ) VALUES ('$artikelcode', '$omschrijving', '$prijs', '$value', '$value2');"); } } ?> |
ja dat weet ik maar ik heb dus 5 of 6 verschillende manieren geprobeerd (de plaatsen van de 2 foreach's) te wijzigen en geen een lukte goed. dus ik ben nu zeg maar wanhopigquote:Op woensdag 18 oktober 2006 16:47 schreef JeRa het volgende:
@Xtr3mE
Zo raar is dat niet, je hebt een nested loop (loop in een loop) waarbij je allebei de items 2 keer doorloopt, oftewel 2x2 = 4 itemsje moet dus een manier zien te verzinnen hoe je de informatie uit textfield1 koppelt aan textfield2, en het geheel dan 2x doorlopen om de juiste 2 items te krijgen.
1 2 3 4 5 6 7 8 9 10 11 12 | $artikelcode = $_POST['artc']; $omschrijving = $_POST['omsc']; $prijs = $_POST['prijs']; $value2 = $_POST['textarea']; //in de query zetten: foreach($_POST['textfield1'] as $name => $value) { mysql_query("INSERT INTO pakket ( Artikelcode, Omschrijving, Prijs, Onderdeel, Naam ) VALUES ('$artikelcode', '$omschrijving', '$prijs', '$value', '$value2');"); } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 | $artikelcode = $_POST['artc']; $omschrijving = $_POST['omsc']; $prijs = $_POST['prijs']; //in de query zetten: foreach($_POST['textfield1'] as $name => $value) { mysql_query("INSERT INTO pakket ( Artikelcode, Omschrijving, Prijs, Onderdeel, Naam ) VALUES ('$artikelcode', '$omschrijving', '$prijs', '$value', '{$_POST['textfield2'][$name]}');"); } ?> |
Ik denk dat hij die $value2 niet leuk vind. Probeer eens alle variabelen tussen { en } te zetten. Dus:quote:Op woensdag 18 oktober 2006 18:22 schreef super-muffin het volgende:
Ik ben nog maar een beginner, maar werkt dit niet?
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 | $artikelcode = $_POST['artc']; $omschrijving = $_POST['omsc']; $prijs = $_POST['prijs']; $value2 = $_POST['textarea']; //in de query zetten: foreach($_POST['textfield1'] as $name => $value) { mysql_query("INSERT INTO pakket ( Artikelcode, Omschrijving, Prijs, Onderdeel, Naam ) VALUES ('{$artikelcode}', '{$omschrijving}', '{$prijs}', '{$value}', '{$value2}');"); } ?> |
quote:Op donderdag 19 oktober 2006 13:21 schreef Siegfried het volgende:
Als ik een tabel met rows heb, waarbij in 1 cel de woonplaats staat, is er dan een (niet al te server belastende) mogelijkheid om makkelijk te kijken welke woonplaats(en) er het vaakst in staan?
1 2 3 4 5 | FROM de_tabel GROUP BY woonplaats ORDER BY aantal DESC LIMIT 0,1; |
ja deze werkt!quote:Op woensdag 18 oktober 2006 18:37 schreef ralfie het volgende:
[ code verwijderd ]
anders snap ik em nie
niet vergeten op mysql injectie te controleren he![]()
Top!quote:Op donderdag 19 oktober 2006 13:25 schreef FuifDuif het volgende:
[..]
[ code verwijderd ]
Iets in die geest in ieder geval. De query retourneert als het goed is één record met daarin de woonplaats die het vaakst voorkomt.
Als je ze beide dan wilt tonen moet je de conditie "LIMIT 0, 1" weglaten en vervolgens door de resulterende recordset lopen en alle plaatsen weergeven met een aantal gelijk aan de woonplaats van het eerste recordquote:Op donderdag 19 oktober 2006 13:55 schreef Siegfried het volgende:
[..]
Top!
Maar wat, als er 2 steden even vaak voorkomen?
LIMIT 0,1 pakt er 1 beginnend bij 0. Hij pakt dus het eerste element uit de resulterende tabel. LIMIT 100,1 pakt de dus de 101ste.quote:Op donderdag 19 oktober 2006 14:49 schreef Desdinova het volgende:
nu we het toch over LIMIT 0,1 hebben, wanneer gebruik je LIMIT 0,1 en wanneer LIMIT 1? want bij een update kan je niet 0,1 zetten ofzo. en bij delete ook niet. Wat is de theorie daarachter?
Wat bedoel je precies?quote:Op donderdag 19 oktober 2006 14:24 schreef Siegfried het volgende:
En er was toch een makkelijke manier om die waardes uit de array te halen die je met die SQL genereerd toch?
Zodat je geen while-lus hoeft te gebruiken? Hoe ging dat ook weer?
1 2 3 4 5 6 | $sql = mysql_query(...); while ($result = mysql_fetch_array($sql)) { ... } ?> |
1 2 | // ID's die een artikel zijn, en die dus als artikel gereplaced moeten worden |
1 |
1 |
1 2 3 | readfile('http://www.google.nl'); ?> |
1 2 3 4 5 6 7 | [Sun Oct 22 13:56:37 2006] [notice] Apache/2.0.58 (Win32) PHP/4.4.2 configured -- resuming normal operations [Sun Oct 22 13:56:37 2006] [notice] Server built: Apr 29 2006 17:47:10 [Sun Oct 22 13:56:37 2006] [notice] Parent: Created child process 3300 [Sun Oct 22 13:56:38 2006] [notice] Child 3300: Child process is running [Sun Oct 22 13:56:38 2006] [notice] Child 3300: Acquired the start mutex. [Sun Oct 22 13:56:38 2006] [notice] Child 3300: Starting 250 worker threads. |
van de mysql reference paginaquote:For those that are looking to "reset" the auto_increment, say on a list that has had a few deletions and you want to renumber everything, you can do the following.
DROP the field you are auto_incrementing.
ALTER the table to ADD the field again with the same attributes.
You will notice that all existing rows are renumbered and the next auto_increment number will be equal to the row count plus 1.
(Keep in mind that DROPping that column will remove all existing data, so if you have exterior resources that rely on that data, or the numbers that are already there, you may break the link. Also, as with any major structure change, it's a good idea to backup your table BEFORE you make the change.)
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |