[ MiLaNcIc95 @ 29.03.2011. 16:18 ] @
Pokušaću što bolje da vam objasnim ovo. Naime, zanima me kako spojiti formu i funkciju..
Primer:
Imaju neke novosti za komentarisanje, i link je ( http://www.sajt.com/novost.php?id=1 )
e sad ja sam uspeo napraviti samo još jedan fajl da vodi ka ( http://www.sajt.com/add_kom.php )
Ali kad se refreshuje stranica pošalje se više upita.. E sada na dosta sajtova viđam kako na primer ( http://www.sajt.com/profil.php?id=1 ) i ima forma za komentare, e sada kad se doda komentar ne vodi kao kod mene na add_kom.php stranicu već na istoj toj ( /profil.php?id=1 ) i prikaže se komentar.. Kako to napraviti?
Tipa kad se pošalje komentar da umesto forme na prvobitnoj stranici bude tekst tipa "hvala što ste postavili komentar" ili tako nešto.
Znate li možda kako to izvesti?
[ VladaSu @ 30.03.2011. 10:19 ] @
Kada odes na add_kom.php i dodas komentar za novosti gde je id = X i po zavsetku upisa u bazu stavis u sesiju poruku da je uspesno dodat komentar a ako je bila neka greska onda upises u sesiju da je bila neka greska.
Posle toga odmah redirektujes sa header naredbom na novost.php?id=X a na toj stranici uvek citas iz sesije da li ima poruka o gresci ili o uspesnosti upisa a ako ima ispises je i odmah posle ispisa brises iz sesije da se ne bi stalno ispisivala poruka.

[ Ikonic @ 30.03.2011. 13:56 ] @
Posto radis proceduralno (ispravi me ako gresim), u formi stavi da ti je action="<?php echo $_SERVER['PHP_SELF'];?>".. To znaci da ce forma da salje na tu istu stranu. Zatim, na vrhu pitas if(isset($_POST['name_submit_buttona']). Znaci, pitas da li je kluknuto na tvoje submit dugme u formi.. U if-u odradis logiku koju zelis. Ako je upisivanje uspelo, kazes $check = TRUE, ako nije FALSE (logicno). I, onda gde zelis da ispises tu poruku "Uspesno uneto.....", pitas
Code:
if(isset($check){
    if($check){
        echo "Uspesno.....";
    }
    else{
       echo "Neuspesno.....";
    }
}

Valjda ce ti pomoci. Odavno nisam radio proceduralno, pa je ovo valjda ok..
[ VladaSu @ 30.03.2011. 15:30 ] @
@Ikonic
I kako ce na taj nacin resiti problem sa refresh i vise istih upisa u bazu? Njemu je kod u 2 fajla a tebi u jednom sto ne resava njegov problem.
Kazes posto "radi proceduralno" ne mogu da uvidim u cemu bi bila razlika u logici ako radi OOP?
[ Ikonic @ 30.03.2011. 16:25 ] @
Ne, samo sam pretpostavio da radi proceduralno, pa sam probao na taj nacin i da mu objasnim i ispisem.. Da, prevideo sam multiple upise.. Ali, ni header nije najsrecnije resenje.. On lepo radi na 5.3.. Ali, na ranijim verzijama je bio vrlo problematican.. Sad se tu dolazi do hosta, tj verzije php-a na serveru..
[ VladaSu @ 30.03.2011. 17:07 ] @
Header naredba radi dobro od kada postoji.
Redirekcija moze da se odradi i sa echo u head html dokumenta a moze da se odradi i sa kombinacijom sa js-om.
I dalje ne vidim kako bi mu drugacije objasnio da radi OOP :) Ali nije ni bitno.
[ MiLaNcIc95 @ 30.03.2011. 20:00 ] @
Hmmm, pokušao sam sa header redirect-om ali neće.. Ubaci on podatke u bazu, ali izbacuje kako header već šalje neke podatke, i neće da redukuje na istu onu stranicu..

Mogu vam dati primer sada kako to funkcioniše što mene zanima..
Pošto ja kontam da tu nema te redirekcije, ili barem ja ne primetim, ali evo:
http://www.club-shots.com/profil.php?id=813 (iskoristiću svoj profil kao primer)
Forma je linkovana na /dodajkomp.php . I kada se postavi komentar, jednostavno ne odvede na stranicu /dodajkomp.php na skundu, već je automatski na profilu tom i dalje...

Msm skripta je urađena na taj fazon cela.. Mene to zanima jer se tako ne može zloupotrebiti silnim refreshima niti bilo kako provaljivati :)
[ VladaSu @ 30.03.2011. 23:43 ] @
Header naredba nece da radi ako si predhodno imao bilo kakav output.
Sto znaci ako si ispisao bilo kakav html kod ukljucujuci i prazno mesto i novi red,
tj. ako pre header imas neki echo, print ili neki html pre i posle <?php ?> tagova. Racuna se i ako imas prazan red ili space pre i posle <?php jer vec taj prazan red je output.
[ MiLaNcIc95 @ 25.04.2011. 08:19 ] @
Gle, ne znam da li sam baš dobro skontao.. Ali evo šta sam ja uradio...

Code:

<?php 
    include 'include/functions.php';
    include 'include/header.php';
if(isset($_POST['submit'])) {
    if(isset($_POST['autor'])) {
        novAddPublic($_POST['naslov'],$_POST['autor'],$_POST['sadrzaj'],$_POST['avatar'],$_POST['slika']);
        echo '<h3><center><br />Novost je uspešno prosleđena administraciji, hvala.</center></h3>';
    } else {
        echo "*Sva polja su obavezna";
    }
}
?>
<br /><br />
<center><h2>Pošalji novost</h2></center>
<br /><br />
<center>
<form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<table border="0" width="493">
    <tr>
        <td valign="top">Naslov: </td>
        <td width="421">
        <input type="text" name="naslov" size="66" id='naslov' value=''/></td>
    </tr>
    <tr>
        <td valign="top">Autor: </td>
        <td width="421">
        <input type="text" name="autor" size="66" id='autor' value=''/></td>
    </tr>
    <tr>
        <td valign="top">Glumac: </td>
        <td width="421">
        <table border="0" width="375">
            <tr>
                <td><input type="radio" name="avatar" value="pajper" />Pajper</td>
                <td width="119"><input type="radio" name="avatar" value="pru" />Pru</td>
                <td width="120">
                <input type="radio" name="avatar" value="charmed" />Charmed</td>
            </tr>
            <tr>
                <td><input type="radio" name="avatar" value="fibi" />Fibi</td>
                <td width="119">
                <input type="radio" name="avatar" value="bili" />Bili</td>
                <td width="120">
                <input type="radio" name="avatar" value="deril" />Deril</td>
            </tr>
            <tr>
                <td><input type="radio" name="avatar" value="pejdz" />Pejdž</td>
                <td width="119"><input type="radio" name="avatar" value="kol" />Kol</td>
                <td width="120">
                <input type="radio" name="avatar" value="kris" />Kris</td>
            </tr>
            <tr>
                <td><input type="radio" name="avatar" value="leo" />Leo</td>
                <td width="119">
                <input type="radio" name="avatar" value="vajat" />Vajat</td>
                <td width="120">
                <input type="radio" name="avatar" value="vajat_stariji" />Vajat stariji</td>
            </tr>
        </table></td>
    </tr>
    <tr>
        <td valign="top">Slika: </td>
        <td width="421"><input type="text" name="slika" size="66" id='slika'/></td>
    </tr>
    <tr>
        <td valign="top">Sadrzaj: </td>
        <td width="421">
        <textarea type="text" name="sadrzaj" rows="15" cols="50" id='sadrzaj'></textarea></td>
    </tr>
    <tr>
    <td valign="top"></td>
    <td width="421"><input type="submit" name="submit" value="Postavi novost" style="margin-top:10px; display:block; border:1px solid #000000; width:180px; height:20px;font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; padding-left:2px; padding-right:2px; padding-top:0px; padding-bottom:2px; line-height:14px; background-color:#EFEFEF;" /></td>
    </tr>
</table>
</form>
</center>
<br />
<?php 
    include 'include/footer.php';
?>



E sada, kad se pošalje ta novost, link ostaje isti(što mi je bitno isto), ali kad se pošalje iznad napiše da je uspešno poslato, ali ispod i dalje prikazuje formu..

Kako to da ispravim?
[ VladaSu @ 25.04.2011. 13:05 ] @
redirektuj na post
[ Br@nkoR @ 25.04.2011. 14:09 ] @
Code (php):

<?php
       include 'include/functions.php';
       include 'include/header.php';
   if(isset($_POST['submit'])) {
       if(isset($_POST['autor'])) {
           novAddPublic($_POST['naslov'],$_POST['autor'],$_POST['sadrzaj'],$_POST['avatar'],$_POST['slika']);
           echo '<h3><center>Novost je uspešno prosleđena administraciji, hvala.</center></h3>';
       } else {
           echo "*Sva polja su obavezna";
       }
   } else {
   ?>
   
   <center><h2>Pošalji novost</h2></center>
   
   <center>
   <form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
   <table border="0" width="493">
       <tr>
           <td valign="top">Naslov: </td>
           <td width="421">
           <input type="text" name="naslov" size="66" id='naslov' value=''/></td>
       </tr>
       <tr>
           <td valign="top">Autor: </td>
           <td width="421">
           <input type="text" name="autor" size="66" id='autor' value=''/></td>
       </tr>
       <tr>
           <td valign="top">Glumac: </td>
           <td width="421">
           <table border="0" width="375">
               <tr>
                   <td><input type="radio" name="avatar" value="pajper" />Pajper</td>
                   <td width="119"><input type="radio" name="avatar" value="pru" />Pru</td>
                   <td width="120">
                   <input type="radio" name="avatar" value="charmed" />Charmed</td>
               </tr>
               <tr>
                   <td><input type="radio" name="avatar" value="fibi" />Fibi</td>
                   <td width="119">
                   <input type="radio" name="avatar" value="bili" />Bili</td>
                   <td width="120">
                   <input type="radio" name="avatar" value="deril" />Deril</td>
               </tr>
               <tr>
                   <td><input type="radio" name="avatar" value="pejdz" />Pejdž</td>
                   <td width="119"><input type="radio" name="avatar" value="kol" />Kol</td>
                   <td width="120">
                   <input type="radio" name="avatar" value="kris" />Kris</td>
               </tr>
               <tr>
                   <td><input type="radio" name="avatar" value="leo" />Leo</td>
                   <td width="119">
                   <input type="radio" name="avatar" value="vajat" />Vajat</td>
                   <td width="120">
                   <input type="radio" name="avatar" value="vajat_stariji" />Vajat stariji</td>
               </tr>
           </table></td>
       </tr>
       <tr>
           <td valign="top">Slika: </td>
           <td width="421"><input type="text" name="slika" size="66" id='slika'/></td>
       </tr>
       <tr>
           <td valign="top">Sadrzaj: </td>
           <td width="421">
           <textarea type="text" name="sadrzaj" rows="15" cols="50" id='sadrzaj'></textarea></td>
       </tr>
       <tr>
       <td valign="top"></td>
       <td width="421"><input type="submit" name="submit" value="Postavi novost" style="margin-top:10px; display:block; border:1px solid #000000; width:180px; height:20px;font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; padding-left:2px; padding-right:2px; padding-top:0px; padding-bottom:2px; line-height:14px; background-color:#EFEFEF;" /></td>
       </tr>
   </table>
   </form>
   </center>
   
   <?php
     }
       include 'include/footer.php';
   ?>
   
 
[ MiLaNcIc95 @ 25.04.2011. 17:15 ] @
@Br@nkoR, hvala.

Samo ako je i jedno polje prazno, on u bazu upisuje prazno, tačnije ne reaguje na "*Sva polja su obavezna"..

Znaš li možda zbog čega?
[ Br@nkoR @ 25.04.2011. 17:37 ] @
Umesto isset funkcije koristi empty funkciju, zatim ispituj za svako polje iz forme, ti ovde ispituješ samo za polje autor.
[ MiLaNcIc95 @ 25.04.2011. 17:43 ] @
Znači to bi ovako izgledalo?

Code (php):

<?php
       include 'include/functions.php';
       include 'include/header.php';
   if(isset($_POST['submit'])) {
       if(empty($_POST['naslov'],$_POST['autor'],$_POST['sadrzaj'],$_POST['avatar'],$_POST['slika'])) {
           novAddPublic($_POST['naslov'],$_POST['autor'],$_POST['sadrzaj'],$_POST['avatar'],$_POST['slika']);
           echo '<h3><center>Novost je uspešno prosleđena administraciji, hvala.</center></h3>';
       } else {
           echo "*Sva polja su obavezna";
       }
   } else {
   ?>
   
   <center><h2>Pošalji novost</h2></center>
   
   <center>
   <form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
   <table border="0" width="493">
       <tr>
           <td valign="top">Naslov: </td>
           <td width="421">
           <input type="text" name="naslov" size="66" id='naslov' value=''/></td>
       </tr>
       <tr>
           <td valign="top">Autor: </td>
           <td width="421">
           <input type="text" name="autor" size="66" id='autor' value=''/></td>
       </tr>
       <tr>
           <td valign="top">Glumac: </td>
           <td width="421">
           <table border="0" width="375">
               <tr>
                   <td><input type="radio" name="avatar" value="pajper" />Pajper</td>
                   <td width="119"><input type="radio" name="avatar" value="pru" />Pru</td>
                   <td width="120">
                   <input type="radio" name="avatar" value="charmed" />Charmed</td>
               </tr>
               <tr>
                   <td><input type="radio" name="avatar" value="fibi" />Fibi</td>
                   <td width="119">
                   <input type="radio" name="avatar" value="bili" />Bili</td>
                   <td width="120">
                   <input type="radio" name="avatar" value="deril" />Deril</td>
               </tr>
               <tr>
                   <td><input type="radio" name="avatar" value="pejdz" />Pejdž</td>
                   <td width="119"><input type="radio" name="avatar" value="kol" />Kol</td>
                   <td width="120">
                   <input type="radio" name="avatar" value="kris" />Kris</td>
               </tr>
               <tr>
                   <td><input type="radio" name="avatar" value="leo" />Leo</td>
                   <td width="119">
                   <input type="radio" name="avatar" value="vajat" />Vajat</td>
                   <td width="120">
                   <input type="radio" name="avatar" value="vajat_stariji" />Vajat stariji</td>
               </tr>
           </table></td>
       </tr>
       <tr>
           <td valign="top">Slika: </td>
           <td width="421"><input type="text" name="slika" size="66" id='slika'/></td>
       </tr>
       <tr>
           <td valign="top">Sadrzaj: </td>
           <td width="421">
           <textarea type="text" name="sadrzaj" rows="15" cols="50" id='sadrzaj'></textarea></td>
       </tr>
       <tr>
       <td valign="top"></td>
       <td width="421"><input type="submit" name="submit" value="Postavi novost" style="margin-top:10px; display:block; border:1px solid #000000; width:180px; height:20px;font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; padding-left:2px; padding-right:2px; padding-top:0px; padding-bottom:2px; line-height:14px; background-color:#EFEFEF;" /></td>
       </tr>
   </table>
   </form>
   </center>
   
   <?php
     }
       include 'include/footer.php';
   ?>
   
 


[ Br@nkoR @ 25.04.2011. 17:53 ] @
Ne , koristi manual ukoliko ne znaš kako se neka php funkcija koristi.
Code (php):

<?php
      include 'include/functions.php';
      include 'include/header.php';

      if(!empty($_POST['submit'])) {
          if(!empty($_POST['naslov']) AND !empty($_POST['autor']) AND !empty($_POST['avatar']) AND !empty($_POST['slika']) AND !empty($_POST['sadrzaj'])) {
              novAddPublic($_POST['naslov'],$_POST['autor'],$_POST['sadrzaj'],$_POST['avatar'],$_POST['slika']);
              echo '<h3><center>Novost je uspešno prosleđena administraciji, hvala.</center></h3>';
          } else {
              echo "*Sva polja su obavezna";
          }
      } else {
      ?>
     
      <center><h2>Pošalji novost</h2></center>
     
      <center>
      <form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
      <table border="0" width="493">
          <tr>
              <td valign="top">Naslov: </td>
              <td width="421">
              <input type="text" name="naslov" size="66" id='naslov' value=''/></td>
          </tr>
          <tr>
              <td valign="top">Autor: </td>
              <td width="421">
              <input type="text" name="autor" size="66" id='autor' value=''/></td>
          </tr>
          <tr>
              <td valign="top">Glumac: </td>
              <td width="421">
              <table border="0" width="375">
                  <tr>
                      <td><input type="radio" name="avatar" value="pajper" />Pajper</td>
                      <td width="119"><input type="radio" name="avatar" value="pru" />Pru</td>
                      <td width="120">
                      <input type="radio" name="avatar" value="charmed" />Charmed</td>
                  </tr>
                  <tr>
                      <td><input type="radio" name="avatar" value="fibi" />Fibi</td>
                      <td width="119">
                      <input type="radio" name="avatar" value="bili" />Bili</td>
                      <td width="120">
                      <input type="radio" name="avatar" value="deril" />Deril</td>
                  </tr>
                  <tr>
                      <td><input type="radio" name="avatar" value="pejdz" />Pejdž</td>
                      <td width="119"><input type="radio" name="avatar" value="kol" />Kol</td>
                      <td width="120">
                      <input type="radio" name="avatar" value="kris" />Kris</td>
                  </tr>
                  <tr>
                      <td><input type="radio" name="avatar" value="leo" />Leo</td>
                      <td width="119">
                      <input type="radio" name="avatar" value="vajat" />Vajat</td>
                      <td width="120">
                      <input type="radio" name="avatar" value="vajat_stariji" />Vajat stariji</td>
                  </tr>
              </table></td>
          </tr>
          <tr>
              <td valign="top">Slika: </td>
              <td width="421"><input type="text" name="slika" size="66" id='slika'/></td>
          </tr>
          <tr>
              <td valign="top">Sadrzaj: </td>
              <td width="421">
              <textarea type="text" name="sadrzaj" rows="15" cols="50" id='sadrzaj'></textarea></td>
          </tr>
          <tr>
          <td valign="top"></td>
          <td width="421"><input type="submit" name="submit" value="Postavi novost" style="margin-top:10px; display:block; border:1px solid #000000; width:180px; height:20px;font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; padding-left:2px; padding-right:2px; padding-top:0px; padding-bottom:2px; line-height:14px; background-color:#EFEFEF;" /></td>
          </tr>
      </table>
      </form>
      </center>
     
      <?php
        }
        include 'include/footer.php';
      ?>
 

[ MiLaNcIc95 @ 25.04.2011. 17:55 ] @
Aham.. Sorry.. Obično koristim.. Ali kad sam već započeo ovde, da se nebi neko trudio da pomogne, a ja već rešio.

Hvala puno :)

Edit: Izbacuje mi error
Parse error: syntax error, unexpected '!' in /home/charmeds/public_html/dodaj_novost.php on line 6
[ Br@nkoR @ 25.04.2011. 18:05 ] @
Proveri ponovo da li si lepo kopirao, evo isprobao sam kod sebe i nikakvu grešku ne prijavljuje.
[ MiLaNcIc95 @ 25.04.2011. 19:46 ] @
Imao sam ja jednu greškicu sa 2 !!.. Hvala puno na pomoći o odvojenom vremenu :)