Autor Zpráva
david205
Profil *
Prosím o radu, neuploaduje to soubor a nevím čím by to mohlo být

$cesta="./data/.";
if (move_uploaded_file("$soubor", "$cesta$soubor_name")){
echo'soubor byl nahrán';}


formulář
echo '<form method="post" action="site.php?n=formular_kluby&odeslano=1 ENCTYPE="multipart/form-data">';

echo '<font color="white">Jméno klubu:<input type="text" name="jmeno">';
echo '<font color="white">WWW klubu:<input type="text" name="stranky">';
echo '<font color="white">Logo klubu:<input type="file" name="soubor">';
echo '<input type="submit" value="Přidat klub" name="odeslano">';
tiso
Profil
"$cesta$soubor_name" - toto má byť čo?
david205
Profil *
kam se bude soubor ukládat a pod jakym jménem
Alphard
Profil
move_uploaded_file($_FILES['soubor']['tmp_name'], "nazev_souboru.xxx");
djlj
Profil
move_uploaded_file($_FILES['soubor']['tmp_name'], $cesta.$_FILES['soubor']['name']);
david205
Profil *
já to mam přejmenovaný takhle
$soubor =$_POST['soubor'];
Alphard
Profil
$soubor =$_POST['soubor'];

kdyby se posílaly textové informace, tak ano, ale soubory fungují trochu jinak :-)

http://www.linuxsoft.cz/article.php?id_article=310
david205
Profil *
Ted to mam takhle ale stejne to nic nedela
$cesta="./data/";
if(move_uploaded_file($_FILES['soubor']['tmp_name'], $cesta.$_FILES['soubor']['name']))
{echo'Soubor byl nahrán';}
david205
Profil *
Tady je kdyžtak kompletní kód stránky
<?
if (isset ($odeslano)){
if($jmeno && $stranky){
$jmeno =$_POST['jmeno'];
$stranky =$_POST['stranky'];

$cesta="./data/";
if(move_uploaded_file($_FILES['soubor']['tmp_name'], "$cesta".$_FILES['soubor']['name']))
{echo'Soubor byl nahrán';}

require_once("pripojeni.php");
$dbc = @mysql_connect (DB_HOSTITEL, DB_UZIVATEL, DB_HESLO) OR die ('Nemohu se připojit k databázi MySQL.');
mysql_select_db (DB_NAZEVDATABAZE) OR die ('Nelze vybrat databázi.');
$dotaz="INSERT INTO kluby (nazev_klubu, stranka_klubu) VALUES ('$jmeno', '$stranky')";
$vysledek=@mysql_query ($dotaz);
if ($vysledek) {
echo 'Klub byl úspěšně přidán';
echo '<br><br><a href="site.php?n=kluby"><< Zpět na výpis klubů<a>';
}
mysql_close;
}
else {echo "Musí být zadány oba údaje <br>";
}
}

if ($vysledek){}
else{
echo '<form method="post" action="site.php?n=formular_kluby&odeslano=1 ENCTYPE="multipart/form-data">';
echo '<table>';
echo '<tr><td><font color="white">Jméno klubu:</td><td><input type="text" name="jmeno"></td></tr>';
echo '<tr><td><font color="white">WWW klubu:</td><td><input type="text" name="stranky"></td></tr>';
echo '<tr><td><font color="white">Logo klubu:</td><td><input type="file" name="soubor"></td></tr>';
echo'</table><br>';
echo '<input type="submit" value="Přidat klub" name="odeslano">';
echo '</form>';
}
?>
djlj
Profil
move_uploaded_file($_FILES['soubor']['tmp_name'], "$cesta".$_FILES['soubor']['name']))
Proč furt cpeš k $cesta ty uvozovky?


ale stejne to nic nedela
Věta s opravdu velkou informační hodnotou. Už žhavím a spouštím svou zbrusu novou křišťálovou kouli, abych díky její vševědomosti zjistil, proč ti to „nic nedělá“, když nejsi schopný to sem napsat.
Alphard
Profil
if (isset ($odeslano)){
if($jmeno && $stranky){
$jmeno =$_POST['jmeno'];
$stranky =$_POST['stranky'];


na můj vkus trochu zmatek :-)
if (isset ($_POST['odesláno'])){
david205
Profil *
zmatek možná ale funguje to bez problémů, teda až na ten upload
david205
Profil *
upload nefunguje to ani bez tech uvozovek, zbytek kódu funguje bez problémů
david205
Profil *
nic nedělá znamená, že nevypisije žádnou hlášku
krteczek
Profil
david205 kontroluješ to co ti odešlo z formuláře nebo nějaké hodnoty ze začátku scriptu?
pokud z formuláře tak vždycky používej $_POST['nazev_promenne'],

<?php
$chyba = 0;
$jmeno_i = '';
$stranky_i = '';
if(isset($_POST['ok']))
{
if(!empty($_POST['jmeno']))
{
$jmeno_i = htmlspecialchars($_POST['jmeno']);
}
if(!empty($jmeno_i))
{
$chyba = 1;
$err_jmeno = 'nevyplnil jsi jmeno';
}
...//zkontroluješ ostatní

if($chyba == 0)
{
//data uložíš
}
}
?>
<form...
david205
Profil *
hodnoty na začátek scriptu dostanu to sem zkoušel, ale proč to neuploaduje soubor to nevim
Pavel Strejček
Profil
<?
if (isset ($odeslano)){
if($jmeno && $stranky){ // kde se defnuji tyhle promenne? register_globals = on? Splní se ta podmínka? Použil bych rovnou $_POST
$jmeno =$_POST['jmeno'];
$stranky =$_POST['stranky'];

$cesta="./data/"; // existuje tento adresář?
if(move_uploaded_file($_FILES['soubor']['tmp_name'], "$cesta".$_FILES['soubor']['name'])) // pozor na diakritiku v name a platný název souboru!
{echo'Soubor byl nahrán';}
Pavel Strejček
Profil
> $cesta="./data/"; // existuje tento adresář?

Ještě dodávám: a má práva k zápisu?

Prostě těch příčin proč to nejde, může být podle Tvého popisu problému spoustu.
david205
Profil *
podminky na začátku scriptu jsou splněny, ty fungují bez problůémů ale nefunguje upload souboru. Práva k zápisu má, adresář existuje. Jenom ten upload fut nic :-((
Pavel Strejček
Profil
tak se to chce podívat jakou hodnotu má $_FILES['soubor']['tmp_name'] a $cesta.$_FILES['soubor']['name']
chyba v kódu není
david205
Profil *
Díky nevim jak ale už mi to soubor uploaduje:-))
Ještě bych se chtěl zeptat proč když mam script umístěn zde C:apachehtdocsWebformular_kluby
tak proč to uploaduje do C:apachephp a kam mi do bude uploadovat na wz?? díky
Pavel Strejček
Profil
Protože tam máš nastavenou takovou cestu.

Bude to uploadovat, kam to nastavíš...
david205
Profil *
mam, v tom PHP.ini a kam to bude uploadovat na wz?? tam se to dá taky nastavit??
Toto téma je uzamčeno. Odpověď nelze zaslat.

0