Avatar
bubblo
Člen
Avatar
bubblo:

Zdravím som študentom jednej strednej technickej školy a dostal som za úlohu urobiť bazár. Php mi moc nejde a chcel by som sa prv spýtať, či sa tu nájde niekto ochotný, kto by mi či už vysvetlil alebo opravil mi chybný kód či pomohol s vyriešením niektorých problémov na ktoré som asi fakt krátky. Ak áno, zaslal by som mu tento môj bazár a vysvetlil ktorým veciam nechápem, jedná sa čisto len o php, mám už niektoré veci urobené, niektoré fungujú len z časti a keďže termín odovzdania sa blíži a mňa čakajú navyše ešte maturity a iné povinnosti, rád by som to čím skôr dokončil. Pekne ďakujem ak by sa niekto našiel a pomohol mi s tým, myslím že pre niekoho skúseného s php to nebude žiadny problém, sú to len drobnosti čo potrebujem.

 
Odpovědět  -1 26.2.2015 18:18
Avatar
sahlepik
Člen
Avatar
Odpovídá na bubblo
sahlepik:

Nasdílej to tady postupně veřejně a vždy se někdo ochotný najde, uvidíš.

 
Nahoru Odpovědět 26.2.2015 20:02
Avatar
Odpovídá na bubblo
Josef Kuchař (Pepa489):

Dej sem zdrojoví kód pomocí tlačítka vložit zdrojový kód a rádi ti pomůžeme ;)

Nahoru Odpovědět 26.2.2015 20:05
2x piš, jednou debuguj
Avatar
bubblo
Člen
Avatar
bubblo:
   <?php

  $pripojenie = mysql_connect("localhost", "root", "") or die ("Nepodarilo sa pripojiť") ;
mysql_select_db("bazar") or die ("Nepodarilo sa nájsť databázu")   ;


if(isset($_FILES['image']['tmp_name']))
{
 $file = ($_FILES['image']['tmp_name']);
            if (!isset($file))
                  echo "Prosím vyber obrázok." ;
                  else
                  {
                  $image = addslashes(file_get_contents ($_FILES['image']['tmp_name']));
                  $image_name = addslashes ($_FILES['image']['name']);
                  $image_size = getimagesize($_FILES['image']['tmp_name']);

            if ($image_size==FALSE)
              echo "Toto nieje obrázok";
              else
           {
            if (!$insert = mysql_query("INSERT INTO inzerat VALUES ('','','','','','','','$image_name','$image')"))
            echo " Problem s nahraním obrázku";
            else

          {
          $lastid = mysql_insert_id();
          echo "Obrazok bol nahraný   <p/>Tvoj obrazok :   <p />  <img src=get.php?id=$lastid>";
       }
        }
        }
       }
?>

Toto som urobil na obrázok aby sa uploadol z pc do databázy. Teraz ho chcem vypísať na stránke. Mám už urobený takýto formulár, jedná sa o bazár takže rýchlo pochopíte.

<div class="tabulka_inzerat">
   <form method="POST" action="pridat_inzerat.php" enctype="multipart/form-data">


                  <strong>Kategória : </strong>
    <select name="kategoria" class="kategoria">
        <option value="1"> Automobily </option>
        <option value="2"> Elektro  </option>
        <option value="3"> Hudba,knihy </option>
        <option value="4"> Pc,notebooky  </option>
        <option value="5"> Oblečenie </option>
        <option value="6"> Stroje,záhrada  </option>
        <option value="7">  Umenie,hobby </option>
        <option value="8"> Krása,zdravie </option>
        <option value="9"> Zvieratá </option>
        <option value="10"> Deti </option>
        <option value="11"> Služby </option>
        <option value="12"> Nábytok  </option>
     </select>
                 <br>


                   <strong>  Názov :</strong>
     <input type="text" name="nazov" class="nazov">   <br>
                      <strong>Lokalita : </strong>
     <input type="text" name="lokalita" class="lokalita">
                      <strong>Telefónne číslo : </strong>
     <input type="text" name="telefon" class="telefon">
                     <strong> Cena(euro) :</strong>
     <input type="text" name="cena" class="cena">  <br>
                    <strong>  Podrobnosti :</strong>    <br>
     <input type="text" name="popis" class="popis" > <br>
       <input type="file" name="image">

     <input type="submit" value="Pridať Inzerát" class="input_prihlasenie" />
 <?php
//pripojenie
$pripojenie = mysql_connect("localhost", "root", "") or die ("Nepodarilo sa pripojiť") ;
mysql_select_db("bazar") or die ("Nepodarilo sa nájsť databázu") ;

//vyplnenie (prázdne)
$inzerat = array(
        'kategoria' => '',
        'nazov' => '',
        'cena' => '',
        'lokalita' => '',
        'telefon' => '',
        'fotografia' => '',
        'popis' => '',
);
//odosielanie formuláru
if ($_POST)
{

      $query = mysql_query('
                        INSERT INTO inzerat (kategoria, nazov, cena, lokalita, telefon, popis)
                        VALUES ("'.$_POST['kategoria'].'","'.$_POST['nazov'].'","'.$_POST['cena'].'","'.$_POST['lokalita'].'","'.$_POST['telefon'].'","'.$_POST['popis'].'")'
                );
    if(!$query)echo mysql_error();
                echo('<p>Váš tovar bol úspešne pridaný.</p>');
}
?>

Priložil som obrázok takže to vypadá nejak podobne, na ľavo je ten formulár potrebujem aby to návštevník proste vyplnil a zobrazilo sa mu to na ďalšej stránke ktorú je možné na obrázku vidieť na pravo. Takže akonáhle niekto niečo pridá tak sa tam zjaví nejaký ten nový obdlžníček ktorý sa bude dať rozkliknúť a zobrazí sa daný inzerát, myslím že nikomu nemusím predstavovať ako taký bazár vypadá. Taktiež si môžte všimnúť mám tam registráciu a prihlásenie, to je už funkčné lenže nie natoľko koľko od toho požadujem, keďže chcem aby návštevník si mohol založiť účet, prihlásiť sa a tak by mohol upravovať alebo mazať svoje inzeráty, proste aby to malo taký rád. Dúfam že ma je chápať a že toho nieje veľa, ale tak som len na strednej a php sa učím len doma a nečakal som že to bude taká fuška :D

 
Nahoru Odpovědět 26.2.2015 21:34
Avatar
bubblo
Člen
Avatar
bubblo:
   <?php

  $pripojenie = mysql_connect("localhost", "root", "") or die ("Nepodarilo sa pripojiť") ;
mysql_select_db("bazar") or die ("Nepodarilo sa nájsť databázu")   ;


if(isset($_FILES['image']['tmp_name']))
{
 $file = ($_FILES['image']['tmp_name']);
            if (!isset($file))
                  echo "Prosím vyber obrázok." ;
                  else
                  {
                  $image = addslashes(file_get_contents ($_FILES['image']['tmp_name']));
                  $image_name = addslashes ($_FILES['image']['name']);
                  $image_size = getimagesize($_FILES['image']['tmp_name']);

            if ($image_size==FALSE)
              echo "Toto nieje obrázok";
              else
           {
            if (!$insert = mysql_query("INSERT INTO inzerat VALUES ('','','','','','','','$image_name','$image')"))
            echo " Problem s nahraním obrázku";
            else

          {
          $lastid = mysql_insert_id();
          echo "Obrazok bol nahraný   <p/>Tvoj obrazok :   <p />  <img src=get.php?id=$lastid>";
       }
        }
        }
       }
?>

Toto som urobil na obrázok aby sa uploadol z pc do databázy. Teraz ho chcem vypísať na stránke. Mám už urobený takýto formulár, jedná sa o bazár takže rýchlo pochopíte.

<div class="tabulka_inzerat">
   <form method="POST" action="pridat_inzerat.php" enctype="multipart/form-data">


                  <strong>Kategória : </strong>
    <select name="kategoria" class="kategoria">
        <option value="1"> Automobily </option>
        <option value="2"> Elektro  </option>
        <option value="3"> Hudba,knihy </option>
        <option value="4"> Pc,notebooky  </option>
        <option value="5"> Oblečenie </option>
        <option value="6"> Stroje,záhrada  </option>
        <option value="7">  Umenie,hobby </option>
        <option value="8"> Krása,zdravie </option>
        <option value="9"> Zvieratá </option>
        <option value="10"> Deti </option>
        <option value="11"> Služby </option>
        <option value="12"> Nábytok  </option>
     </select>
                 <br>


                   <strong>  Názov :</strong>
     <input type="text" name="nazov" class="nazov">   <br>
                      <strong>Lokalita : </strong>
     <input type="text" name="lokalita" class="lokalita">
                      <strong>Telefónne číslo : </strong>
     <input type="text" name="telefon" class="telefon">
                     <strong> Cena(euro) :</strong>
     <input type="text" name="cena" class="cena">  <br>
                    <strong>  Podrobnosti :</strong>    <br>
     <input type="text" name="popis" class="popis" > <br>
       <input type="file" name="image">

     <input type="submit" value="Pridať Inzerát" class="input_prihlasenie" />
 <?php
//pripojenie
$pripojenie = mysql_connect("localhost", "root", "") or die ("Nepodarilo sa pripojiť") ;
mysql_select_db("bazar") or die ("Nepodarilo sa nájsť databázu") ;

//vyplnenie (prázdne)
$inzerat = array(
        'kategoria' => '',
        'nazov' => '',
        'cena' => '',
        'lokalita' => '',
        'telefon' => '',
        'fotografia' => '',
        'popis' => '',
);
//odosielanie formuláru
if ($_POST)
{

      $query = mysql_query('
                        INSERT INTO inzerat (kategoria, nazov, cena, lokalita, telefon, popis)
                        VALUES ("'.$_POST['kategoria'].'","'.$_POST['nazov'].'","'.$_POST['cena'].'","'.$_POST['lokalita'].'","'.$_POST['telefon'].'","'.$_POST['popis'].'")'
                );
    if(!$query)echo mysql_error();
                echo('<p>Váš tovar bol úspešne pridaný.</p>');
}
?>

Priložil som obrázok takže to vypadá nejak podobne, na ľavo je ten formulár potrebujem aby to návštevník proste vyplnil a zobrazilo sa mu to na ďalšej stránke ktorú je možné na obrázku vidieť na pravo. Takže akonáhle niekto niečo pridá tak sa tam zjaví nejaký ten nový obdlžníček ktorý sa bude dať rozkliknúť a zobrazí sa daný inzerát, myslím že nikomu nemusím predstavovať ako taký bazár vypadá. Taktiež si môžte všimnúť mám tam registráciu a prihlásenie, to je už funkčné lenže nie natoľko koľko od toho požadujem, keďže chcem aby návštevník si mohol založiť účet, prihlásiť sa a tak by mohol upravovať alebo mazať svoje inzeráty, proste aby to malo taký rád. Dúfam že ma je chápať a že toho nieje veľa, ale tak som len na strednej a php sa učím len doma a nečakal som že to bude taká fuška :D

 
Nahoru Odpovědět 26.2.2015 21:34
Avatar
bubblo
Člen
Avatar
bubblo:

vôbec nemám doriešené zabezpečenie, takže sa dá odoslať aj prázdny formulár a podobne, takže uf, je tam teda práce čo práce ešte...

 
Nahoru Odpovědět 26.2.2015 21:37
Avatar
Paco
Člen
Avatar
Odpovídá na bubblo
Paco:

Pokiaľ chceš inzerát zobraziť z databáze do ktorej sa vloží formulárom, musíš k tomu inzerátu nejako pristupovať. Do tohoto pola si pridaj ešte ďalší kľúč URL a doňho budeš ukladať adresu ktorú dáš potom normálne ako odkaz na ten inzerát

//vyplnenie (prázdne)
$inzerat = array(
       'url' => '',
       'kategoria' => '',
       'nazov' => '',
       'cena' => '',
       'lokalita' => '',
       'telefon' => '',
       'fotografia' => '',
       'popis' => '',
);

Najprv ale samozrejme budeš potrebovať to url nejako získať. Riešil by som to v tomto prípade asi pridaním skrytého inputu do formulára a nastaviť mu nejakú unikátnu hodnotu ktorú by si mohol vygenerovať nejakou funkciou (v DB musí existovať logicky len raz) napr

<input type="hidden" name="url" value="123uniquelink">

,nezabudni to pridať do mysql query. No a potom čo sa to celé úspešne pridá presmerovať na inzerát pomocou toho unique linku napr http://bazar.sk/…t/UniqueLink z databáze...do­datočne budeš ale potrebovať funkciu ktorá bude kontrolovať $_GET pole z adresou, a pokial vnej nájde napr parameter inzerat/uniqueLink tak spustí ďalšiu mysql query ktorá vytiahne z DB konkrétny inzerát ktorý chce užívateľ zobraziť

$query = array('
SELECT kategoria, nazov_inzeratu atď...
FROM inzeraty
WHERE url = ?
', $_GET['uniqueLink']

Teoreticky nejako takto, môj nápad, možno by to šlo spraviť aj jednoduchšie ale škoda že to nerobíš objektovo, Naučiť sa OOP je vec ktorú si do budúcna určite pridaj na 'To do list'. Napísal som si to tak zbežne lebo som v nemocnici a dal som si prácu napísať to na telefóne, keby mám pc poruke určite by som ti pomohol viac. :)

Editováno 27.2.2015 14:29
Nahoru Odpovědět 27.2.2015 14:27
Gdy Ci smutno, gdy Ci źle. Jebnij format dysku C.
Avatar
bubblo
Člen
Avatar
bubblo:

Dík milé od teba, ale tak nejako nechápem, normálne to z formuláru odošlem na inú stránku na bazári, ide o to že práve neviem skombinovať ten formulár s pridaním obrázku, odosiela mi ich jednotlivo do databázy takže to urobí proste napríklad dve id a v jednej je obrázok a v druhej je samotný inzerát ako názov,lokalita atd.. A fakt dík za pomoc, ale ak tak potrebujem asi podrobnejší návod lebo ja som už z toho debil :D

 
Nahoru Odpovědět 27.2.2015 15:17
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na bubblo
patrik.valkovic:

Napiš mi do zpráv. Pokud máš skype nebo G+, můžeme to rozebrat. Na rozepisování jsem krapet líný :D

Nahoru Odpovědět 27.2.2015 15:39
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.