ugrás a tartalomhoz

Adatfeltöltés

Met30 · 2005. Már. 18. (P), 02.39
Sziasztok!

Egy "kis" problémával küszködök pár napja, s nem igazán akar összejönni. A következőröl van szó.
Van egy PHP-Nuke -os portálom. Szeretnék csinálni egy új modult hozzá. Ez a modul az sql adatbázis egy tábláját használja, innen nyeri az információkat. A lekérdezések működnek is, azzal nincs egyenlőre probléma. Viszont ami a gondot okozza az, hogy php-s űrlap segítségével szeretném az adatokat felvinni az adatbázisba, s ez nem igazán működik. Mindig hibaüzenetet kapok. A kód a következő képpen néz ki:
  1. <?php  
  2. if ( isset( $kat ) && isset( $alkat ) && isset( $ec ) && isset( $meret ) && isset( $hossz ) && isset( $szolam ) && isset( $nev )  )  
  3.     {  
  4.     $dbhiba = "";  
  5.     $vissza = adatbazis_bovit( $kat$alkat$ec$meret$hossz$szolam$nev$dbhiba );  
  6.     if ( ! $vissza )  
  7.         print "Hiba: $dbhiba<BR>";  
  8.     else  
  9.         print "Köszönjük!";  
  10.     }  
  11. else {  
  12.     urlap_keszit();  
  13.     }  
  14.   
  15. function adatbazis_bovit( $kat$alkat$ec$meret$hossz$szolam$nev, &$dbhiba )  
  16.     {  
  17.     $felhasznalo = "user";  
  18.     $jelszo = "jelszo";  
  19.     $adatbazis = "dbname";  
  20.     $kapcsolat = mysql_connect( "localhost"$felhasznalo$jelszo);  
  21.     if ( ! $kapcsolat)  
  22.         {  
  23.         $dbhiba = "Nem lehet kapcsolódni a kiszolgálóhoz!";  
  24.         return false;  
  25.         }  
  26.     if ( ! mysql_select_db( $adatbazis$kapcsolat ) )  
  27.         {  
  28.         $dbhiba = mysql_error();  
  29.         return false;  
  30.         }  
  31. $parancs = "INSERT INTO midi_dalok ( kat, alkat, ec, meret, hossz, szolam, nev )  
  32.     VALUES ( '$kat''$alkat''$ec''$meret''$hossz''$szolam''$nev' )";  
  33.     if ( ! mysql_query ( $parancs$kapcsolat ) )  
  34.         {  
  35.         $dbhiba = mysql_error();  
  36.         return false;  
  37.         }  
  38.     return true;  
  39.     }  
  40.   
  41. function urlap_keszit()  
  42.     {  
  43.     global $PHP_SELF;  
  44.     print "Kategória";  
  45.     print "<select name=\"kat\">\n";  
  46.     print "\t<option value=\"\">  \n";  
  47.     print "\t<option value=\"Dalrészletek\"> Dalrészletek\n";  
  48.     print "\t<option value=\"Komolyzene\"> Komolyzene\n";  
  49.     print "\t<option value=\"Teljes dalok\"> Teljes dalok\n";  
  50.     print "</select>\n";  
  51.     print "Alkategória";  
  52.     print "<select name=\"alkat\">\n";  
  53.     print "\t<option value=\" \">  \n";  
  54.     print "\t<option value=\"Disco\"> Disco\n";  
  55.     print "\t<option value=\"Komolyzene\"> Komolyzene\n";  
  56.     print "\t<option value=\"Magyar eloadók\"> Magyar eloadók\n";  
  57.     print "\t<option value=\"Pop\"> Pop\n";  
  58.     print "\t<option value=\"Rock\"> Rock\n";  
  59.     print "\t<option value=\"Örökzöld slágerek\"> Örökzöld slágerek\n";  
  60.     print "</select>\n";  
  61.     print "<form action=\"$PHP_SELF\" method=\"POST\">\n";  
  62.     print "Eloadó és számcím";  
  63.     print "<input type=\"text\" name=\"ec\"><p>";  
  64.     print "Fájl mérete (maszk: 00:00)";  
  65.     print "<input type=\"text\" name=\"meret\"><p>\n";  
  66.     print "Dal hossza (maszk: 00:00)";  
  67.     print "<input type=\"text\" name=\"hossz\"><p>\n";  
  68.     print "Szólamok száma (maszk 00)";  
  69.     print "<input type=\"text\" name=\"szolam\"><p>\n";  
  70.     print "Fájl neve";  
  71.     print "<input type=\"text\" name=\"nev\"><p>\n";  
  72.     print "<input type=\"submit\" value=\"Elküld\">\n</form>\n";  
  73.     }  
  74. ?>  
S amikor az elküldre klikkelek a következő hibaüzenetet kapom: Sorry, such file doesn't exist...
A tábla midi fájlokról tartalmaz információkat, de magát a fájlt nem ezzel töltöm fel. Csupán adatbővítésről lenne szó.

Ne kövezzetek meg ha alapdolgot kérdeztem, de most ismerkedem mégcsak a témával. Ezt a pár sort is a php 24 óra alatt könyvből vettem, s mégsem megy.

Ha valaki tudna segíteni mi a gond azt nagyon megköszönném.
 
1

Fájl hiba? Hol?

Anonymous · 2005. Már. 18. (P), 09.24
Nem teljesen világos, hogy honnan jön ez a such file doesn't exist hibaüzenet, mert nem látok egyetlen fájl műveletet sem... jó lenne pontosabban behatárolni a hiba helyét.

Más: úgy látom, hogy soha nem fog lefutni az adatbazis_bovit() függvény, mert a kategória és alkategória select-ek a form-on kívül vannak, viszont az értéküket ellenőrzi a script, mielőtt meghívná az adatbazis_bovit() függvényt.

Nadi
2

Adatbevitel

Met30 · 2005. Már. 18. (P), 11.33
Akkor pontosan leírom hogy néz ki a php tartalma. Bár amit lehagytam, az a rész szerintem független a működéstől. A meghívott fájlok mindegyike megtalálható a gyökérben.
  1. <?php  
  2.   
  3. if (!eregi("modules.php"$_SERVER[PHP_SELF])) {   
  4.     die ("You can't access this file directly...");   
  5. }   
  6.   
  7. require_once("mainfile.php");   
  8. $module_name = basename(dirname(__FILE__));   
  9. /*get_lang($module_name);*/   
  10. /*$pagetitle = "- $module_name";*/   
  11. $index = 0;   
  12.   
  13. /*$subject = "$sitename "._TEMODULE."";*/   
  14. include("header.php");   
  15.   
  16. OpenTable();  
  17.   
  18.     $felhasznalo = "név";  
  19.     $jelszo = "jelszó";  
  20.     $adatbazis = "adatbázis";  
  21.     $kapcsolat = mysql_connect( "localhost"$felhasznalo$jelszo);  
  22.       
  23. if ( isset( $kat ) && isset( $alkat ) && isset( $ec ) && isset( $meret ) && isset( $hossz ) && isset( $szolam ) && isset( $nev )  )  
  24.     {  
  25.     $dbhiba = "";  
  26.     $vissza = adatbazis_bovit( $kat$alkat$ec$meret$hossz$szolam$nev$dbhiba );  
  27.     if ( ! $vissza )  
  28.         print "Hiba: $dbhiba<BR>";  
  29.     else  
  30.         print "Köszönjük!";  
  31.     }  
  32. else {  
  33.     urlap_keszit();  
  34.     }  
  35.   
  36. function adatbazis_bovit( $kat$alkat$ec$meret$hossz$szolam$nev, &$dbhiba )  
  37.     {  
  38.   
  39.     if ( ! $kapcsolat)  
  40.         {  
  41.         $dbhiba = "Nem lehet kapcsolódni a kiszolgálóhoz!";  
  42.         return false;  
  43.         }  
  44.     if ( ! mysql_select_db( $adatbazis$kapcsolat ) )  
  45.         {  
  46.         $dbhiba = mysql_error();  
  47.         return false;  
  48.         }  
  49. $parancs = "INSERT INTO midi_dalok ( kat, alkat, ec, meret, hossz, szolam, nev )  
  50.     VALUES ( '$kat''$alkat''$ec''$meret''$hossz''$szolam''$nev' )";  
  51.     if ( ! mysql_query ( $parancs$kapcsolat ) )  
  52.         {  
  53.         $dbhiba = mysql_error();  
  54.         return false;  
  55.         }  
  56.     return true;  
  57.     }  
  58.   
  59. function urlap_keszit()  
  60.     {  
  61.     global $PHP_SELF;  
  62.     print "<form action=\"$PHP_SELF\" method=\"POST\">\n";  
  63.     print "Kategória";  
  64.     print "<select name=\"kat\">\n";  
  65.     print "\t<option value=\"\">  \n";  
  66.     print "\t<option value=\"Dalrészletek\"> Dalrészletek\n";  
  67.     print "\t<option value=\"Komolyzene\"> Komolyzene\n";  
  68.     print "\t<option value=\"Teljes dalok\"> Teljes dalok\n";  
  69.     print "</select>\n";  
  70.     print "Alkategória";  
  71.     print "<select name=\"alkat\">\n";  
  72.     print "\t<option value=\" \">  \n";  
  73.     print "\t<option value=\"Disco\"> Disco\n";  
  74.     print "\t<option value=\"Komolyzene\"> Komolyzene\n";  
  75.     print "\t<option value=\"Magyar eloadók\"> Magyar eloadók\n";  
  76.     print "\t<option value=\"Pop\"> Pop\n";  
  77.     print "\t<option value=\"Rock\"> Rock\n";  
  78.     print "\t<option value=\"Örökzöld slágerek\"> Örökzöld slágerek\n";  
  79.     print "</select>\n";  
  80.     print "Eloadó és számcím";  
  81.     print "<input type=\"text\" name=\"ec\"><p>";  
  82.     print "Fájl mérete (maszk: 00:00)";  
  83.     print "<input type=\"text\" name=\"meret\"><p>\n";  
  84.     print "Dal hossza (maszk: 00:00)";  
  85.     print "<input type=\"text\" name=\"hossz\"><p>\n";  
  86.     print "Szólamok száma (maszk 00)";  
  87.     print "<input type=\"text\" name=\"szolam\"><p>\n";  
  88.     print "Fájl neve";  
  89.     print "<input type=\"text\" name=\"nev\"><p>\n";  
  90.     print "<input type=\"submit\" value=\"Elküld\">\n</form>\n";  
  91.     }  
  92.   
  93. /*$parancs = "INSERT INTO midi_dalok ( kat, alkat, ec, meret, hossz, szolam, nev ) VALUES ( '$kat', '$alkat', '$ec', '$meret', '$hossz', '$szolam', '$nev' )"; 
  94. mysql_query ( $parancs, $kapcsolat ); 
  95. $azonosito = mysql_insert_id(); 
  96. print "A dal a $azonosito szám alatt került be az adatbázisba.";*/  
  97.   
  98. CloseTable();   
  99.   
  100.   
  101. include("footer.php");   
  102.   
  103. ?>  
A válaszod második részét korrigáltam, s ez a figyelmetlenségemnek köszönhető. De a hiba korrigálása után is megmaradt a hibaüzenet. Milyen fájlt akarhat behívni amit nem talál?
3

Sorry, such file doesn't

Anonymous · 2005. Már. 19. (Szo), 12.26
Sorry, such file doesn't exist...

Gondolom ez egy Nuke -os hibauzenet. Az elso sorba rakj egy error_reporting(E_ALL); -t. Igy megkapod azt is , hogy melyik fajl hianyzik.

bongyi
4

Megoldódott

Met30 · 2005. Már. 19. (Szo), 15.32
Köszi a segítséget. Sikerült összehozni egy másik megoldást s azzal tökéletesen működik.