ugrás a tartalomhoz

Ha nem töltenek fel képet

mrjoel · 2007. Júl. 30. (H), 18.48
Üdv!
Az lenne a kérdésem, ha egy formon keresztül van képfeltöltő box is, hogy lehetne azt megoldani, ha valaki üresen hagyja ezt a boxot akkor egy tárhelyre feltöltött kép jelenjen meg a fel nem töltött kép helyén. Leírom a feltöltő form kódját amivel dolgozom:
$hiba=0;
$elsoe =(isset($_POST[elsoe]))? $_POST[elsoe]=1:0;
if (empty($_POST['nick']))
{
$hiba = 1;
if (empty($_POST['nick']))
{
$hibalista[]="Nem adta meg az azonosítót!";
}

}

if ($hiba != 0)
{
print(" ");
if ($elsoe==1)
foreach ( $hibalista as $i => $ertek )
  {
print ("$ertek<br>");
}

echo '
  <FORM enctype="multipart/form-data" METHOD="post" ACTION="'.$_SERVER['PHP_SELF'].'">
<strong>Kép feltöltése*:</strong>
  <br><font size=1>*A kép maximum 512kb nagyságú és JPG vagy JPEG formátumú lehet!</font>
  <p><input type="hidden" name="MAX_FILE_SIZE" value="500000">
  <input type="file" name="userfile">
p><INPUT NAME="kuldes" TYPE="submit" VALUE="Felvitel">
  <INPUT NAME="reset" TYPE="reset" VALUE="T&ouml;rl&eacute;s"></p>
  <INPUT TYPE="hidden" NAME="elsoe" VALUE="'.$_POST['elsoe'].'">
</FORM>';
}
else
{
if (!$sql_csatlakozas = @mysql_connect("otthonregiszter.extra.sql", "otthonregiszter","karen"))
die(print("Az adatb&aacute;zishoz val&oacute; csatlakoz&aacute;s sikertelen volt."));

mysql_select_db("otthonregiszter",$sql_csatlakozas) or die(print("Nem siker&uuml;lt az adatb&aacute;zis kiv&aacute;laszt&aacute;sa. A hiba oka: ".mysql_error()));
if (is_uploaded_file($_FILES['userfile']['tmp_name']))
{
$sql = "insert into magan values ('','$_POST[nick]','" . md5($_FILES["userfile"]["name"]) . "')";
mysql_query($sql, $sql_csatlakozas) or die(print("Nem siker&uuml;lt az adatfelvitel! A hiba oka: ".mysql_error()));
}
}
print "<strong>Sikeres felt&ouml;lt&eacute;s!<br><br></strong>";
}

Ezzel működik a feltöltés, de sajnos ha nem tölti ki a felhasználó a kép feltöltő boxot, akkor nem tölt fel semmit, ezért kéne ez a megoldás.
Előre is köszi a segítségért!
 
1

nem feltöltésnél

erenon · 2007. Júl. 30. (H), 19.59
Ne a feltöltéssel foglalkozz. Ha nem tölt fel semmit, nembaj, mert ha majd lekéred, akkor ellenőrzöd a kép meglétét, és ha nincs, akkor megjeleníted a saját képedet.

2: Most pedig változtasd meg a tárhely jelszavát, mert ügyesen bepostoltad az sql csatlakozást.
2

Feltöltés

mrjoel · 2007. Júl. 30. (H), 22.18
Köszi a figyelmeztetést de mér rég nem ez a tárhely és a jelszó amivel dolgozom. Azért köszi. Sajnos a nem tölt fel semmit azt úgy értettem, hogy nemhogy a képet nem tölti fel, hanem a többi adatot sem ami leírás, ár, méret, stb... Tehát ha a formot valaki kitölti és csak a képet hagyja ki, akkor semmit se tölt fel, nem lesz semmi az sql táblában. Ezért kéne valami megoldás a feltöltéskor.
3

Talán...

Ronyn · 2007. Júl. 31. (K), 03.18
Akkor talán azt a formot sem ártana részletezned,amivel a leirást,árat, méretet vihet fel az user,mert ebben-ugy látom csak az input file szerepel illetve egy hidden,ami az elsoe változot továbitaná,de az is formon kivul van....
4

mivel a képfeltöltést feltételül szabtad

zila · 2007. Júl. 31. (K), 09.29
AZért nem kerül semmi a db-be, mert az inserted egy if ágban van, amibe csak akkor lép be ha van feltöltött file

Ezt írod:

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) 
{
    $sql = "insert into magan values ('','$_POST[nick]','" . md5($_FILES["userfile"]["name"]) . "')";
    mysql_query($sql, $sql_csatlakozas) or die(print("Nem siker&uuml;lt az adatfelvitel! A hiba oka: ".mysql_error()));
}
5

Köszi

mrjoel · 2007. Aug. 1. (Sze), 16.36
Köszi így már jól műkszik az a része, hogy nem kötelező feltölteni a képet. És ha kiíratom a tábla tartalmát akkor azt hogy és hova szúrjam be, hogy egy általam már a tárhelyen lévő képet rakjon be az olyan helyekre ahol nincs megjeleníthető kép, mert valaki nem töltött fel?
6

Alapértelmezett kép

viktorwrz · 2007. Aug. 1. (Sze), 18.35
Vagy egyszerűen adj meg az sqltáblának egy alapértelmezett értéket. Jelen esetben 1 kép elérési útvonalát. Így késöbb sem lesz gond, ha törli valaki a képét módosításkor.
7

Sql alapértelmezett

mrjoel · 2007. Aug. 1. (Sze), 20.33
Köszi a választ. Az sql-en belül próbáltam amit mondtál, de sajna nem nagyon működött. A kep mező VARCHAR típusú, 255 a hossza, not null-ra van állítva és alapértelmezettnek megadtam a http://www.oldal.hu/pictures/nophoto.jpg -et. De így sajna nem működik. Mit kellene esetleg még átállítanom?
8

kiolvasás

viktorwrz · 2007. Aug. 1. (Sze), 21.05
A kiolvasáskor nem olvassa ki? Nem lehet, h rossz a formátum? Az is lehet, h kiolvasáskor a mappa eleve megvan adva és csak a fájlnevet tárolja az adatbázisban...
Vagy még valami karakterkódolási probléma is lehet bár kétlem.
9

Még 1x köszi!

mrjoel · 2007. Aug. 2. (Cs), 00.34
Most már működik! Köszi az összes segítséget!
10

megoldás

viktorwrz · 2007. Aug. 2. (Cs), 11.06
Na ennek örülök. Végülis mi volt a megoldás?