[ Príspevkov: 56 ] 1, 2
AutorSpráva
Offline

Správca fóra
Správca fóra
odosielanie udajov do databazy

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 11.09.2007 21:46 | odosielanie udajov do databazy

to som len vysvetloval pre juha, co ta skratka znamena...ja ten balicek nemam nainstalovany, ale vsetko samostatne...

FAQ 3.11 je popisana tu: http://wiki.cihar.com/pma/FAQ_3.11

juho píše:
par riadkov hore som to vysvetlil...ked spusti ten subor tak sa mu vykona cely script ale aj tak ked uz odosle ten formular tak by to mal mat jedno prazdne a potom dalsie vyplnene.

mne to napr nepridalo,lebo mi zobrazilo chybu,ze post premenne nie su definovane...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.03.07
Prihlásený: 04.07.14
Príspevky: 344
Témy: 97 | 97
Napísal autor témyOffline : 11.09.2007 21:54 | odosielanie udajov do databazy

post premenne nie su definovane? Mozes to troska konkretizovat? Myslis tym, ze mam niekde v scripte chybu?


Offline

Správca fóra
Správca fóra
odosielanie udajov do databazy

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 11.09.2007 21:57 | odosielanie udajov do databazy

myslel som tym tento zapis:
Kód:
$meno = $_POST['meno'];
$priezvisko = $_POST['priezvisko'];

lenze, ked skript spustas prvykrat, tak tieto post premenne este neexistuju, lebo si este neodoslal formular...chyba sa ti zobrazi, ak mas nastavene zobrazovanie vsetkych chyb a varovani...


Offline

Užívateľ
Užívateľ
odosielanie udajov do databazy

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6 | 6
NapísalOffline : 12.09.2007 13:45 | odosielanie udajov do databazy

sak aj ja to mam samostatne preto som nechapal ze co to znamena seci pisu wamp a ja neviem co este...... ono to fnguje takto..
nacitas stranku vypise ti chybu ale pridati tam ten riadok(id zvacsi o 1 a v tych ostatnych stlpcoch budes mat prazdne miesto, pravda ak im nastavis hodnotu null) ale potom po odoslani toho formulara uz nevypise chybu(id sa zvacsi o 1 a do dalsich stlpcov sa ti zapisu hodnoty) ale preco to jemu nejde to nechapem a ked pises ze ani tebe to tak nefunguje tak tiez neviem preco. mam ten isty soft......


_________________
getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória
Offline

Správca fóra
Správca fóra
odosielanie udajov do databazy

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 12.09.2007 13:54 | odosielanie udajov do databazy

mas inak nastavene php (a mozno aj apache)


Offline

Užívateľ
Užívateľ
odosielanie udajov do databazy

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6 | 6
NapísalOffline : 12.09.2007 14:03 | odosielanie udajov do databazy

to co ide na localhost mi ide aj na ktoromkolvek inom servere.


_________________
getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória
Offline

Správca fóra
Správca fóra
odosielanie udajov do databazy

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 12.09.2007 14:55 | odosielanie udajov do databazy

tak potom neviem, kde je problem...

fakt, ze mu pridava riadky do tabulky v databaze nasvedcuje, ze pripojenie k mysql je v poriadku, chyba bude asi v datach...

osobne uz mam jednu skusenost so "super" zabezpecenym a nastavenym serverom, kde nebolo mozne k udajom odoslanym z formulara pristupovat cisto cez $_POST a $_GET premenne, ale poriadne klukatou cestou...
ale to asi tento pripad nebude...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.03.07
Prihlásený: 04.07.14
Príspevky: 344
Témy: 97 | 97
Napísal autor témyOffline : 12.09.2007 21:01 | odosielanie udajov do databazy

No chlapi, tak teraz som z toho vsetkeho este viac na "vetvy". Odinstaloval som WAMP5 a nainstaloval som si kazdu cast samostatne (apache 2.2.4 , mysql 5.1.21, php 5.2.3) presne podla navodu zo stranky. No a ked som znova pouzil hore uvadzane scripty (zapis.php, spojenie.php - ziadne zmeny som nerobil a aj tak isto vytvorenu databazu) este viac ma to sokovalo. Totiz nie len ze mi nezaznamenava udaje z formulara, ale este väcsia haluz je, ze kazdy riadok vo formulary mi zaznamenava ako jedno ID. Tzn. ze meno mi zvlas zarata, priezvisko zvlast. Cize ked odoslem 3x vypisany formular v tabulke mi to zapocita za 6 ID(zaznamov) Ale udaje stale nikde. Uz som z toho fakt na nervy. HELP!!!!


Offline

Skúsený užívateľ
Skúsený užívateľ
odosielanie udajov do databazy

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 12.09.2007 23:11 | odosielanie udajov do databazy

No, newboy1 ma požiadal o nejaké vyriešenie, avšak zdá sa mi, že tu už boli
prezentované správne postupy. V tom prípade ti môžem poradiť len takto - over
si funkčnosť jednotlivých subsystémov (PHP a databázy) a až potom hľadaj problém
niekde v komunikácii medzi nimi (čítaj trpezlivo a pozorne, najprv si to celé prečítaj a potom
skús moje postupy).

Čo to v praxi znamená? Najprv si zaručíme, že nám funguje PHP a všetky premenné
obsahujú zadané údaje. Takže vyskúšame nasledovné:
Kód:
<!-- formular.html -->
<form action="skript.php" method="post">
  <label for="meno">Meno:</label><input type="text" name="meno" id="meno"><br>
  <label for="priezvisko">Priezvisko:</label><input type="text" name="priezvisko" id="priezvisko"><br>
  <input type="submit" value="Odoslať">
</form>

Kód:
<?php
  #
  #
  # skript.php
  #
  #
  echo "<pre>".print_r($_POST, TRUE)."</pre>";
  echo "meno: {$_POST['meno']}; <br> priezvisko: {$_POST['priezvisko']};";
?>

Nahraj si formular.html a skript.php do koreňového adresára lokálneho servra (localhostu) a otvor
si formular.html v prehliadači. Vyplň formulár nejakými údajmi a odošli. Jednoducho sa pozri, či
premenné obsahujú zadané hodnoty. Ak nie, problém je tu. Ak áno, ideme ďalej.

Nasledujúci krok je rovnako jednoduchý. Skontroluj si, či ti databáza pracuje ako má. Ak
používaš PhpMyAdmin, alebo inú aplikáciu na správu databázy, spusti (po vytvorení patričnej tabuľky)
príkaz na vloženie dát. Mal by vyzerať nejak takto:
Kód:
INSERT INTO udaje (meno, priezvisko, id) VALUES ('Jozko', 'Mrkvicka', '')

Nepredpokladám, že by tu mohla nastať nejaká chyba, takže prejdem rovno na ďalší krok.
Vytvor si v koreňovom adresári localhostu tento súbor a spusti ho:
Kód:
<?php
// tvoje prihlasovacie udaje sa mozu lisit, ale predpokladam, ze tieto su OK
$hostitel="localhost";
$uziv_meno="root";
$heslo="";
$DB="databaza"; // tu nastav spravne meno pre databazu
@$spojenie=mysql_connect($hostitel, $uziv_meno, $heslo);
if(!$spojenie)
  echo "Nepodarilo sa vytvorit spojenie s hostitelom $hostitel!";
else {
  @$navratova_hodnota=mysql_select_db($DB);
  if (!$navratova_hodnota){
    echo "Nepodarilo sa nastavit databazu $DB!";
  }
}
$query = "
  INSERT INTO udaje (meno, priezvisko, id) VALUES ('Jozko', 'Mrkvicka', '')
";

$result = mysql_query($query);
if ($result) {
   echo "
  SQL query: $query
  <hr>Status: OK
  <hr>
  ";
} else {
  echo "
  SQL query: $query
  <hr>Status: ERROR
  <hr>".mysql_error()."
  <hr>
  ";
}
?>

Podľa toho, čo ti vypíše tento skript budeš jednoznačne vedieť, či ti funguje spojenie PHP a
databázy.

Ak sa doteraz neprejavila žiadna chyba, dostávame sa k finále - komplexnému skriptu,
ktorý má vyplené údaje vložiť do databázy. Tu je náš starý známy formulár:
Kód:
<!-- formular.html -->
<form action="skript.php" method="post">
  <label for="meno">Meno:</label><input type="text" name="meno" id="meno"><br>
  <label for="priezvisko">Priezvisko:</label><input type="text" name="priezvisko" id="priezvisko"><br>
  <input type="submit" value="Odoslať">
</form>

A tu je skript, ktorý to za nás zariadi:
Kód:
<?php
#
#
# skript.php
#
#
if ($_POST['meno'] == "") {
   echo "Nevyplnil si meno (premenna \$_POST['meno'] je prazdna)";
   exit;
} elseif ($_POST['priezvisko'] == "") {
  echo "Nevyplnil si priezvisko (premenna \$_POST['priezvisko'] je prazdna)";
   exit;
}
// tvoje prihlasovacie udaje sa mozu lisit, ale predpokladam, ze tieto su OK
$hostitel="localhost";
$uziv_meno="root";
$heslo="";
$DB="databaza"; // tu nastav spravne meno pre databazu
@$spojenie=mysql_connect($hostitel, $uziv_meno, $heslo);
if(!$spojenie)
  echo "Nepodarilo sa vytvorit spojenie s hostitelom $hostitel!";
else {
  @$navratova_hodnota=mysql_select_db($DB);
  if (!$navratova_hodnota){
    echo "Nepodarilo sa nastavit databazu $DB!";
  }
}
$query = "
  INSERT INTO udaje (meno, priezvisko, id) VALUES ('{$_POST['meno']}', '{$_POST['priezvisko']}', '')
";

$result = mysql_query($query);
if ($result) {
   echo "
  SQL query: $query
  <hr>Status: OK. <a href='zobrazenie.php'>Klikni sem pre zobrazenie vlozenych udajov!</a>
  <hr>
  ";
} else {
  echo "
  SQL query: $query
  <hr>Status: ERROR
  <hr>".mysql_error()."
  <hr>
  ";
}
?>

Nakoniec si napíšeme skript, ktorý zobrazí vložené dáta:
Kód:
<?php
#
#
# zobrazenie.php
#
#
// tvoje prihlasovacie udaje sa mozu lisit, ale predpokladam, ze tieto su OK
$hostitel="localhost";
$uziv_meno="root";
$heslo="";
$DB="databaza"; // tu nastav spravne meno pre databazu
@$spojenie=mysql_connect($hostitel, $uziv_meno, $heslo);
if(!$spojenie)
  echo "Nepodarilo sa vytvorit spojenie s hostitelom $hostitel!";
else {
  @$navratova_hodnota=mysql_select_db($DB);
  if (!$navratova_hodnota){
    echo "Nepodarilo sa nastavit databazu $DB!";
  }
}
$query = "
  SELECT meno, priezvisko, id
  FROM udaje
  ORDER BY id ASC
";
$result = mysql_query($query);
if ($result) {
   echo "
  SQL query: $query
  <hr>Status: OK
  <hr>
  <table>
    <tr>
      <th>ID</th>
      <th>meno</th>
      <th>priezvisko</th>
    </tr>
  ";
  while ($row = mysql_fetch_assoc($result)) {
     echo "
      <tr>
        <td>{$row['id']}</td>
        <td>{$row['meno']}</td>
        <td>{$row['priezvisko']}</td>
      </tr>
    ";
  }
  echo "</table>";
} else {
  echo "
  SQL query: $query
  <hr>Status: ERROR
  <hr>".mysql_error()."
  <hr>
  ";
}
?>

Tieto tri súbory opäť vytvor v koreňovom adresári localhostu a spusti si v prehliadači formular.html.
Naplň formulár dátami, odošli a sleduj výsledok. Ak je kladný, klikni na odkaz na zobrazenie.php a
over si správnosť vložených dát. Ak sú správne, gratulujem, funguje to.

Ak sa kdekoľvek vyskytne chyba, presne opíš v ktorom kroku sa to stalo, aké výsledky si očakával
a aké v skutočnosti nastali. Tiež presne odpíš všetky chybové hlásenia. Hádam to na niečo bude.


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
odosielanie udajov do databazy

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3128
Témy: 233 | 233
Bydlisko: Nové Zámky
NapísalOffline : 13.09.2007 15:26 | odosielanie udajov do databazy

p360t:
wow, parada, taketo neco som aj ja potreboval.. dalo by sa to rozsirit este aj o uploadovanie obrazkov?? potreboval by som k tomu aj obrazok pripojjit.. diki

A ak chcem, aby sa to zobrazovalo naopak, to znamena, ze najnovsie hore, tak prepisem:
Kód:
ORDER BY id ASC

na
Kód:
ORDER BY id DESC

Fakt parada.. je to kod, ktoremu rozumiem konecne

:lol:


Offline

Skúsený užívateľ
Skúsený užívateľ
odosielanie udajov do databazy

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 13.09.2007 15:34 | odosielanie udajov do databazy

Huh, nemám až toľko voľného času. Upload obrázkov sa tu už veľmi veľa krát riešil - kľúčové slovo "upload" vo vyhľadávaní v sekcii PHP, ASP ti dá relevantné výsledky.


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
odosielanie udajov do databazy

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3128
Témy: 233 | 233
Bydlisko: Nové Zámky
NapísalOffline : 13.09.2007 15:49 | odosielanie udajov do databazy

diki, pohladam ;)


_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.03.07
Prihlásený: 04.07.14
Príspevky: 344
Témy: 97 | 97
Napísal autor témyOffline : 13.09.2007 18:03 | odosielanie udajov do databazy

p360t: Dakujem za tvoj cas a rady. Vyskusal som krok po kroku vsetko co si napisal a taky to bol vysledok:
V prvom kroku-fungovalo
V druhom kroku- zapis do databazy fungoval
V tretom kroku pri spusteni skriptu "
<?php
// tvoje prihlasovacie udaje sa mozu lisit, ale predpokladam, ze tieto su OK
$hostitel="localhost"; ... atď "

mi vyhodilo toto chybove hlasenie :
SQL query: INSERT INTO udaje (meno, priezvisko, id) VALUES (´Jozko´,´Mrkvicka´,")
-----------------------------------------------------------------
Status: ERROR
-----------------------------------------------------------------
Incorrect integer value:"for column ´ID´at row 1
-----------------------------------------------------------------

Tak som skusil z riadku: INSERT INTO udaje (meno, priezvisko, id) VALUES ('Jozko', 'Mrkvicka', '') vyhodit ID, ze co to spravi.
A vyskocilo mi taketo hlasenie:

SQL query: INSERT INTO udaje (meno, priezvisko) VALUES (´Jozko´,´Mrkvicka´,")
-----------------------------------------------------------------
Status: ERROR
-----------------------------------------------------------------
Column count doesn´t match value count at row 1
-----------------------------------------------------------------
Takze znova nic. Cize asi netreba ani hovorit, ze mi teda nefungoval ani
finalny script (komplexny). Logicky mi teda z toho vychadza ze nefunguje spojenie PHP a databazy. Ale neviem preco. Totiz, skusil som nainstalovat WAMP5-nefungovalo, potom som nainstaloval PHP Home2, znova nefungovalo. Do tretice, ked som si nainstaloval kazdu cast zvlast (rozpisal som ich v predchadzajucom prispevku) znova nic. A ja som uz na pokraji nervoveho zrutenia...


Offline

Skúsený užívateľ
Skúsený užívateľ
odosielanie udajov do databazy

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 13.09.2007 19:25 | odosielanie udajov do databazy

Takto, nerúť sa.. Chyba je tu - nejak mu vadí, že stĺpec sa volá ID, takže ho zmeň napr. na "uid" (mne sa často stáva, že názov sĺpca je nejaké kľučové slovo a potom tiež neviem, kde je chyba) no a potom spusti toto:
Kód:
INSERT INTO udaje (meno, priezvisko, uid) VALUES ('Jozko', 'Mrkvicka', '')

Tvoja druhá chyba (Column count doesn´t match value count at row 1) znamenala, že si v "INSERT INTO udaje (meno, priezvisko) VALUES (´Jozko´,´Mrkvicka´,")" vyhodil ID ale nevyhodil si aj tie apostrofy na konci zátvorky values.

Teraz by ti to už malo ísť.


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.03.07
Prihlásený: 04.07.14
Príspevky: 344
Témy: 97 | 97
Napísal autor témyOffline : 13.09.2007 21:07 | odosielanie udajov do databazy

Hmmm.... , tak nic. Stale to nejde... Zamenil som ID za UID a vysledok-chybove hlasenie:

SQL query: INSERT INTO udaje (meno, priezvisko, uid) VALUES (´Jozko´,´Mrkvicka´,")
-----------------------------------------------------------------
Status: ERROR
-----------------------------------------------------------------
Incorrect integer value:"for column ´UID´at row 1
-----------------------------------------------------------------


Offline

Správca fóra
Správca fóra
odosielanie udajov do databazy

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 13.09.2007 21:14 | odosielanie udajov do databazy

newboy1 píše:
SQL query: INSERT INTO udaje (meno, priezvisko, uid) VALUES (´Jozko´,´Mrkvicka´,")


skusal si uz takuto kombinaciu?
Kód:
...VALUES (´Jozko´,´Mrkvicka´, NULL)


Offline

Užívateľ
Užívateľ
odosielanie udajov do databazy

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3128
Témy: 233 | 233
Bydlisko: Nové Zámky
NapísalOffline : 13.09.2007 22:10 | odosielanie udajov do databazy

Nechcem tvorit dalsiu sekciu, lebo to patri sem, tak davam zdrojaky:

upload_image.php
Kód:
<?php
include ("hlavicka.php");
?>
<body>

<form action="kontrola_obrazku.php" method="post">
  <label for="nadpis">Nadpis</label><input type="text" name="nadpis" id="nadpis"><br>
  <label for="popis">Popis</label><input type="text" name="popis" id="popis"><br>
  <input name="obrazok_subor" type="file" id="obrazok_subor">
  <input type="submit" name="odoslat" value="Odoslat">
</form>


</body>
</html>


kontrola_obrazku.php
Kód:
<?php
include ("config.php");

$nadpis = $_POST['nadpis'];
$popis = $_POST['nadpis'];
$cena = $_POST['cena'];
$obrazok_docasny_nazov = $_FILES['obrazok_subor']['name'];
$datum = date( "Y-m-d" );

// nacitanie a kontrola, overenie, kam sa ulozi

$adresar = "obrazky/";
$nazov_obrazku = $adresar. $obrazok_docasny_nazov;

if ( move_uploaded_file( $_FILES['obrazok_subor']['tmp_name'],
                                  $nazov_obrazku ) ) {

switch ( $typ ) {
  case 1:
    $pripona = " .gif";
    break;
  case 2:
    $pripona = " .jpg";
    break;
  case 3:
    $pripona = " .png";
    break;
    default:
      echo "Typ obrazku nieje GIF, JPG alebo PNG.<br>";
      echo "Vratte sa, a skuste to znovu";
}

//vlozenie info do tabulky
if ($_POST['nadpis'] == "") {
   echo "Nevyplnil si nadpis (premenna \$_POST['meno'] je prazdna)";
   exit;
} elseif ($_POST['popis'] == "") {
  echo "Nevyplnil si popis (premenna \$_POST['priezvisko'] je prazdna)";
   exit;
} elseif ($_POST['cena'] == "") {
  echo "Nevyplnil si cenu (premenna \$_POST['cena'] je prazdna)";
   exit;
}


$vlozit = "INSERT INTO eshop
          ( nadpis, popis, image_date, cena, )
          VALUES
          ('$nadpis', '$popis', '$datum', '$cena' )";
$vysledok = mysql_query( $vlozit ) or die ( mysql_error() );

$id_obrazku = mysql_insert_id();

$novy_nazov_suboru = $adresar. $id_obrazku. $pripona;

  rename( $nazov_obrazku, $novy_nazov_suboru );
 
}



include ("hlavicka.php")
?>

<body>
  <h1>Obrazok</h1>
 
    <p>Tu je obrazok, ktory ste odoslali na server</p>
    <img src="obrazky/<? echo $id_obrazku.$pripona; ?>" align="left">

    Bol prijaty: <? echo "$datum" ?>
</body>
</html>


Kde tam mam chybu? Ziadnu chybu to nehadze, ale do tabulky sa nic nezapise, a subor sa neupne...

(server by mal byt dobre nastaveny.. robil som zvlast dva scripty na nahratie textov a zvlast na nahratie obrazkov, a znazil som sa to dat dokopy)


Offline

Skúsený užívateľ
Skúsený užívateľ
odosielanie udajov do databazy

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 13.09.2007 23:43 | odosielanie udajov do databazy

Ok, tak skús nastaviť stĺpcu UID primárny kľúč (primary key) a automatické pripočítavanie vložených hodnôt podľa predchádzajúcej hodnoty (neviem či som sa vyjadril jasne, je to AUTO INCREMENT, v phpmyadmin je to pri editácii stĺpca pod selectom "EXTRA").


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.03.07
Prihlásený: 04.07.14
Príspevky: 344
Témy: 97 | 97
Napísal autor témyOffline : 14.09.2007 8:26 | odosielanie udajov do databazy

No to som nastavil....UID som nastavil primarny kluc uz pri tvorbe databazy. Fakt uz neviem kde je chyba. Napadlo ma ci, ta moja chyba nema nejaky suvis s Windowsom. Ale ked som skusil do ineho PC nainstalovat Wamp5 a pouzil som tu istu databazu a scripty, tak to tiez neslo. Fakt uz neviem co robim zle... Nemoze to nejako suvisiet s PHP, resp. ze som nieco nenastavil alebo nenakonfiguroval?


Offline

Skúsený užívateľ
Skúsený užívateľ
odosielanie udajov do databazy

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 14.09.2007 8:53 | odosielanie udajov do databazy

Tak ešte skús, čo ti to povie, ak miesto prázdneho reťazca v apostrofoch tam vložíš nejaké číslo:
Kód:
SQL query: INSERT INTO udaje (meno, priezvisko, uid) VALUES ('Jozko','Mrkvicka','5')

Blackshadow: našiel som tam jednu zjavnú chybu, je tam nejaká premenná $typ, ktorú predtým nikde nedefinuješ. A tiež sa pozri, či máš zapnuté zobrazovanie chybových hlásení.

kontrola_obrazku.php
Kód:
<?php
include ("config.php");

$nadpis = $_POST['nadpis'];
$popis = $_POST['nadpis'];
$cena = $_POST['cena'];
$obrazok_docasny_nazov = $_FILES['obrazok_subor']['name'];
$datum = date( "Y-m-d" );

// nacitanie a kontrola, overenie, kam sa ulozi

$adresar = "obrazky/";
$nazov_obrazku = $adresar. $obrazok_docasny_nazov;

if ( move_uploaded_file( $_FILES['obrazok_subor']['tmp_name'],
                                  $nazov_obrazku ) ) {
# tu je nezrovnalost - odkial beries premennu $typ??
switch ( $typ ) {
  case 1:
    $pripona = " .gif";
    break;
  case 2:
    $pripona = " .jpg";
    break;
  case 3:
    $pripona = " .png";
    break;
    default:
      echo "Typ obrazku nieje GIF, JPG alebo PNG.<br>";
      echo "Vratte sa, a skuste to znovu";
}

//vlozenie info do tabulky
if ($_POST['nadpis'] == "") {
   echo "Nevyplnil si nadpis (premenna \$_POST['meno'] je prazdna)";
   exit;
} elseif ($_POST['popis'] == "") {
  echo "Nevyplnil si popis (premenna \$_POST['priezvisko'] je prazdna)";
   exit;
} elseif ($_POST['cena'] == "") {
  echo "Nevyplnil si cenu (premenna \$_POST['cena'] je prazdna)";
   exit;
}


$vlozit = "INSERT INTO eshop
          ( nadpis, popis, image_date, cena, )
          VALUES
          ('$nadpis', '$popis', '$datum', '$cena' )";
$vysledok = mysql_query( $vlozit ) or die ( mysql_error() );

$id_obrazku = mysql_insert_id();

$novy_nazov_suboru = $adresar. $id_obrazku. $pripona;

  rename( $nazov_obrazku, $novy_nazov_suboru );
 
}



include ("hlavicka.php")
?>

<body>
  <h1>Obrazok</h1>
 
    <p>Tu je obrazok, ktory ste odoslali na server</p>
    <img src="obrazky/<? echo $id_obrazku.$pripona; ?>" align="left">

    Bol prijaty: <? echo "$datum" ?>
</body>
</html>


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
odosielanie udajov do databazy

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3128
Témy: 233 | 233
Bydlisko: Nové Zámky
NapísalOffline : 14.09.2007 11:23 | odosielanie udajov do databazy

aha.. vynechal som tam cast kodu..
ale aj tak, ked som to tam doplnil, nejak to nejde.. nemam zle zapis pre zapisanie do databazi ? a aj na upload obrazku ??
Nic neupne, ani nezapise.. chybove hlasenia mam zapnute ..

Tu je to trochu upravene:

Kód:
<?php
include ("hlavicka.php");
?>
<body>

<form name="form1" method="post" action="kontrola_obrazku.php" enctype="multipart/formdata"?
<table>
  <tr>
    <td>Nazov:</td>
    <td><input name="form_nadpis" type="text" id="form_nadpis" size="55" maxlength="255"></td>
  </tr>
  <tr>
    <td>Popis:</td>
    <td><input name="form_popis" type="text" id="form_popis" size="55" maxlength="255"></td>
  </tr>
  <tr>
    <td>Cena:</td>
    <td><input name="form_cena" type="text" id="form_cena" size="55" maxlength="255"></td>
  </tr>
  <tr>
    <td>Obrazok:</td>
    <td><input name="obrazok_subor" type="file" id="obrazok_subor"></td>
    <td><input type="submit" name="odoslat" value="odoslat">
</table>
</form>

</body>
</html>


Kód:
<?php
include ("config.php");

$nadpis = $_POST['form_nadpis'];
$popis = $_POST['form_popis'];
$cena = $_POST['form_cena'];
$obrazok_docasny_nazov = $_FILES['obrazok_subor']['name'];
$datum = date( "Y-m-d" );

// nacitanie a kontrola, overenie, kam sa ulozi

$adresar = "obrazky/";
$nazov_obrazku = $adresar. $obrazok_docasny_nazov;

if ( move_uploaded_file( $_FILES['obrazok_subor']['tmp_name'],
                                  $nazov_obrazku ) ) {

    list ($sirka, $vyska, $typ, $atributy ) = getimagesize( $nazov_obrazku );
   
      switch ( $typ ) {
        case 1:
          $pripona = ".gif";
          break;
        case 2:
          $pripona = ".jpg";
          break;
        case 3:
          $pripona = ".png";
          break;
        default:
          echo "Toto nieje obrazok JPG, GIF alebo PNG. Zvolte iny";
        }

//vlozenie info do tabulky

$vlozit = "INSERT INTO eshop
          ( nadpis, popis, image_date, cena )
          VALUES
          ('$nadpis', '$popis', '$datum', '$cena' )";
$vysledok = mysql_query( $vlozit ) or die ( mysql_error() );

$id_obrazku = mysql_insert_id();

$novy_nazov_suboru = $adresar. $id_obrazku. $pripona;

  rename( $nazov_obrazku, $novy_nazov_suboru );
 
}



include ("hlavicka.php")
?>

<body>
  <h1>Obrazok</h1>
 
    <p>Tu je obrazok, ktory ste odoslali na server</p>
    <img src="obrazky/<? echo $id_obrazku.$pripona; ?>" align="left">

    Bol prijaty: <? echo "$datum" ?>
</body>
</html>









Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.03.07
Prihlásený: 04.07.14
Príspevky: 344
Témy: 97 | 97
Napísal autor témyOffline : 14.09.2007 13:09 | odosielanie udajov do databazy

p360t: Tak skusil som...A vysledok : STATUS: OK! Jozka Mrkvicku mi zapisalo. Ale coto teraz pre mna znamena? Ako potom docielit zobrazovanie ID? Alebo ho ani nezahrnovat a nastavit si ako Primary nejaku inu hodnotu z formulara?


Offline

Skúsený užívateľ
Skúsený užívateľ
odosielanie udajov do databazy

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 14.09.2007 13:14 | odosielanie udajov do databazy

No vždy by si mal pri tomto type údajov mať nejaký primary key s auto incrementom. Skús to ešte takto - vytvoriť novú tabuľku a potom do nej vložiť tie údaje:
Kód:
CREATE TABLE `udaje2` (
`uid` INT( 6 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`meno` VARCHAR( 32 ) NOT NULL ,
`priezvisko` VARCHAR( 32 ) NOT NULL
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_slovak_ci;

A potom:
Kód:
INSERT INTO udaje2 (uid, meno, priezvisko) VALUES ('', 'Jozko', 'Mrkvicka',)

Pozor, všetko sú to apostrofy, nie úvodzovky ('' sú dva apostrofy a nie ").


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
odosielanie udajov do databazy

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3128
Témy: 233 | 233
Bydlisko: Nové Zámky
NapísalOffline : 14.09.2007 13:28 | odosielanie udajov do databazy

mne tam neviete najst chybu?? neviem preco to zrazu nejde.. fungovalo mi zvlast upload obrazku, zvlast vkladanie textovych poli, ale spolu ked to dam, tak nic..


_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
Offline

Skúsený užívateľ
Skúsený užívateľ
odosielanie udajov do databazy

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 14.09.2007 13:33 | odosielanie udajov do databazy

Tvoj kód sa mi zdá byť ok. Ale tiež si to skús rozdeliť, nech si si istý, že to samostatne funguje a potom to spoj.


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
odosielanie udajov do databazy

Registrovaný: 09.09.07
Prihlásený: 07.11.16
Príspevky: 3128
Témy: 233 | 233
Bydlisko: Nové Zámky
NapísalOffline : 14.09.2007 14:44 | odosielanie udajov do databazy

ja som to rozdelene mal... a to islo v pohode.. takze fakt nevem, co moze byt problem..
Nevies to supnut na localhost a skusit to? alebo nekdo iny ochotny ;)


_________________
"It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď
 [ Príspevkov: 56 ] 1, 2


odosielanie udajov do databazy



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Zobrazovanie udajov z databazy

v PHP, ASP

4

250

04.05.2008 15:37

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s výberom údajov z databázy

v PHP, ASP

1

122

20.06.2012 22:06

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

problem so zobrazovanim udajov z databazy v Mozille Firefox

v PHP, ASP

1

293

13.09.2009 15:59

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Nacitanie udajov z databazy do <input> a <textarea&

v PHP, ASP

5

445

03.11.2007 21:46

Matho

V tomto fóre nie sú ďalšie neprečítané témy.

porovnavanie udajov a editacia udajov

v PHP, ASP

10

299

07.03.2008 20:45

Blackdevil

V tomto fóre nie sú ďalšie neprečítané témy.

odosielanie SMS

v PHP, ASP

3

615

19.05.2011 14:08

Flety

V tomto fóre nie sú ďalšie neprečítané témy.

Odosielanie mailu

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

48

1984

28.03.2008 13:16

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

Odosielanie emailov

v Ostatné programy

0

59

20.08.2013 20:43

samson3333

V tomto fóre nie sú ďalšie neprečítané témy.

Formular, odosielanie ajaxom

v JavaScript, VBScript, Ajax

9

342

26.01.2010 18:41

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

office..odosielanie restar

v Ostatné programy

1

223

06.01.2010 23:30

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Odosielanie hromadneho Emailu

v Sieťové a internetové programy

3

590

17.12.2007 10:04

capricorn7

V tomto fóre nie sú ďalšie neprečítané témy.

odosielanie prilohy problem!!!!

v PHP, ASP

4

257

16.04.2008 14:12

El_locco

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] odosielanie mailov

v PHP, ASP

5

303

10.02.2009 12:49

neopagan

V tomto fóre nie sú ďalšie neprečítané témy.

Script na odosielanie

v PHP, ASP

3

422

02.03.2011 14:18

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Hromadne odosielanie mailov

v Ostatné

0

106

19.10.2013 10:53

DeiForm

V tomto fóre nie sú ďalšie neprečítané témy.

Odosielanie mailov z webstranky

v PHP, ASP

2

131

13.05.2013 14:32

JanoF



© 2005 - 2017 PCforum, edited by JanoF