abonnement Unibet Coolblue Bitvavo
pi_29395951
Ik krijg een aantal foutmeldingen bij het onderstaande script. Ik heb met wat knip / plak werk + wat ik zelf wist geprobeerd een uploader te maken. Mensen die willen uploaden moeten wel op het forum geregistreerd zijn, vandaar de controle username / ww.

Bij het indrukken van mn upload knop krijg ik de volgende meldingen:
quote:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/home/jeroen/www/upload.php on line 8

Warning: move_uploaded_file(users/upload/Abstract.JPG): failed to open stream: Permission denied in /usr/home/jeroen/www/upload.php on line 18

Warning: move_uploaded_file(): Unable to move '/var/tmp/phpwHvoH7' to 'users/upload/Abstract.JPG' in /usr/home/jeroen/www/upload.php on line 18
Er is een fout opgetreden tijdens het uploaden
Dat gaat om de regels met de sterretjes ******* er voor (kan zijn dat de regelnrs niet helemaal meer kloppen..)

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
<?php
if(!empty($_POST)){
include("pf.php");
$gebruiker = $_POST['gebruiker'];
$wachtwoord = md5($_POST['wachtwoord']);
$sql_query = "SELECT * FROM users WHERE naam='" . $_POST["gebruiker"]  ."' AND wachtwoord= md5('" . $_POST["wachtwoord"]  ."');";
$result = mysql_query($sql_query);

*******if(mysql_num_rows($result) > 0) {
$text = "Wachtwoord en/of gebruikersnaam onjuist. Probeer nogmaals.";
die($text);
}
else{
$bestnaam = $_POST['bestnaam'];
$uploaddir = "users/upload/";
$uploadfile = $uploaddir.basename($_FILES['foto']['name']);
         ******* if(move_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile))
        {
            {
            die ("De afbeelding is geupload. Deze vindt je terug op http://www.pestforum.nl/users/upload/".$bestnaam."");
            }
        }
    else
        {
        die ("Er is een fout opgetreden tijdens het uploaden");
        }
}
    }
?>
<LINK HREF="white.css" TYPE="text/css" REL="stylesheet">
<form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table>
<tr>
    <td><h1> Pestforum.nl jpeg uploader.</h1><p>Je kan enkel jpeg (.jpg) afbeeldingen uploaden.</p></td>
</tr>
<tr>
    <td><p>Selecteer je bestand:</p></td><td><input type="file" name="foto"></td>
</tr>

<tr>
    <td><p>Gebruikersnaam:</p></td><td><input type="text" name="gebruiker"></td>
</tr>
<tr>
    <td><p>wachtwoord:</p></td><td><input type="password" name="wachtwoord"><p></td>
</tr>
<tr>
<td><input type="submit" value="Afbeelding uploaden"></td>
</table>
</form>


Wat doe ik verkeerd?
pi_29396226
quote:
$gebruiker = $_POST['gebruiker'];
$wachtwoord = md5($_POST['wachtwoord']);
$sql_query = "SELECT * FROM users WHERE naam='" . $_POST["gebruiker"] ."' AND wachtwoord= md5('" . $_POST["wachtwoord"] ."');";
waarom variablen defineren als jje ze niet gebruikt

en je query is ook niet helemaal lekker:
1"SELECT * FROM users WHERE naam='" .$gebruiker."' AND wachtwoord='". $wachtwoord
pi_29396258
quote:
Op woensdag 3 augustus 2005 16:39 schreef mschol het volgende:

[..]

waarom variablen defineren als jje ze niet gebruikt

voor de rest ziet het script er imo goed uit...
Maar hij doet et niet
pi_29396509
quote:
Op woensdag 3 augustus 2005 16:40 schreef LeeHarveyOswald het volgende:

[..]

Maar hij doet et niet
je query was in iedergeval niet goed zie boven..
quote:
$bestnaam = $_POST['bestnaam'];
$uploaddir = "users/upload/";
$uploadfile = $uploaddir.basename($_FILES['foto']['name']);
******* if(move_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile))
moet denk ik worden:

$uploadfile = basename($_FILES['foto']['name']);

--eedit--

een move_uploaded_file() in een if.. dat kan denk ik niet
eerst moven pas daarna gaan checken of hij idd is geupload

[ Bericht 10% gewijzigd door mschol op 03-08-2005 16:58:26 ]
pi_29397011
Dus
if(move_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile))
Moet
if(is_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile))
Worden?

Het werkte nu nl nog niet al een stuk minder foutmeldingen, maar hij roept nu:


Warning: Wrong parameter count for is_uploaded_file() in /usr/home/jeroen/www/upload.php on line 16
Er is een fout opgetreden tijdens het uploaden

En lijn 16 is zeg maar de gekopieerde lijn..
pi_29397134
quote:
Op woensdag 3 augustus 2005 17:01 schreef LeeHarveyOswald het volgende:
Dus
if(move_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile))
Moet
if(is_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile))
Worden?

Het werkte nu nl nog niet al een stuk minder foutmeldingen, maar hij roept nu:


Warning: Wrong parameter count for is_uploaded_file() in /usr/home/jeroen/www/upload.php on line 16
Er is een fout opgetreden tijdens het uploaden

En lijn 16 is zeg maar de gekopieerde lijn..
als je even op php.net kijkt zie je dant bij is_uploaded_file maar 1 parameter hoort...
dat is toch niet zo moeilijk
pi_29397146
quote:
Op woensdag 3 augustus 2005 16:47 schreef mschol het volgende:


een move_uploaded_file() in een if.. dat kan denk ik niet
eerst moven pas daarna gaan checken of hij idd is geupload
Dus zoiets:

1
2
3
move_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile)
          if(is_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile))
          {


dit werkt trws ook niet... maar ik weet niet hoe ik kan controlleren of het bestand daadwerkelijk is gekopieerd?
pi_29397253
quote:
Op woensdag 3 augustus 2005 17:05 schreef LeeHarveyOswald het volgende:

[..]

Dus zoiets:
[ code verwijderd ]

dit werkt trws ook niet... maar ik weet niet hoe ik kan controlleren of het bestand daadwerkelijk is gekopieerd?
als je e code zo hebt staan krijg je problemen zet een ; neer
aangezien ik de volgende melding zie:
Parse error: parse error, unexpected T_IF in /usr/home/jeroen/www/upload.php on line 17
pi_29397899
Thnx, ben al een stuk verder nu.. maar waar ik nu echt niet mee verder kom is de "er is een fout bij het uploaden" melding...
PHP 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
26
        <?php
        if(!empty($_POST)){
        include("pf.php");
        $gebruiker = $_POST['gebruiker'];
        $wachtwoord = md5($_POST['wachtwoord']);
        $sql_query = "SELECT * FROM ibf_members WHERE name='".$gebruiker."' AND password='".$wachtwoord."'";
        $result = mysql_query($sql_query);
         if(mysql_num_rows($result) < 0) {
        $text = "Wachtwoord en/of gebruikersnaam onjuist. Probeer nogmaals.";
        die($text);
         }
          else{
        $uploaddir = "users/upload/";
        $uploadfile = basename($_FILES['foto']['name']);
        move_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile);
        if (is_uploaded_file(".$uploadfile."))
           {
           die ("De afbeelding is geupload. Deze vindt je terug op http://www.pestforum.nl/users/upload/".$uploadfile."");
           }
            else{
            die ("Er is een fout opgetreden tijdens het uploaden");
                }
          } 
          
          }
?>


en daaronder dus het formulier.
Ik weet iig heel zeker dat deze regel wel klopt: die ("Er is een fout opgetreden tijdens het uploaden");

Want die krijg ik nu steeds in beeld
pi_29398095
kleintikkeltje moet ie worden gewijzigd:
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
<?php
    php
        
if(!empty($_POST)){
        include(
"pf.php");
        
$gebruiker = $_POST['gebruiker'];
        
$wachtwoord = md5($_POST['wachtwoord']);
        
$sql_query = "SELECT * FROM ibf_members WHERE name='".$gebruiker."' AND password='".$wachtwoord."'";
        
$result = mysql_query($sql_query);
         if(
mysql_num_rows($result) &lt; 0) {
        
$text = "Wachtwoord en/of gebruikersnaam onjuist. Probeer nogmaals.";
         }
          else{
        
$uploaddir = "users/upload/";
        
$uploadfile = basename($_FILES['foto']['name']);
        if (
is_uploaded_file(".$_FILES['foto']['tmp_name']."))
           {
move_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile);
echo(
"De afbeelding is geupload. Deze vindt je terug op www.pestforum.nl/users/upload/".$uploadfile."");
           }
            else{
            echo (
"Er is een fout opgetreden tijdens het uploaden");
                }
          }
          
          }
?>


ik denk dat dat em is...
eff je url ingekort anders ging ie flippen
  Lieve Belg woensdag 3 augustus 2005 @ 17:48:38 #131
86282 Jump
[Belg.] Jump (de ~ (m.))
pi_29398511
Ik heb de linkjes in de OP een schone titel gegeven, en dus ook de WIKI pagina aangepast
Op zondag 28 oktober 2007 01:07 schreef clumsy_clown het volgende:
Jump daarentegen, is wáy minder braaf en lief dan hij lijkt
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; «shmoop|dingen» jawel, jij bent Superjump
pi_29398512
Deze laatste versie gaf weer een foutmelding...
if (is_uploaded_file(".$_FILES['foto']['tmp_name']."))
verandert in
if (is_uploaded_file($_FILES['foto']['tmp_name']))

en toen riep het ding dat mn bestand was geupload!

ik blij, ik kijken... geen bestand.. (ook geen foutmelding...)
pi_29398667
Overigens werkt nu ook de password controle niet meer? ik kan gewoon A B en C intikken, en dan krijg ik de melding dat afbeelding A is geupload

edit: Nadere inspectie: De bestanden zijn wél geupload. Ze staan alleen niet in de goede map Gister nacht trouwens ook al, maar toen met de goede map in de bestandsnaam (\users\upload\bestandsnaam.jpg als bestandsnaam)....

Hij spoort niet echt...

[ Bericht 45% gewijzigd door LeeHarveyOswald op 03-08-2005 18:04:14 ]
pi_29399078
Wachtwoord was logisch, <0 resultaten gebeurt niet zo vaak
  woensdag 3 augustus 2005 @ 18:51:55 #135
24399 TechXP
www.biteback.be
pi_29400166
Vanuit: [PHP/MySQL] Aantallen weergeven van een tabel

@autocue
quote:
Maar hier heb je dus het aantal voorkomen pér merk, het aantal geretourneerde rijen is dan het aantal unieke merken.
Ja dat is zo. Dan moet je die rijen weer optellen. Een count van aantal moet volgens mij dan lukken.
pi_29400329
quote:
Op woensdag 3 augustus 2005 18:51 schreef TechXP het volgende:
Vanuit: [PHP/MySQL] Aantallen weergeven van een tabel

@autocue
[..]

Ja dat is zo. Dan moet je die rijen weer optellen. Een count van aantal moet volgens mij dan lukken.
Jup, dat zou moeten lukken

1SELECT COUNT(DISTINCT merk) FROM autonaam

Deze werkt overigens ook goed en snel, de enige tip die ik nog kan geven is gebruik te maken van database abstractie. Door een tabel merk te gebruiken met daarin een ID en een merknaam kan je eenvoudig het aantal merken tellen [ SELECT COUNT(*) FROM merken ] en typfouten corrigeren voor alle merknamen.
  woensdag 3 augustus 2005 @ 19:07:00 #137
24399 TechXP
www.biteback.be
pi_29400569
Het laatste wat je zegt autocue is idd beter. Zo kan je alles ook apart in tabellen houden. Is ook wel wat makkelijker om goed overzicht te houden.
pi_29400889
Uit dit topic dat gesloten werd: [PHP/MySQL] Aantallen weergeven van een tabel

Ik heb een MySQL tabel en wat ik dus graag wil is dat alles opgeteld word uit 1 veld. Ook als er iets dubbel instaat moet hij dat mee tellen. Mocht er dus bijv 2x Fok! in staan moet hij dat dus ook 2x tellen. Inmiddels ben ik al een eind op weg, maar ik krijg het alleen niet voor elkaar om de aantallen weer te geven.

Ik heb tot nu toe deze code:

1
2
3
4
5
6
7
8
9
<?php
$res = mysql_query("SELECT COUNT(merk) as aantal FROM tabel GROUP BY merk");
while ($obj = mysql_fetch_object($res)) {
 ("
Aantal:$obj->aantal
");
}
mysql_free_result($res);
?>


Ik vermoed het dat zodra ik met de regel while begin alles in de soep loopt..
Maar zoals ik al zei ben ik een n00b met php en mysql

En "tabel" heb ik al gewijzigd in de juiste tabel naam. Heb even snel weer tabel genomen omdat de code de layout misschien verneukt.. [EDIT] Dat doet ie dus ook.. En argh, ik zie net dat ze al voor me verder zijn gegaan hier, ik druk typen en typen
pi_29400940
zul je op een andere field moeten counten dan de gene waarbij je grouped.

select count(id) as aantal from tabel group by merk.

-r-
  woensdag 3 augustus 2005 @ 19:21:30 #140
24399 TechXP
www.biteback.be
pi_29401018
Ok, dus dan hoeft group by niet, omdat je van bijvoorleed:
merk x
merk x
merky
merky
merkz
dus niet wilt:
Aantal merken: 3 maar gewoon aantal in totaal: 5?

Dan kan group by gewoon weg. En dan moet je gewoon COUNT(*) doen.

Wat zegt de foutmelding?
pi_29401107
quote:
Op woensdag 3 augustus 2005 19:21 schreef TechXP het volgende:
Ok, dus dan hoeft group by niet, omdat je van bijvoorleed:
merk x
merk x
merky
merky
merkz
dus niet wilt:
Aantal merken: 3 maar gewoon aantal in totaal: 5?

Dan kan group by gewoon weg. En dan moet je gewoon COUNT(*) doen.

Wat zegt de foutmelding?
Hij moet inderdaad alles tellen, dus 5 zoals in jouw voorbeeld

En wat betreft de foutmelding: ik krijg gewoonweg niks te zien op m`n scherm.
  woensdag 3 augustus 2005 @ 19:32:49 #142
24399 TechXP
www.biteback.be
pi_29401325
quote:
Op woensdag 3 augustus 2005 19:24 schreef The_Cyberspace het volgende:
En wat betreft de foutmelding: ik krijg gewoonweg niks te zien op m`n scherm.
Heb je PHPmyAdmin ofzo. Als je daar de query uitvoert, wat geeft die dan aan?

En heb je de query zo: select count(*) as aantal from tabel
?
Is er wel een database verbinding tot stand gekomen?
En doe eens zonder die while loop. Dus alleen $obj = mysql_fetch_object($res);

en wat is dit precies:
quote:
("
Aantal:$obj->aantal
");
Zo lijk je me niks te printen op het scherm. Tenzij dit een methode is die ik nog nooit gebruikt heb is?
echo "Aantal:". $obj->aantal;

Misschien is dat gewoon het probleem
pi_29401552
quote:
Op woensdag 3 augustus 2005 19:32 schreef TechXP het volgende:

[..]

Heb je PHPmyAdmin ofzo. Als je daar de query uitvoert, wat geeft die dan aan?

En heb je de query zo: select count(*) as aantal from tabel
?
Is er wel een database verbinding tot stand gekomen?
En doe eens zonder die while loop. Dus alleen $obj = mysql_fetch_object($res);

en wat is dit precies:
[..]

Zo lijk je me niks te printen op het scherm. Tenzij dit een methode is die ik nog nooit gebruikt heb is?
echo "Aantal:". $obj->aantal;

Misschien is dat gewoon het probleem
PHPmyAdmin geeft de query zonder problemen weer..
En er is een verbinding met de database
En als ik de while loop verander naar wat jij aangaf krijg ik nog niks op m`n scherm..

En over dat laatste... Dit heb ik uit een andere code wat wel goed werkt. Ik heb geen idee of dit standaard zo word gebruikt. Ik vermoed nu van nie.. maar ik was van mening van wel maar ik kan het mis hebben natuurlijk
  woensdag 3 augustus 2005 @ 20:00:41 #144
24399 TechXP
www.biteback.be
pi_29402237
quote:
Op woensdag 3 augustus 2005 19:40 schreef The_Cyberspace het volgende:
En over dat laatste... Dit heb ik uit een andere code wat wel goed werkt. Ik heb geen idee of dit standaard zo word gebruikt. Ik vermoed nu van nie.. maar ik was van mening van wel maar ik kan het mis hebben natuurlijk
Probeer het op de andere manier eens Dus met
1echo "aantal: ".$obj->aantal;


Die notatie kende ik niet. Maar php heeft wel meer manieren van iets op het scherm drukken dus... misschien was het iets wat ik nog niet wist
Maar ik gok dat het fout is
pi_29404015
zie onder

[ Bericht 99% gewijzigd door LeeHarveyOswald op 04-08-2005 12:40:52 ]
pi_29404190
quote:
Op woensdag 3 augustus 2005 20:00 schreef TechXP het volgende:

[..]

Probeer het op de andere manier eens Dus met
[ code verwijderd ]

Die notatie kende ik niet. Maar php heeft wel meer manieren van iets op het scherm drukken dus... misschien was het iets wat ik nog niet wist
Maar ik gok dat het fout is
Ik heb inmiddels deze code:

1
2
3
4
5
<?php
$res = mysql_query("SELECT COUNT(*) as aantal FROM autonamenboek");
echo "Aantal:".$obj->aantal; {
}
?>


En ik krijg alleen Aantal: in beeld te zien...
pi_29404615
1
2
3
4
5
<?php
$res = mysql_query("SELECT COUNT(*) as aantal FROM autonamenboek");
$obj = mysql_fetch_object($res);
echo "Aantal:".$obj->aantal; 
?>

Dit werkt al beter denk ik...
pi_29404924
quote:
Op woensdag 3 augustus 2005 21:07 schreef ikke_ook het volgende:

[ code verwijderd ]

Dit werkt al beter denk ik...
JA! het werkt

$obj = mysql_fetch_object($res); <- had ik over het hoofd gezien... margoed, ik heb ook al tig verschillende dingen geprobeerd dus zie wel eens wat over het hoofd...
pi_29421485
quote:
Op woensdag 3 augustus 2005 17:54 schreef LeeHarveyOswald het volgende:
Overigens werkt nu ook de password controle niet meer? ik kan gewoon A B en C intikken, en dan krijg ik de melding dat afbeelding A is geupload

edit: Nadere inspectie: De bestanden zijn wél geupload. Ze staan alleen niet in de goede map Gister nacht trouwens ook al, maar toen met de goede map in de bestandsnaam (\users\upload\bestandsnaam.jpg als bestandsnaam)....

Hij spoort niet echt...
Nu doettie et weer niet :S ik krijg de volgende foutmelding:
quote:
Warning: move_uploaded_file(/users/upload/Abstract.JPG): failed to open stream: No such file or directory in /usr/home/jeroen/www/upload.php on line 17

Warning: move_uploaded_file(): Unable to move '/var/tmp/phplcb0K5' to '/users/upload/Abstract.JPG' in /usr/home/jeroen/www/upload.php on line 17
De afbeelding is geupload. Deze vindt je terug op http://www.pestforum.nl/users/upload//users/upload/Abstract.JPG
Deze code gebruik ik nu:

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
<?php
        php
        
if(!empty($_POST)){
        include(
"pf.php");
        
$gebruiker = $_POST['gebruiker'];
        
$wachtwoord = md5($_POST['wachtwoord']);
        
$sql_query = "SELECT * FROM ibf_members WHERE name='".$gebruiker."' AND password='".$wachtwoord."'";
        
$result = mysql_query($sql_query);
         if(
mysql_num_rows($result) &lt; 1) {
        
$text = "Wachtwoord en/of gebruikersnaam onjuist. Probeer nogmaals.";
        die(
$text);
         }
          else{
        
$uploaddir = "/users/upload/";
        
$uploadfile = $uploaddir.basename($_FILES['foto']['name']);
        if (
is_uploaded_file($_FILES['foto']['tmp_name']))
           {
           
move_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile);
           die (
"De afbeelding is geupload. Deze vindt je terug op http://www.pestforum.nl/users/upload/" color="#007700">.
$uploadfile."");
           }
            else{
            die (
"Er is een fout opgetreden tijdens het uploaden");
                }
          }
          
          }
?>


Help!
pi_29427597
Klopt het pad wel waar je naar wil schrijven?
Je kunt met is_writable($uploadfile) controleren of je het bestand wel kan verplaatsen naar die nieuwe filename.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')