abonnement Unibet Coolblue Bitvavo
pi_34393939
quote:
Op maandag 23 januari 2006 21:32 schreef Dizer het volgende:
Er werd mij verwezen om hierheen te komen ondanks dat het om een PERL vraagje gaat. Maar ja, PHP is geloof ik gebaseerd op PERL...

Wat doe ik fout? Ik wil puur een aantal velden invoegen in de database..
[ code verwijderd ]

Ik krijg steeds de foutmelding: Can't find string terminator "~" anywhere before EOF at db.pl line 12.
Nou heb ik echt 0,0 verstand van Perl maar ik gok dat je een ~ moet plaatsen achter je query, afgaand op de foutmelding
  maandag 23 januari 2006 @ 22:08:08 #27
22273 Dizer
Save the beard!
pi_34394495
quote:
Op maandag 23 januari 2006 21:53 schreef JeRa het volgende:

[..]

Nou heb ik echt 0,0 verstand van Perl maar ik gok dat je een ~ moet plaatsen achter je query, afgaand op de foutmelding
Krijg nu de foutmelding:

Name "main::qry" used only once: possible typo at db.pl line 12.
Friends don't let friends remain beardless...
pi_34394857
quote:
Op maandag 23 januari 2006 22:08 schreef Dizer het volgende:

[..]

Krijg nu de foutmelding:

Name "main::qry" used only once: possible typo at db.pl line 12.
Doe je verder nog iets met $qry? Want nu voer je namelijk niets uit je doet geen query, niets.
  maandag 23 januari 2006 @ 22:22:15 #29
22273 Dizer
Save the beard!
pi_34395108
quote:
Op maandag 23 januari 2006 22:16 schreef JeRa het volgende:

[..]

Doe je verder nog iets met $qry? Want nu voer je namelijk niets uit je doet geen query, niets.
Dit is alles wat ik heb staan, ik wil namelijk de query uitvoeren dat ie dus in de database gaat vullen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -w
use DBI;
use Mysql;

$DBHOST = "localhost";
$DBNAME = "test";
$DBUSER = "root";
$DBPASS = "root";

$DB = Mysql->connect($DBHOST, $DBNAME, $DBUSER, $DBPASS);

$qry = qq~INSERT INTO movie VALUES ("3", "blaat")~;

$DB->disconnect();


Ik wil dus als ik die db.pl script uitvoer, dat ie dus de database gaat vullen..
Friends don't let friends remain beardless...
  FOK!-Schrikkelbaas maandag 23 januari 2006 @ 22:27:31 #30
1972 Swetsenegger
Egocentrische Narcist
pi_34395336
Bij PHP/MySQL moet je dan nog wel wat doen met die variabele $qry
namelijk
mysql_query($qry);

Anders heb je namelijk alleen een var met een database pointer welke niet uitgevoerd wordt.

Is dat in PERL ook niet zo. Kortom, moet je niet wat doen met $qry?

-edit- zoiets
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl -w
use DBI;
use Mysql;

$DBHOST = "localhost";
$DBNAME = "test";
$DBUSER = "root";
$DBPASS = "root";

$DB = Mysql->connect($DBHOST, $DBNAME, $DBUSER, $DBPASS);

$qry = qq~INSERT INTO movie VALUES ("3", "blaat")~;
$DB= mysql->query($qry);

$DB->disconnect();
  maandag 23 januari 2006 @ 22:46:51 #31
22273 Dizer
Save the beard!
pi_34396285
Thx! Alleen krijg ik nu een foutmelding:

Can't use string ("Mysql") as a HASH ref while "strict refs" in use at C:/Perl/site/lib/Mysql.pm

Friends don't let friends remain beardless...
  FOK!-Schrikkelbaas maandag 23 januari 2006 @ 23:09:34 #32
1972 Swetsenegger
Egocentrische Narcist
pi_34397294
quote:
Op maandag 23 januari 2006 22:46 schreef Dizer het volgende:
Thx! Alleen krijg ik nu een foutmelding:

Can't use string ("Mysql") as a HASH ref while "strict refs" in use at C:/Perl/site/lib/Mysql.pm

tja, dit lijkt me nu ook logischer, maar ja.... ik weet geen reet van PERL

-edit- Wat gevonden op google

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl -w
use DBI;
use Mysql;

$DBHOST = "localhost";
$DBNAME = "test";
$DBUSER = "root";
$DBPASS = "root";

$DB = Mysql->connect($DBHOST, $DBNAME, $DBUSER, $DBPASS);

$qry = qq~INSERT INTO movie VALUES ("3", "blaat")~;
my $in2 = $DB->prepare($qry);
$in2->execute;
$DB->disconnect();


dit kan ook nog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl -w
use DBI;
use Mysql;

$DBHOST = "localhost";
$DBNAME = "test";
$DBUSER = "root";
$DBPASS = "root";

$DB = Mysql->connect($DBHOST, $DBNAME, $DBUSER, $DBPASS);

$qry = qq~INSERT INTO movie VALUES ("3", "blaat")~;
$DB->query($qry);

$DB->disconnect();


http://www.oreilly.com/catalog/msql/chapter/ch10.html

[ Bericht 10% gewijzigd door Swetsenegger op 23-01-2006 23:15:25 ]
pi_34398960
Okay, deze snap ik even niet .

1
2
3
4
echo $this -> filecontents . "<br>";
$this -> formatted = explode( "\n", $this -> filecontents );
print_r( $this -> formatted );
die();


output:
1
2
3
4
5
6
7
8
bla

die
bla
<br>Array
(
    [0] => 
)


Er zitten enters in de output, dus waarom komt er niks in de array?
In plaats van exploden op "\n" ook "\r\n", chr(10) en nog veel meer geprobeerd, maar het werkt niet. Wat mis ik?
pi_34399482
@Nevermind

Geen idee waar dat aan zou kunnen liggen. Sterker nog, hier werkt het perfect.

Probeer eens de pointer vast te zetten aan de twee variabelen? Dus $this->filecontents ipv $this -> filecontents? Geen idee of het uitmaakt, wellicht is het een PHP bug.
pi_34399980
Zou misschien een bug kunnen zijn. Ik heb wel meer vage problemen op mijn thuisserver (w2k, php4.3.10), zoals deze die nog niet beantwoord is. Dat is ook iets wat gewoon behoord te werken, en wat op een Linux-installatie wel werkt. Ik gebruik mijn thuisserver om alles wat ik maak te testen, maar als ik zoveel vage fouten blijf houden waar ik veel te veel tijd mee kwijt ben is het niet echt praktisch meer

spaties weg maakt overigens niet uit

Wat dan wel weer apart is, is dat dit wel werkt:
1
2
3
4
5
6
7
8
$str = "

bla

bla";

$test = explode( "\n", $str );
print_r( $test );


1
2
3
4
5
6
7
8
Array
(
    [0] => 
    [1] => 
    [2] => bla
    [3] => 
    [4] => bla
)


Dus het heeft ook niet met de verschillende newlines-characters te maken, van linux en windows. Nu begrijp ik er nog minder van
  dinsdag 24 januari 2006 @ 00:36:14 #36
51748 H4ze
wait...what?
pi_34400165
Ik ben ff een beetje aan 't klooien met een uploadform. T wil maar niet werken (hij blijft de or die uitvoeren) Zie hier de code:

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
<?php
if ( isset( $_FILES['fupload'] ) ) {

     print "name: ".     $_FILES['fupload']['name']       ."<br />";
     print "size: ".     $_FILES['fupload']['size'] ." bytes<br />";
     print "temp name: ".$_FILES['fupload']['tmp_name']   ."<br />";
     print "type: ".     $_FILES['fupload']['type']       ."<br />";
     print "error: ".    $_FILES['fupload']['error']      ."<br />";


         $source = $_FILES['fupload']['tmp_name'];
         $target = "/test".$_FILES['fupload']['name'];
         move_uploaded_file( $source, $target ) or die ("Couldn't copy");

 }
else {
?>

 <form enctype="multipart/form-data" action="" method="post">
 <input type="file" name="fupload" /><br/>
 <input type="submit" value="upload!" />
 </form>
<?php
}
?>

Ik heb die map 'test' gechmod naar 777, dus daar ligt het probleem niet. Verder is dit script uit een e-book, dus met 't script zit 't ook wel goed denk ik (en hoop ik).

Iemand die misschien een oplossing heeft? BVD


edit: de error_log geeft een open_basedir probleem aan:
quote:
[23-Jan-2006 15:27:43] PHP Warning: move_uploaded_file(): open_basedir restriction in effect. File(/test/39629_vlagrdam.jpg) is not within the allowed path(s): (/home/haze/:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/haze/public_html/studie/project2/log/upload.php on line 13


[ Bericht 6% gewijzigd door H4ze op 24-01-2006 00:53:33 ]
*BURP*
pi_34400480


[ Bericht 100% gewijzigd door Sadar op 24-01-2006 00:53:44 ]
pi_34400504
laat maar verkeerd gelezen
  dinsdag 24 januari 2006 @ 00:54:45 #39
51748 H4ze
wait...what?
pi_34400530
Hehe, 't wordt al laat he

Ik heb m'n post ff geupdate met iets wat in de error_log stond. Ben al een beetje aan 't rondzoeken op andere forums, maar kan niet echt iets vinden wat helpt ofzo..
*BURP*
pi_34400551
Moet hier niet een slash na de mapnaam?
1$target = '/test/'.$_FILES['fupload']['name'];


-edit- timing
staat safe mode aan? (check je phpinfo.php even) Zo ja, probeer de uploadmap aan laten maken door php, je kan gezeur krijgen met de map 'owner'.
pi_34400557
quote:
Op dinsdag 24 januari 2006 00:27 schreef Nevermind het volgende:
Zou misschien een bug kunnen zijn. Ik heb wel meer vage problemen op mijn thuisserver (w2k, php4.3.10), zoals deze die nog niet beantwoord is. Dat is ook iets wat gewoon behoord te werken, en wat op een Linux-installatie wel werkt. Ik gebruik mijn thuisserver om alles wat ik maak te testen, maar als ik zoveel vage fouten blijf houden waar ik veel te veel tijd mee kwijt ben is het niet echt praktisch meer

spaties weg maakt overigens niet uit

Wat dan wel weer apart is, is dat dit wel werkt:
[ code verwijderd ]


[ code verwijderd ]

Dus het heeft ook niet met de verschillende newlines-characters te maken, van linux en windows. Nu begrijp ik er nog minder van
Ik zou zeggen - mits je het wilt -, probeer eens PHP5 voor zover ik weet zijn daar toch de meeste ontwikkelingen in op dit moment en wellicht hebben ze iets dusdanig veranderd waardoor jouw bugs worden opgelost.

Dus eventjes naast PHP4 draaien en kijken of het doet wat je wilt dat het doet.
pi_34400611
quote:
Op dinsdag 24 januari 2006 00:36 schreef H4ze het volgende:
Ik ben ff een beetje aan 't klooien met een uploadform. T wil maar niet werken (hij blijft de or die uitvoeren) Zie hier de code:
[ code verwijderd ]

Ik heb die map 'test' gechmod naar 777, dus daar ligt het probleem niet. Verder is dit script uit een e-book, dus met 't script zit 't ook wel goed denk ik (en hoop ik).

Iemand die misschien een oplossing heeft? BVD


edit: de error_log geeft een open_basedir probleem aan:
[..]

Je wilt iets wegschrijven naar de map /test/ - en dit mag niet! Dat is buiten jouw bereik (de éérste slash betekent de root, net als in /home/ bijvoorbeeld).
  dinsdag 24 januari 2006 @ 00:58:09 #43
51748 H4ze
wait...what?
pi_34400613
quote:
Op dinsdag 24 januari 2006 00:55 schreef Nevermind het volgende:
Moet hier niet een slash na de mapnaam?
[ code verwijderd ]
Nope, heb ik ook al geprobeerd. Dan probeert ie t plaatje te uploaden als File(/test//39629_vlagrdam.jpg) , volgens de error_log. En dat werkt natuurlijk sowieso niet.

Thnx voor de replys iig jongens.
*BURP*
pi_34400626
quote:
Op dinsdag 24 januari 2006 00:55 schreef JeRa het volgende:

[..]

Ik zou zeggen - mits je het wilt -, probeer eens PHP5 voor zover ik weet zijn daar toch de meeste ontwikkelingen in op dit moment en wellicht hebben ze iets dusdanig veranderd waardoor jouw bugs worden opgelost.

Dus eventjes naast PHP4 draaien en kijken of het doet wat je wilt dat het doet.
Dat is zeker te proberen, ga ik morgen eens mee aan de slag. Maar mijn online ruimte heeft ook PHP4 (en mijn host gaat nog lang niet updaten geloof ik), dus het is handig om dezelfde versie lokaal te draaien, zodat alles direct werkt. Maar wat dat betreft heb ik weinig te verliezen
  dinsdag 24 januari 2006 @ 01:08:36 #45
51748 H4ze
wait...what?
pi_34400835
quote:
Op dinsdag 24 januari 2006 00:58 schreef JeRa het volgende:

[..]

Je wilt iets wegschrijven naar de map /test/ - en dit mag niet! Dat is buiten jouw bereik (de éérste slash betekent de root, net als in /home/ bijvoorbeeld).
verdomme wat stom van me. Thnx! Het werkt nu
*BURP*
pi_34404842
quote:
Op maandag 23 januari 2006 21:41 schreef Ro�a� het volgende:

[..]

isset() incombinatie met empty() en eventueel preg_match
maar kan het ook dat ik een foutmelding geef voordat de pagina met het formulier wordt verlaten? dus een onclick check zeg maar. klinkt als javascript, maar misschien kan het ook met php.
As a rule, I never touch anything more sophisticated and delicate than myself.
  dinsdag 24 januari 2006 @ 10:15:22 #47
22273 Dizer
Save the beard!
pi_34405547
quote:
Op maandag 23 januari 2006 23:09 schreef Swetsenegger het volgende:

[..]

tja, dit lijkt me nu ook logischer, maar ja.... ik weet geen reet van PERL

-edit- Wat gevonden op google
[ code verwijderd ]

dit kan ook nog
[ code verwijderd ]

http://www.oreilly.com/catalog/msql/chapter/ch10.html
De tweede code werkt
Friends don't let friends remain beardless...
  FOK!-Schrikkelbaas dinsdag 24 januari 2006 @ 11:08:01 #48
1972 Swetsenegger
Egocentrische Narcist
pi_34406808
quote:
Op dinsdag 24 januari 2006 10:15 schreef Dizer het volgende:

[..]

De tweede code werkt
[P(ERL)HP/(My)SQL] voor dummies
  dinsdag 24 januari 2006 @ 11:49:09 #49
64276 9christensen
Grolsch bier is gezond
pi_34408164
hoe noem ik het laatste record in mysql?

ik wil kunnen zoeken tussen een bepaalde record en de laatste,
Het is het eindpunt van de trein, bijna geen mens hoeft er te zijn, bijna geen hond gaat zover mee:
[b]Enschede![/b]
pi_34408331
quote:
Op dinsdag 24 januari 2006 11:49 schreef 9christensen het volgende:
hoe noem ik het laatste record in mysql?

ik wil kunnen zoeken tussen een bepaalde record en de laatste,
Als je met oplopende id's werkt kun je een simpele conditie stellen, id > bepaalde_record_id dan evalueert ie automatisch alles tussen die id en de laatste. Of wil je éxclusief de laatste?

Je kunt dan nog altijd zoiets doen:

SELECT id FROM tabel ORDER BY id DESC LIMIT 0, 1

De id die je dan terugkrijgt is de laatste id

[ Bericht 10% gewijzigd door JeRa op 24-01-2006 12:04:52 ]
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')