Početak učenja PHP-a

6

Početak učenja PHP-a

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Evo ga konačno, gotovo je:

Isprobavanje: [Link mogu videti samo ulogovani korisnici]

Arrow main.php

  1. <head><meta http-equiv="Content-Type" content="text/html; charset=windows-1250"></meta></head>
  2. <html>
  3. <body>
  4. <h1>Forma</h1>
  5.  
  6. <?php
  7.  
  8. $ispis = substr(uniqid ('', true), -7);
  9. echo "Vaš kod je " . $ispis .". " . "Upišite ga u polje za <i>kod</i>.";
  10.  
  11. ?>
  12.  
  13. <form action="provera.php" method="post">
  14. <br/>
  15. <table>
  16. <tr><td><b>Ime:</b></td><td><input type="text" name="ime"/></td></tr>
  17. <tr><td><b>Prezime:</b></td><td><input type="text" name="prezime"/></td></tr>
  18. <tr><td><b>E-mail:</b></td><td><input type="text" name="mejl" /></td></tr>
  19. <tr><td><b>Poruka:</b></td><td><textarea name="poruka" cols="20" rows="5" value=""></textarea></td></tr>
  20. <tr><td><b>Kod:</b></td><td><input type="text" name="upis" /></td></tr>
  21. <tr><td><input type="submit" value="Posalji!" /></td></tr>
  22. <tr><input type="hidden" name="sakriven_ispis" value="<?php echo $ispis; ?>" /></tr>
  23. </table>
  24. </form>
  25. </body>
  26.  
  27. <!--     deo dva za proveru je u provera.php      -->


Arrow provera.php

  1. <body>
  2. <?php
  3. if(isset($_POST["ime"]) || isset($_POST["prezime"]) || isset($_POST["mejl"]) || isset($_POST["poruka"]) || isset($_POST["upis"]))
  4. {
  5.    $pass=true;
  6.    $napomena='';
  7.    if (empty($_POST["ime"]) || empty($_POST["prezime"]))
  8.    {
  9.       $napomena.= "Polja za ime i prezime moraju biti popunjena!<br>";
  10.       $pass=false;
  11.    }
  12.    if (empty($_POST["mejl"]))
  13.    {
  14.       $napomena.= "Polje za mejl je obavezno i mora biti popunjeno!<br>";
  15.       $pass=false;
  16.    }
  17.    if (empty($_POST["poruka"]))
  18.    {
  19.       $napomena.= "Niste uneli sadržaj poruke!<br>";
  20.       $pass=false;
  21.    }
  22.    if (empty($_POST["upis"]))
  23.    {
  24.       $napomena.= "Morate uneti kod kako bi potvrdili da niste robot!<br>";
  25.       $pass=false;
  26.    }
  27. }
  28. // Proveri da li je poruka poslata
  29. if($pass)
  30. {
  31. // Poslata poruka
  32. ?>
  33. <b>Dobrodošli</b>  <?php echo $_POST["ime"] . " " .  $_POST["prezime"] ?>! <br>
  34. <b>Vaš mejl je</b>  <?php echo $_POST["mejl"]; ?>. <br>
  35. <b>Vaša poruka: </b> <?php echo $_POST["poruka"]; ?> <br><br>
  36. <?php
  37. }
  38. else
  39. {
  40.    // Prikaži napomenu
  41.    if(!empty($napomena)){echo '<div style=" color:red; margin-bottom:10px; border:1px solid red; padding:10px;">'.$napomena.'</div>';}
  42.     ?>
  43. <?php }?>
  44. <?php
  45.  
  46. $kor_unos = $_POST['upis'];
  47. $tacan_unos = $_POST['sakriven_ispis'];
  48. if ($kor_unos == $tacan_unos)
  49. {
  50.    echo "Kod koji ste uneli se slaže sa ispisom na početku!";
  51. }
  52. else
  53. {
  54.    echo "Kod koji ste uneli se ne slaže sa ispisom na početku!";
  55. }
  56.  
  57. ?>
  58. </body>


meta tag sam u main.php morao da dodam jer sam primetio da od skoro stranice na 000webhost nešto brljaju pa neće da mi prikažu latinična slova (č,š,ć,ž,đ).

Ostalo je da se sve zaokruži sa mail() funkcijom ako se ne varam?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 13 Sep 2012
  • Poruke: 2138

Možda ne bi bilo loše uraditi AJAX na celoj formi... Ovako je za početak super ispalo! Ziveli



offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

Napisano: 19 Jun 2013 7:35

Odlično!!!
Sad ispravi samo da se dok traju greške forma za upis vidi. Tek kada je sve u redu onda neka forma nestaje.
SLEDEĆI ZADATAK:
Koristi mail() funkciju da se pošalje poruka. RADI SIGURNOSTI kada korisnik bude slao poruku neka pošalje sam sebi na svoj email sa svog email-a.

Ako ti nebude radila mail() funkcija na tom besplatnom hostu, koristi phpMailer ali prvo kreni od snove.

Dopuna: 19 Jun 2013 7:54

Obećao sam administratoru objašnjenje korak->po->korak.
Ispod sam u kodu stavio komentare za svaki korak.

  1. <?php
  2. // Proveri dali su sva polja aktivna i dali je metod POST poslat
  3. if(isset($_POST["ime"]) & isset($_POST["prezime"]) & isset($_POST["mejl"]) & isset($_POST["poruka"]) & isset($_POST["upis"]))
  4. {
  5.    // Dozvoljavam dalji prolaz ako nema ni jedne greške
  6.    $pass=true;
  7.    // Ispisuje reč GREŠKA i pravi novi red
  8.    $napomena='GREŠKA:<br />';
  9.    // Proverava da li je polje IME i PREZIME popunjeno
  10.    if (empty($_POST["ime"]) || empty($_POST["prezime"]))
  11.    {
  12.       // Nije popunjeno i ispisuje grešku
  13.       $napomena.= "Polja za ime i prezime moraju biti popunjena!<br>";
  14.      // Blokira prolaz
  15.       $pass=false;
  16.    }
  17.    // Proverava da li je polje za EMAIL popunjeno
  18.    if (empty($_POST["mejl"]))
  19.    {
  20.       // Nije popunjeno i ispisuje grešku
  21.       $napomena.= "Polje za mejl je obavezno i mora biti popunjeno!<br>";
  22.      // Blokira prolaz
  23.       $pass=false;
  24.    }
  25.    // Proverava da li je polje za PORUKU popunjeno
  26.    if (empty($_POST["poruka"]))
  27.    {
  28.       // Nije popunjeno i ispisuje grešku
  29.       $napomena.= "Niste uneli sadržaj poruke!<br>";
  30.      // Blokira prolaz
  31.       $pass=false;
  32.    }
  33.    // Proverava da li je polje za TAJNI KOD popunjeno
  34.    if (empty($_POST["upis"]))
  35.    {
  36.       // Nije popunjeno i ispisuje grešku
  37.       $napomena.= "Morate uneti kod kako bi potvrdili da niste robot!<br>";
  38.      // Blokira prolaz
  39.       $pass=false;
  40.    }
  41.    else
  42.    {
  43.       // TAJNI KOD je upisan pa proveri da li je ispravan
  44.       if ($_POST['upis'] != $_POST['sakriven_ispis'])
  45.       {
  46.          // TAJNI KOD nije ispravan ispiši grešku
  47.          echo "Kod koji ste uneli se ne slaže sa ispisom na početku!";
  48.          // Blokira prolaz
  49.          $pass=false;
  50.       }
  51.    }
  52.    
  53.    ##  U KOLIKO NIJE BILO NI JEDNE GREŠKE VARIJABLA $pass SA POČETKA DOZVOLJAVA PROLAZ  ##
  54. }
  55. // PROLAZ JE DOZVOLJEN
  56. if($pass)
  57. {
  58. // Poslata poruka
  59. ?>
  60.     <b>Dobrodošli</b>  <?php echo $_POST["ime"] . " " .  $_POST["prezime"] ?>! <br>
  61.     <b>Vaš mejl je</b>  <?php echo $_POST["mejl"]; ?>. <br>
  62.     <b>Vaša poruka: </b> <?php echo $_POST["poruka"]; ?> <br><br>
  63. <?php
  64. }
  65. else
  66. {
  67.    // Prikaži napomenu
  68.    if(!empty($napomena)){echo '<div style=" color:red; margin-bottom:10px; border:1px solid red; padding:10px;">'.$napomena.'</div>';}
  69.  
  70.    // Generiši kod
  71.    $ispis = substr(uniqid ('', true), -7);
  72.    // ISpiši taj kod
  73.    echo "Vaš kod je " . $ispis .". " . "Upišite ga u polje za <i>kod</i>.";
  74.  ?>
  75.    
  76.     <form action="provera.php" method="post">
  77.     <br/>
  78.     <table>
  79.     <tr><td><b>Ime:</b></td><td><input type="text" name="ime"/></td></tr>
  80.     <tr><td><b>Prezime:</b></td><td><input type="text" name="prezime"/></td></tr>
  81.     <tr><td><b>E-mail:</b></td><td><input type="text" name="mejl" /></td></tr>
  82.     <tr><td><b>Poruka:</b></td><td><textarea name="poruka" cols="20" rows="5" value=""></textarea></td></tr>
  83.     <tr><td><b>Kod:</b></td><td><input type="text" name="upis" /></td></tr>
  84.     <tr><td><input type="submit" value="Posalji!" /></td></tr>
  85.     <tr><input type="hidden" name="sakriven_ispis" value="<?php echo $ispis; ?>" /></tr>
  86.     </table>
  87.     </form>
  88.    
  89. <?php }?>

Ispravio sam neke sitne greške unutar koda.

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Napisano: 19 Jun 2013 10:57

Hvala Fox Ziveli Baš sam mislio da te pitam kad ćeš da objasniš kod, ali juče sam ga malo proanalizirao i shvatio da je ta varijabla pass za prolaz.

Dopuna: 19 Jun 2013 11:01

FoxVanis ::Napisano: 19 Jun 2013 7:35

SLEDEĆI ZADATAK:
Koristi mail() funkciju da se pošalje poruka. RADI SIGURNOSTI kada korisnik bude slao poruku neka pošalje sam sebi na svoj email sa svog email-a.



Ček, ček, znači da stavim da polje u koje unosi mejl PHP pročita i da napravim nešto ovako:

  1. $mail_za_slanje = $_POST["mejl"];
  2. $mail_za_primanje = $mail_za_slanje;


Da pošiljaoc i primaoc bude znači jedna osoba ili da napravim formu koja će poslati isti mejl i pošiljaocu i ciljanoj osobi?

offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

E.L.I.T.E. ::

Ček, ček, znači da stavim da polje u koje unosi mejl PHP pročita i da napravim nešto ovako:

  1. $mail_za_slanje = $_POST["mejl"];
  2. $mail_za_primanje = $mail_za_slanje;


Da pošiljaoc i primaoc bude znači jedna osoba ili da napravim formu koja će poslati isti mejl i pošiljaocu i ciljanoj osobi?

Tako je. Ja posetim tvoju stranicu i pošaljem poruku sam sebi. To je sigurnije jer svakako sada testiraš kod.

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Napisano: 20 Jul 2013 15:13

ilovephp ::Možda ne bi bilo loše uraditi AJAX na celoj formi... Ovako je za početak super ispalo! Ziveli

To je dobar predlog, smanjio bi vreme za testiranje unosa. Pokušaću i to da dodam Wink

Dopuna: 20 Jul 2013 17:14

Zadatak uspešno završen Ziveli

Arrow main.php

  1. <html>
  2. <body>
  3. <h1>Forma</h1>
  4.  
  5. <?php
  6.  
  7. $ispis = substr(uniqid ('', true), -7);
  8. echo "Vas kod je " . $ispis .". " . "Upisite ga u polje za <i>kod</i>.";
  9.  
  10. ?>
  11.  
  12. <form action="provera.php" method="post">
  13. <br/>
  14. <table>
  15. <tr><td><b>Ime:</b></td><td><input type="text" name="ime"/></td></tr>
  16. <tr><td><b>Prezime:</b></td><td><input type="text" name="prezime"/></td></tr>
  17. <tr><td><b>Vas e-mail:</b></td><td><input type="text" name="mejl" /></td></tr>
  18. <tr><td><b>Poruka:</b></td><td><textarea name="poruka" cols="20" rows="5" value=""></textarea></td></tr>
  19. <tr><td><b>Kod:</b></td><td><input type="text" name="upis" /></td></tr>
  20. <tr><td><input type="submit" value="Posalji!" /></td></tr>
  21. <tr><input type="hidden" name="sakriven_ispis" value="<?php echo $ispis; ?>" /></tr>
  22. <tr><input type="hidden" name="sakriven_mejl" value="<?php $_POST['mejl']; ?>"/></tr>
  23. </table>
  24. </form>
  25.  
  26. </body>
  27. </html>
  28.  
  29. <!--     deo dva za proveru je u provera.php      -->


Arrow provera.php
  1. <body>
  2. <head>
  3. <meta charset="utf-8">
  4. </head>
  5. <?php
  6. if(isset($_POST["ime"]) || isset($_POST["prezime"]) || isset($_POST["mejl"]) || isset($_POST["poruka"]) || isset($_POST["upis"]))
  7. {
  8.    $pass=true;
  9.    $napomena='';
  10.    if (empty($_POST["ime"]) || empty($_POST["prezime"]))
  11.    {
  12.       $napomena.= "Polja za ime i prezime moraju biti popunjena!<br>";
  13.       $pass=false;
  14.    }
  15.    if (empty($_POST["mejl"]))
  16.    {
  17.       $napomena.= "Polje za mejl je obavezno i mora biti popunjeno!<br>";
  18.       $pass=false;
  19.    }
  20.    if (empty($_POST["poruka"]))
  21.    {
  22.       $napomena.= "Niste uneli sadržaj poruke!<br>";
  23.       $pass=false;
  24.    }
  25.    if (empty($_POST["upis"]))
  26.    {
  27.       $napomena.= "Morate uneti kod kako bi potvrdili da niste robot!<br>";
  28.       $pass=false;
  29.    }
  30. }
  31. // Proveri da li je poruka poslata
  32. if($pass)
  33. {
  34. // Poslata poruka
  35. ?>
  36. <b>Dobrodošli</b>  <?php echo $_POST["ime"] . " " .  $_POST["prezime"] ?>! <br>
  37. <b>Vaš mejl je</b>  <?php echo $_POST["mejl"]; ?>. <br>
  38. <b>Vaša poruka: </b> <?php echo $_POST["poruka"]; ?> <br><br>
  39. <?php
  40. }
  41. else
  42. {
  43.    // Prikaži napomenu
  44.    if(!empty($napomena)){echo '<div style=" color:red; margin-bottom:10px; border:1px solid red; padding:10px;">'.$napomena.'</div>';}
  45.     ?>
  46. <?php }?>
  47. <?php
  48.  
  49. $kor_unos = $_POST['upis'];
  50. $tacan_unos = $_POST['sakriven_ispis'];
  51. if ($kor_unos == $tacan_unos)
  52. {
  53.    echo "Kod koji ste uneli se slaže sa ispisom na početku!";
  54. }
  55. else
  56. {
  57.    echo "Kod koji ste uneli se ne slaže sa ispisom na početku!";
  58. }
  59.  
  60. ?>
  61.  
  62. <?php
  63. $za = $_POST['mejl'];
  64. $naslov = "Test";
  65. $poruka = $_POST['poruka'];
  66. mail($za,$naslov,$poruka);
  67. echo "Mejl je poslat."
  68. ?>
  69.  
  70. <form action="provera.php" method="post">
  71. <br/>
  72. <table>
  73. <tr><td><b>Ime:</b></td><td><input type="text" name="ime"/></td></tr>
  74. <tr><td><b>Prezime:</b></td><td><input type="text" name="prezime"/></td></tr>
  75. <tr><td><b>E-mail:</b></td><td><input type="text" name="mejl" /></td></tr>
  76. <tr><td><b>Poruka:</b></td><td><textarea name="poruka" cols="20" rows="5" value=""></textarea></td></tr>
  77. <tr><td><b>Kod:</b></td><td><input type="text" name="upis" /></td></tr>
  78. <tr><td><input type="submit" value="Posalji!" /></td></tr>
  79. <tr><input type="hidden" name="sakriven_ispis" value="<?php echo $ispis; ?>" /></tr>
  80. </table>
  81. </form>
  82.  
  83. </body>

Ko je trenutno na forumu
 

Ukupno su 1214 korisnika na forumu :: 64 registrovanih, 6 sakrivenih i 1144 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Adaminho1985, Ares12356, Bobrock1, Boris90, brkan1, cenejac111, Centauro, cifra, d.arsenal321, Darko8, dok80, dragan_mig31, Dzoni2412, feanor, Goran_, gorankuba, Haris, hermann.kottmann, ILGromovnik, jalos, Kobrim, koom0001, Koča, kunktator, LostInSpaceandTime, m0nstrum_, Magistar78, mainstream, mane123, Meklejn, Mercury, miki kv, milenko crazy north, Milos1389, Mitrast, nebojsag, nextyamb, nuki1234, oddsock, Panter, Pekman, pfc74, PrincipL, Raso75, rovac, S2M, Samo gledam, samo opusteno, sap, Savantije, Schepan, sekretar, SOVO515, stegonosa, Stoorb, T5, tanakadzo, TheBeastOfMG, theNedjeljko, VanZan, vojnik švejk, volimpivuvolimrakiju, wizzardone, Zrcalo