dus eigenlijk werkt het script wel als ik het online zou plaatsen?quote:Op zondag 11 januari 2009 15:09 schreef GlowMouse het volgende:
move_uploaded_file werkt op je filesystem en localhost heb je niet op je filesystem.
Ja daar heb je totaal gelijk in.quote:Op zondag 11 januari 2009 15:13 schreef GlowMouse het volgende:
Dat script werkt prima ja. Hij zet het bestand op de lokatie $uploadfile, zie de documentatie bij move_uploaded_file.
Een zin als "en ik snap totaal niet hoe ik C:\bestand.jpg kan laten weergeven dat hij dat verplaatst" is onbegrijpelijk.
Wat heeft FTP hiermee te maken?
Ik bedoelde dan ook niet INTEGER vs TINYINT, maar een integer i.p.v. een string (het woord enum was toen helemaal nog niet gevallen). Het ging mij om het datatype.quote:Op vrijdag 9 januari 2009 20:12 schreef GlowMouse het volgende:
De integer die jij voorstelde was sowieso overdone om 0 of 1 op te slaan. Een tinyint voldoet dan al. En onder de byte per veld kom je niet, dus tinyint/enum is om het even en dan kies je natuurlijk de duidelijkste.
Als je dit nou terugleest, snap je dan zelf wel wat je schrijft?quote:Op zondag 11 januari 2009 15:22 schreef cablegunmaster het volgende:
[..]
Ja daar heb je totaal gelijk in.
ik bedoel hoe kan je een script een plaatje laten weergeven.
ik kies bijvoorbeeld C:\Glowmouse.jpg
en dan wil ik dat hij het weergeeft als C:\Glowmouse.jpg
ipv dat hij dat doet. Geeft hij Glowmouse.jpg weer.
op de localhost zelf ipv op C:\ hierdoor kan het plaatje niet weergegeven worden.
het plaatje hoeft niet verplaatst te worden![]()
weet niet of het mogelijk is![]()
ik bedoel dat hij het opslaat alsquote:Op zondag 11 januari 2009 18:01 schreef Xcalibur het volgende:
[..]
Als je dit nou terugleest, snap je dan zelf wel wat je schrijft?
Ik vermoed dat je het plaatje onder een andere naam wilt weergeven dan dat het opgeslagen is, door middel van een script? In dat geval moet je je eens gaan inlezen bij header() en file_get_contents()
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 | echo var_dump($_POST); if (isset($_POST['Submit'])) { if ($_POST['vnaam'] == "" ) { $error = "Voornaam is niet ingevuld<BR />"; } if ($_POST['anaam'] == "") { $error .= "Achternaam is niet ingevuld<BR />"; } if ($_POST['email'] == "" ) { $error .= "Uw email is niet ingevuld<BR />"; } if ($_POST['comment'] == "" ) { $error .= "U heeft geen commentaar ingevuld<BR />"; } if (strlen($_POST["vnaam"]) <= 2) { $error .= "Voornaam moet minstens 2 tekens bevatten<BR />"; } if (strlen($_POST["anaam"]) < 3) { $error .= "Achternaam moet minstens 3 tekens bevatten"; } //Als naam, leeftijd of land niet is ingevuld, is $error NIET leeg. if (!isset($error)) //als de variabele $error niet is aangemaakt ... { $naam = ucfirst($_POST["vnaam"]); $anaam = ucfirst($_POST["anaam"]); $email = $_POST["email"] ; $date = $_POST["email"]; $comment = $_POST["comment"]; $avatar = $_POST["avatar"]; $time = $_POST["datum"]; trim($naam); trim($anaam); strip_tags($naam); strip_tags($anaam); strip_tags($email); strip_tags($comment); strip_tags($avatar); // was ik later mee bezig weet niet of het werkt $uploaddir = 'localhost/phpweek/'; $uploadfile = $uploaddir . basename($_FILES['avatar']['name']); echo '<pre>'; if (move_uploaded_file($_FILES['avatar']['tmp_name'], $uploadfile)) { echo "Bestand is valide en is geupload \n"; } else { echo "dit bestand is niet valide! \n"; } echo 'Wat heb ik fout gedaan:'; print_r($_FILES); print "</pre>"; } */ echo $naam." ".$anaam." <br><a href=\"mailto:".$email."\">".$email."</a><br> <img src=\"".$_FILES['avatar']['name']."\"/><br> ".$time."<br>Uw commentaar:<br>".$comment; echo("<br><a href =\"".$_SERVER["PHP_SELF"] . "\">Nieuw commentaar toevoegen</a>"); } else { echo "Gelieve alle formuliervelden netjes in te vullen !<BR /><BR />"; echo "<FONT COLOR=\"#FF0000\">".$error."</FONT> <br><a href =\"".$_SERVER["PHP_SELF"] . "\">Probeer opnieuw</a>"; } } else { // als er niks ingevuld is word het gastenboek weergegeven net als het hoort. ?> |
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 | <head> <title>Gastenboek</title> </head> <body> <h1>Schrijf een bijdrage in ons gastenboek!</h1> <form enctype="multipart/form-data" action="<?php echo($_server["php_self"]);?>" method="post"> <table border = "0"> <tr> <td align="right">Voornaam</td> <td><input type="text" name="vnaam" size='10'></td> </tr> <tr> <td align="right">Achternaam</td> <td><input type="text" name="anaam" size='10'></td> </tr> <tr> <td align="right">E-mailadres</td> <td><input type="text" name="email" size='10'></td> </tr> <tr> <td align="right">Avatar:</td> <td><input type="hidden" name="MAX_FILE_SIZE" value="30000" /><input type="file" name="avatar"></td> </tr> <tr> <td VALIGN="top">Uw bijdrage:</td> <td><textarea name="comment" size="255" rows="8"></textarea></td> </tr> <tr> <td><input type="hidden" name="datum" value="<?php echo(date("Y-m-d H:i:s")); ?>"> </td> <td><input type="Submit" name="Submit" value="Verzenden"<input type="reset" name="Reset" value="Leegmaken"></td> </tr> </table> </form> </table> |
1 2 3 | } ?> |
1 2 | </html> |
je mist het puntquote:Op zondag 11 januari 2009 18:18 schreef Farenji het volgende:
Je moet het plaatje gewoon in de http root opslaan en dan kun je in je html ernaar verwijzen als href="/plaatje.gif".
Twee of drie diep is zát voor 100.000 afbeeldingen. De eerste vier tekens van de bestandsnaam zorgen trouwens niet echt voor een uniforme verdeling over mappen, of je applicatie moet bestanden zelf een random naam geven.quote:Op zondag 11 januari 2009 22:30 schreef Roy_T het volgende:
Sterker nog, als het om echt heel veel bestanden gaat kun je beter meer subdirs maken. Voor een applicatie met honderdduizend+ afbeeldingen plaats ik een bestand met de naam igifgarioufglieruhg.jpg daarom in "file/i/g/i/f/igifgarioufglieruhg.jpg"; oftewel subdirs op basis van de eerste 4 karakters van de naam. Als je zoveel bestanden in één dir hebt staan, dan wil dat nog weleens vertragend werken op filesystem niveau.
Bij twee niveau's diep en letters voor het aangeven van de niveau's heb je 148 bestanden per map. Uitgaande van een uniforme verdeling, uiteraard.quote:Op zondag 11 januari 2009 22:42 schreef GlowMouse het volgende:
[..]
Twee of drie diep is zát voor 100.000 afbeeldingen. De eerste vier tekens van de bestandsnaam zorgen trouwens niet echt voor een uniforme verdeling over mappen, of je applicatie moet bestanden zelf een random naam geven.
Het is door randomization inderdaad uniform verdeeld. Ik had het over 100.000 plus, de kans is groot dat het er binnenkort een veelvoud van zijn. De details doen er eigenlijk ook niet toe; het was meer een "tip" over architectuur. Of je 2 of 4 niveau's diep wilt gaan kan van meerdere zaken afhangen natuurlijkquote:Op zondag 11 januari 2009 22:42 schreef GlowMouse het volgende:
Twee of drie diep is zát voor 100.000 afbeeldingen. De eerste vier tekens van de bestandsnaam zorgen trouwens niet echt voor een uniforme verdeling over mappen, of je applicatie moet bestanden zelf een random naam geven.
Vanaf wanneer gaat zoiets vertragend werken en wat is "vertragend"? Ik zit namelijk ook met tienduizenden afbeeldingen die momenteel nog in één map staan. De honderduizend afbeeldingen is naderend en geen idee hoe zich dit gaat houden als er nog tienduizenden afbeeldingen bij gaan komen. Kan iemand daar iets over zeggen?quote:Op zondag 11 januari 2009 22:30 schreef Roy_T het volgende:
Sterker nog, als het om echt heel veel bestanden gaat kun je beter meer subdirs maken. Voor een applicatie met honderdduizend+ afbeeldingen plaats ik een bestand met de naam igifgarioufglieruhg.jpg daarom in "file/i/g/i/f/igifgarioufglieruhg.jpg"; oftewel subdirs op basis van de eerste 4 karakters van de naam. Als je zoveel bestanden in één dir hebt staan, dan wil dat nog weleens vertragend werken op filesystem niveau.
Ah... oké, dan hoef ik me voorlopig geen zorgen te maken denk ik. Alleen dat laatste (openen in explorer) klopt inderdaad, dat gaat echt rete-traag. Maar dat hoeft gelukkig nooit te gebeuren.quote:Op maandag 12 januari 2009 12:10 schreef GlowMouse het volgende:
Die limieten komen volgens mij meer uit oude filesystems. Tegenwoordig heb je er geen enkel probleem mee, totdat je het mapje opent in bv explorer.
1 2 3 4 5 6 7 8 9 10 11 | sel = document.frm.select1.selectedIndex; if(sel){ document.frm.select2.remove(sel); //document.frm.select2.selectedIndex =0; }else{ document.frm.select2.options[sel] = new Option('???wat te doen????',2); } } |
quote:Op maandag 12 januari 2009 13:28 schreef Likkende_Lassie het volgende:
Even een javascript vraagje, heb het ook al gepost in een javascript voor dummies, maar volgens mij zijn die topics niet heel erg actief
De sitiutatie is als volgt:
- Ik heb meerdere select's op mijn pagina, met precies dezelfde waarde, alleen de naam van select is anders.
- Ik wil, dat zodra er één van de options wordt geselecteerd, in een willekeurige select, dat in elke select (behalve de huidige), de optie verdwijnt. Wordt de optie niet meer geselecteerd, dan moet hij weer overal verschijnen.
Duidelijk?
Dit heb ik al aan code:
[ code verwijderd ]
Eigenlijk zou hij alle select's op de pagina in een array moeten gooien, en vervolgens hier zn ding doen.
Wie o wie!
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 | error_reporting(E_ALL); mysql_connect("localhost", "root", "")or die("mysql_error"); mysql_select_db("opdracht1")or die("mysql_error"); $username = $_SESSION['username']; if (empty($_POST['submit'])) { Weet je zeker dat je je account wilt verwijderen? <br/> <form method="post" action=" $_SERVER['PHP_SELF'] "> Ja <input type="radio" name="accdel" value="ja"> Nee <input type="radio" name="accdel" value="nee"> <br/> <input type="submit" name="submit" value="Verwijder!"/> </form> } else { if ($_POST['accdel'] == "ja") { mysql_query("DELETE FROM `members` WHERE `username` = '".$username."'"); session_destroy(); echo "Uw account is succesvol verwijderd."; } else { header(profiel.php); } } ?> |
SQL Injection maakt niet uit voor dit, het is maar een opgave voor school.quote:Op maandag 12 januari 2009 20:21 schreef GlowMouse het volgende:
mysql_error geeft? SQL injection rekening mee gehouden?
header(profiel.php) is geen geldige PHP-code trouwens.
$username is niet leeg, er staat wel wat in zie ik net via var_dump();quote:Op maandag 12 januari 2009 20:24 schreef Farenji het volgende:
Weet je zeker dat die $username var goed gevuld is? Je vangt de sql errors ook niet af dus als daar wat fout gaat zie je het niet. Maar als $username leeg is dan slaagt de query wel gewoon maar wordt er niks verwijderd.
Je kunt de query gewoon bekijken en zelf uitvoeren en zien wat er gebeurt.quote:Op maandag 12 januari 2009 20:26 schreef Kerol het volgende:
[..]
SQL Injection maakt niet uit voor dit, het is maar een opgave voor school.
mysql_error geeft niets, want er is geen error, de rij wordt in de db gewoon niet verwijderd.
Notice: Undefined index: username in C:\xampp\htdocs\marcc-online\deleteacc.php on line 22quote:Op maandag 12 januari 2009 20:28 schreef GlowMouse het volgende:
[..]
Je kunt de query gewoon bekijken en zelf uitvoeren en zien wat er gebeurt.
Mja hij werkt opeens weer, geen idee wat de fout nou was maar opeens werkt het scriptje weer.quote:Op maandag 12 januari 2009 20:32 schreef GlowMouse het volgende:
En var_dump($_SESSION)? Je bent een regeltje vergeten
1 |
1 |
1 |
Dat dus. En verder zou je genoeg hebben aan:quote:Op dinsdag 13 januari 2009 15:34 schreef GlowMouse het volgende:
De + heeft in een regexp een speciale betekenis en moet je dus escapen.
1 2 3 | preg_match('/\'(.*?)\'/i', "example_text + 'needle';", $matches); ?> |
Dan zou een \ voor de + genoeg moeten zijn, zoals GlowMouse en Farenji aangeven.quote:Op dinsdag 13 januari 2009 15:41 schreef schwa78 het volgende:
Mijn fout. Ik had moeten vertellen dat dat hele "example_text + 'needle';" stuk in een grotere tekst staat.
Ik heb dus die 'needle' nodig en het enige dat ik weet is dat het altijd voorafgegaan wordt door 'example_text + ' en tussen aanhalingstekens staat.
Hoop dat het zo wat duidelijker is.
Kan ik over meespreken heb een grote collectie aan .txt bestandjes van ieder 1.4gig enzoquote:Op maandag 12 januari 2009 12:18 schreef HuHu het volgende:
[..]
Ah... oké, dan hoef ik me voorlopig geen zorgen te maken denk ik. Alleen dat laatste (openen in explorer) klopt inderdaad, dat gaat echt rete-traag. Maar dat hoeft gelukkig nooit te gebeuren.
logbestanden?quote:Op dinsdag 13 januari 2009 17:12 schreef Wouser het volgende:
[..]
Kan ik over meespreken heb een grote collectie aan .txt bestandjes van ieder 1.4gig enzoen als ik de map open duurt het wel eventjes... Maar dat komt meer omdat hij dan euh de auteur en de lengte van het txt bestandje moet ophalen
1 2 | $array = $xml[0][1]; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <ITEM> <ITEM_NAAM>product A</ITEM_NAAM> <ITEM_ID>5123</ITEM_ID> </ITEM> <ITEM> <ITEM_NAAM>product B</ITEM_NAAM> <ITEM_ID>123</ITEM_ID> </ITEM> <ITEM> <ITEM_NAAM>product C</ITEM_NAAM> <ITEM_ID>952</ITEM_ID> </ITEM> </BESTAND> |
dat vind ik ook veel !quote:Op dinsdag 13 januari 2009 22:04 schreef GlowMouse het volgende:
Dan zul je het over nog geen 1000 bestandjes hebben van 1.4 GB/stuk.
Je loopt recursief door de xml tree heen en bouwt ondertussen de array op. Lijkt me vrij recht toe recht aan.quote:Op woensdag 14 januari 2009 00:17 schreef Likkende_Lassie het volgende:
[...]
Als ik bijvoorbeeld echo $array = $xml[1][0]; zou doen, wil ik de NAAM van het 2e item zien...
Volgens mij moet het niet heel erg moelijk zijn, maar iemand misschien enig idee hoe dit in een array te krijgen?
Inderdaad, en op deze pagina staan een paar prima functies daarvoor (in de comments): http://nl3.php.net/xml_parsequote:Op woensdag 14 januari 2009 07:29 schreef SuperRembo het volgende:
[..]
Je loopt recursief door de xml tree heen en bouwt ondertussen de array op. Lijkt me vrij recht toe recht aan.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $row = 0; $row_2= 0; $dump = array(); foreach ($xml AS $data){ $dump[$row] = $data; $row++; } foreach ($dump AS $data_2){ echo $data_2->NAAM; echo '<br />'; } |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |