Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] uploadscript (https://forum.scholieren.com/showthread.php?t=527526)

-niels- 30-06-2003 14:42

[PHP] uploadscript
 
Ik heb een simpel uploadscriptje gevonden, wat ook wegschrijft in de database enzo:
PHP-code:

<?php 
if (isset($_POST["action"])) { 
    
//Database erbij halen 
   
include("db.php"); 
    
// Get a connection to the database 
    
$cxn = @ConnectToDb($dbServer$dbUser$dbPass$dbName); 
    
//Geposte dingen in makkelijker variabelen zetten 
    
$naam $_POST["naam"]; 
    
$omschr $_POST["omschr"]; 
    
$prijs $_POST["prijs"]; 
    
   
//Handel wegschrijven (behalve locatie van foto) 
   
mysql_query("insert into produkt (prodNaam, prodOmschr, prodPrijs) 
                values ('
$naam', '$omschr', '$prijs')") or die (mysql_error()); 
    
//Geeft de id terug van de nieuwe rij
    
$id mysql_insert_id();  
    
//Locatie om naar toe te verplaatsen 
    
$new "/home/.sites/148/site6/web/promedion/image/plaatje_$id.jpg";
    
//Zelfde locatie maar deze gaat de DB in 
    
$def_foto "plaatje_$id.jpg";  
    
   
//Als er een plaatje is, verplaatsen en database updaten 
   
if ($HTTP_SERVER_VARS['REQUEST_METHOD'] == 'POST') { 
       if  (
move_uploaded_file($HTTP_POST_FILES['plaatje']['tmp_name'], $new)) { 
           
$sql "update produkt set prodFoto1 = '$def_foto' where prodId = '$id'"
           
mysql_query($sql); 
       } else { 
          
//Als er geen plaatje is, dan de rij weer verwijderen 
          
mysql_query("delete from produkt where prodId = '$id'") or die (mysql_error()); 
          echo 
"Oops"
       } 
    } 
}    
?>
<html>
upload formpje met de namen voor variabele 
</html>

Nou werkt dit dus in 1 en dezelfde pagina...

nu ben ik dus bezig met een pagina die alles functies extern heeft staan (mede voor 't overzicht in 't script) alleen ik krijg het uploaden niet aan de praat... en dit kom volgens mij door dit stukje:

PHP-code:

 if ($HTTP_SERVER_VARS['REQUEST_METHOD'] == 'POST') { 
       if (
move_uploaded_file($HTTP_POST_FILES['plaatje']['tmp_name'], $new)) { 

iemand enig idee hoe ik dit om kan zetten dat 't wel werkt, dit is wat ik tot nu toe heb, en alles behalve 't uploaden werkt dus :/

PHP-code:

<?PHP function add_prod($cat$sub$naam$omschr$prijs$plaatje)
    {
    
mysql_query("insert into produkt(catID, subID, prodNaam, prodOmschr, prodPrijs) 
                values('
$cat', '$sub', '$naam', '$omschr', '$prijs')") or die (mysql_error());
    
$id mysql_insert_id();
    
//Locatie om naar toe te verplaatsen
    
$new "/home/.sites/148/site6/web/promedion/image/plaatje_$id.jpg"
    
//Zelfde locatie maar deze gaat de DB in  
       
$def_foto "plaatje_$id.jpg";
    
//Als er een plaatje is, verplaatsen en database updaten 
    
if ($HTTP_SERVER_VARS['REQUEST_METHOD'] == 'POST') { 
       if (
move_uploaded_file($HTTP_POST_FILES['plaatje']['tmp_name'], $new)) { 
           
$sql "update produkt set prodFoto1 = '$def_foto' where prodId = '$id'"
           
mysql_query($sql); 
       } else { 
          
//Als er geen plaatje is, dan de rij weer verwijderen 
          
mysql_query("delete from produkt where prodId = '$id'") or die (mysql_error()); 
          echo 
"Oops"
       } 
    }  
?>


Koen 30-06-2003 15:21

Hij upload helemaal niks? Misschien draait je webserver in safe mode. In dat geval wil move_uploaded_file() nog wel eens problemen geven.

Een alternatief is copy(), welke ik ook in het Fotoboek gebruik. Werkt prima.

Heb je wel goed gecheckt of al je permissies goed staan? Misschien kan ie de file wel gewoon niet wegschrijven.. :)

-niels- 30-06-2003 15:25

Citaat:

Koen schreef op 30-06-2003 @ 16:21:
Hij upload helemaal niks? Misschien draait je webserver in safe mode. In dat geval wil move_uploaded_file() nog wel eens problemen geven.

Een alternatief is copy(), welke ik ook in het Fotoboek gebruik. Werkt prima.

Heb je wel goed gecheckt of al je permissies goed staan? Misschien kan ie de file wel gewoon niet wegschrijven.. :)

Het bovenste script upload wel...
alles staat goed, en 't werk prima...
alleen die werkt in 1 pagina...

ik wil 'm dus aanspreken vanuit een andere pagina in dit geval vanuit beheer.php roept ie de functie (zoals boven) op uit function.php

Koen 30-06-2003 15:33

Ik denk dat jouw combinatie van $plaatje doorgeven in je functie, en het opvragen van $HTTP_POST_FILES['plaatje'] daarin niet lekker werkt. Wat je wilt gebruiken in een functie, moet je via parameters doorgeven. $HTTP_POST_FILES['plaatje'] is daarbij wat anders dan $plaatje.

Hoe je dat precies moet doen, weet ik ook niet. Misschien kan je als je de functie aanroept voor $plaatje $HTTP_POST_FILES['plaatje'] meegeven, en dan in de functie zelf $HTTP_POST_FILES['plaatje'] gewoon vervangen door $plaatje.

-niels- 30-06-2003 15:42

mja ik heb daar ook al mee zitten klooien..
maar wat doet dat ene stukje nou eigk?

($HTTP_SERVER_VARS['REQUEST_METHOD'] == 'POST') ?
en:
(move_uploaded_file($HTTP_POST_FILES['plaatje']['tmp_name'], $new)) ?

want in 't orgineel zie je dat ie eerst die 3 $_POST doet...
terwijl hij 't plaatje met: $HTTP_POST_FILES aanspreekt..
wat wordt er dan doorgegeven met $HTTP_POST_FILES??

Koen 30-06-2003 15:48

Misschien is dit wel interessant om te lezen, ik denk dat je 't dan wel snapt. :)

-niels- 30-06-2003 17:29

Citaat:

Koen schreef op 30-06-2003 @ 16:48:
Misschien is dit wel interessant om te lezen, ik denk dat je 't dan wel snapt. :)
ah... ik kon 't al niet vinden daar, maar 't is ook best oud..
ik ga eerst ff kijken of ik 't eerste scriptje kan updaten... dan oncijfer ik 't wel :)

Koen 30-06-2003 17:56

Probeer 't anders eerst heel simpel. Begin helemaal opnieuw, met 1 pagina met functies en 1tje met een input veldje in een form. Maak de functie zo simpel als 't maar kan, en als dat werkt breidt je verder uit. Of misschien ben je er dan al achter waarom dit niet werkt.

Want ik denk dat de oplossing vinden in de huidige situatie vrij lastig is. :)


Alle tijden zijn GMT +1. Het is nu 20:15.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.