[ define @ 05.04.2005. 09:28 ] @
Problem je sledeci
Unosim slike preko upload scripte u direktorijum "slike".
Pri prebacivanju treba da se izvrsi promena imena slike u redni broj vijesti .jpg
To radi kako treba kod mene na localhostu ali ne radi na veratovom serveru.
Kod njih ne menja ime u redni broj.jpg vec se slika u direktorijumu zove ".jpg"
Koristio sam funkciju mysql_insert_id(). U cemu je problem permisije su 777 i na fileovima i na diru.

Code:

if (!isset($vijesti))
    $vijesti = mysql_insert_id();

  $type = basename($HTTP_POST_FILES['picture']['type']);

  switch ($type) {
    case 'jpeg':
    case 'pjpeg':   $filename = "slike/$vijesti.jpg";
[ Jbyn4e @ 05.04.2005. 10:36 ] @
Pa vidi da li ti $vijesti dobija vrednost? jedan echo resice te muka....
Ako nije to, daj veci deo koda...
[ define @ 05.04.2005. 10:49 ] @
Ovako iz predhodnog koda se salju podatci preko input polja.
evo ja cu staviti jedan deo

Code:

<?php
session_start();
require_once('fns.php');
do_header('Unesite vijesti');
check_valid_user();
do_admin_meni();
if(isset($HTTP_GET_VARS['vijesti']))
{
    $vijesti=$HTTP_GET_VARS['vijesti'];
    $conn=db_connect();
    if(!$conn)
    {
        echo "nece moci ove noci";
        exit;
    }
    $sql="select * from vijesti where id='$vijesti'";
    $result=mysql_query($sql);
    $s=mysql_fetch_array($result);
}
?>
<form action="input_submit.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<input type="hidden" name="vijesti" value="<?php print $HTTP_GET_VARS['vijesti'];?>">
<table>                                
    <tr>
        <td>Slika</td>
        <td><input type="file" name="picture"></td>
    </tr>
    <tr>
        <td></td>
        <td><input type="submit" value="Potvrdi"></td>
    </tr>
</table>
</form>
<?php
do_footer();
?>


e ovaj kod poziva sledeci

Code:

<?php
session_start();
require_once('fns.php');
do_header('Unos vijesti');
check_valid_user();
do_admin_meni();
$conn=db_connect();
if(!$conn)
{
        echo "Nece moci ove noci";
        exit;
}

if ( (isset($HTTP_POST_FILES['picture']['name']) &&  //ime datoteke na korisnikovom racunaru
      is_uploaded_file($HTTP_POST_FILES['picture']['tmp_name']))) //je putanja privremene datoteke na Web serveru
{

  if (!isset($vijesti))
    $vijesti = mysql_insert_id();

  $type = basename($HTTP_POST_FILES['picture']['type']);

  switch ($type) {
    case 'jpeg':
    case 'pjpeg':   $filename = "slike/$vijesti.jpg";
                    move_uploaded_file($HTTP_POST_FILES['picture']['tmp_name'], 
                     $filename);
                    $sql = "update vijesti
                            set picture = '$filename'
                            where id = $vijesti";
                    $result = mysql_query($sql, $conn);
                    break;
    default:        print 'Invalid picture format: '.
                          $HTTP_POST_FILES['picture']['type']; //tip datoteke
  }
}
    do_footer();
?>


eto ovaj kod radi kod mene na racunaru ali nece na serveru.
Kada prebacim file koji se zove pingvin.jpg on ga prebavci na server u dati dir i preimenuje ga u ".jpg" znaci pise samo .jpg
[ Jbyn4e @ 05.04.2005. 12:19 ] @
Kako ti izgleda
<input type="hidden" name="vijesti"....
linija kad pogledas source te stranice na serveru (preko browsera)?
Dakle, http://server/putanja/phpfajl.php u browseru, koji je source (cist html) od ovog gore? Da li ima value neku?
Drugo, kao sto sam ti vec napomenuo, sta te kosta da ti ispise koja je vrednost promenljive $vijesti na sledecoj stranici (kad kliknes na submit)?
Code:

....
if (!isset($vijesti))
    $vijesti = mysql_insert_id();
echo 'Promenljiva vijesti ima vrednost izmedju !'.$vijesti.'!';
....

Da li si obratio paznju na magic quotes kod tebe i na serveru o kojima se prica u svakom drugom postu na php forumu?
[ bzero @ 05.04.2005. 12:41 ] @
Code:

if(isset($HTTP_GET_VARS['vijesti']))


ovo ce uvek vratiti TRUE u ovom slucaju, cak i kada je promenjiva vijesti u GET-u prazna, jer isset() proverava da li je promenjiva setovana. Ako hoces da proveris da li promenjiva ima vrednost umesto isset() koristi empty().

http://www.php.net/manual/en/function.empty.php

Osim toga uradi print $vijesti kao sto ti je Jbyn4e vec rekao ( ili print_r($_GET) ), pa vidi sta ces dobiti.
[ define @ 05.04.2005. 17:53 ] @
Momci nije problem u ispravnosti koda. Taj kod radi 100% na localhostu, no on ne radi kada ga stavim na verat.
Pa sam postavio pitanje zasto ne na veratu.
[ Jbyn4e @ 05.04.2005. 18:35 ] @
Pa jesam ti dao odgovor? Jesi proverio ISTA od onog sto sam ti napisao? NISI. I onda cuti dok ne proveris i javis rezultate. ZA onda mozemo dalje ako i dalje ne bude radilo.
[ caiser @ 06.04.2005. 09:21 ] @
Nije mi jasno kako neko ne cita odgovore na svoja pitanja nego tera ljude da mu sve nacrtaju. Ja sam izgubio zivce vec kod prosle teme istog autora. :s