Jump to content
php.lv forumi

Cibiņš

Reģistrētie lietotāji
  • Posts

    487
  • Joined

  • Last visited

Posts posted by Cibiņš

  1. Reāli tie '\' traucē. Ja tu izvāc tad vajadzētu strādāt, bet katrā gadījumā vajadzētu palasīt tā verķa dokumentāciju kā viņu pārkonfigurēt lai nebāž tos '\' datubāzē.

     

    Tev ir

     

    Teksts ar <span style=\"font-weight: bold;\">noformējumu</span> un <span style=\"font-style: italic;\">dažādu</span>
    

     

    bet vajadzētu būt

     

    <p>Teksts ar <span style="font-weight: bold;">noformējumu</span> un <span style="font-style: italic;">dažādu</span></p>
    

  2. Izskatās ka kāda cita proga būs pievākusi portu kuru izmanto Apache.

     

    Atver Apache konfigurācijas failu httpd.conf

     

    Sameklē šo rindiņu

    Listen 80
    

     

    Un 80 portu nomaini uz 81. Tad vari mēģināt startēt apachi. Respektīvi arī ņem vērā ka tev būs pārlūka URL jāraksta nevis localhost bet localhost:81.

  3. Nu zinu jā style un CSSiem bet ar tiem style un CSSiem tur neuztaisīt tādu kā vajag. Viņš jātaisa kā attēls ir tā poga kur uzbraucot ar peli parādās savādāks pogas izskats, tipa tā kā ir piemēram http://www.draugiem.lv logina poga. Savādāk tur nu nekādi...

  4. Vai ir iespējams ievietot Submit pogas vietā, kas atrodas formā (iekš <form></form>) tagiem kādu citu pogu ar specifisku dizainu un īpašībām kā piemēram šādu

    echo "<a method=\"post\" href=\"?op=dbf\" onmouseout=\"MM_swapImgRestore()\" onmouseover=\"MM_swapImage('buttonRegister','','poga2.png',1)\">
    <img src=\"poga.png\" alt=\"poga245645\" name=\"poga123124\" width=\"92\" height=\"26\" border=\"0\" id=\"poga246245254\" />";
    echo "</a>";
    

     

    Ja ir, tad kā viņu piesaistīt formai, lai tā poga nospiezod "savāc" ievadītos datus formas laukos un veic darbības (action="???")?

     

    Ceru ka sapratāt..

  5. Principā izskatās ka fails patiešām ir viens un tas pats. Nu tad es patiešām sāktu pārbaudīt tādas parādības ka fails pārāk ilgi uplodojas un pārsniedz php.ini limitus, vai ko tam līdzīgu. Vēl varētu noskaidrot ar kādu pārlūku strādā lietotājs, ļoti retos gadījumos pie specifiskiem nosacījumiem var sanākt visādas dīvainības.

     

    Mcimagemanager ir maksas (man šķiet) un ar php.ini saistītās problēmas (ja tādas ir) viņš neatrisinās.

     

    Ā nu ja rina ir par php.ini tad jā tad ir cita lieta. Nē nu mcimagemanageri var gan šur tur dabūt netērējot naudu kas krīzes laikos katram ir dārga.

  6. me neko daudz ar šitiem neķēpājās vienk ielieku mcimagemanager un tinymce un nekas daudz tur nav ko ķēpāties. vienīgi nokonfigurēju to mcimagemanager config.php lai strādā kā tam ir jāstrādā un viss iet kā nākas :) Tā ir vienkāršāk un ātrāk. Bet nu ja jātaisa kautko kā draugiem.lv tad jau jā tad jāsavieto ar datubāzēm to visu štelli.

  7. Kaut kā šausmīgi jocīgi tev tur viss sataisīts. Pilnībā neiedziļinājos, bet dari kaut kā tā:

    if(email_valid($email) {
    //kaut kas kas nu tev te ir
    $valid_email = false; //šamo var rakstīt die() vietā
    }
    
    // .. te iet kods kas tur ir
    
    if($email_valid) {
    mysql_query($q);
    }
    else {
    //ko dara kļūdas gadījumā
    }
    

     

    Ceru, ka daudz maz pareizi sapratu kas tur ir...

    Neder. Lapā nerāda formu + rauj apakšu nost. :(

  8. Tev šī daļa nav diez ko loģiska. Ja ir vairāki lauki un pirmais bus tukšs, bet otrais aizpildīts, tad $bInputFlag == true. Pietiek, pat, ka tev submit pogai ir norādīts name un value un formā būs pēdējais elements, lai šis vienmēr būtu true, jo to pados kā pēdējo. Tas arī visdrīzāk ir iemesls kāpēc iziet pārbaudi uz tukšajiem laukiem, bet failo pie email patiesuma pārbaudes.

    foreach ( $_POST as $field )
     {
     if ($field == "")
      {
      $bInputFlag = false;
      }
     else
      {
      $bInputFlag = true;
      }
     }
    

     

    Tavs pirmais variants ar $errormessage = "You must enter valid e-mail!"; labāks, jo tad vari iztikt bez die().

    Atliek tik pirms ievades pārbaudīt vai errormessage kaut ko satur, lai izlemtu - dati ir derīgi vai nē.

     
    if(empty($errormessage)){
    $q = $registermail;
    
    $r = mysql_query($q);
    }
    

     

    Vēlreiz saku: izņemot die(); MĒSLI vai TUKŠUMI aiziet uz datubāzi! Pietam šis

     

    if(empty($errormessage)){
    $q = $registermail;
    
    $r = mysql_query($q);
    }
    

     

    ir nederīgs jo nosūta tukšumu uz datubāzi nevis izpilda vajadzīgās operācijas + bonusā vienalga norauj lapai apakšu. Ja lauks ir tukss, viņam nekas nav jāreģistrē nav jāpalaiž nekādi kvēriji.

  9. 1. - Nepiekritīšu. Ja kods nav drošs, tad to nepasargās fakts, ka viņš būs izmetāts pa vairākiem failiem un galu galā inklūdots vienā failā.

    2. - Nesapratu? Kas ir funkcijas, kas "pa taisno pārsē"? Vienkārši vajag izmantot mysql_real_escape_string un viss būs labi :)

    3. - Atkal, nesapratu? "Submit pogu likt kā ?op=log" - kas ar šo domāts? Submit poga taču ir <input type="submit" /> :)

    4. - Šinī gadījumā jau tiek glabāti sha1 veidā, kas ir "stiprāks" par md5

    4.(5.?:D) - Nevienmēr. Savā gudrībā arī var apmudīties un nepamanīt bīstamus caurumus

     

    Cik cilvēku tik viedokļu :)

  10. Sākumā cīnījos ar šo, kamēr visu dabūju iekšā ko vajag. Šeit tā forma strādā. Bet tiklīdz ieliek to register.php lapā tā viss - gļuki.

     

    Pašai lapai ir šāda uzbūve - 3 daļas.

     

    <div id=header></div>

    <div id=main_body></div>

    <div id=footer></div>

     

    Tā forma stāv iekš div id=main_body. Reāli viss ir ok, ja reģistrē kādu mailu, viss strādā kā nākās. Bet tiklīdz atstāj lauku tukšu, vai ievada nepareizu e-pastu vai ievada jau datubāzēs esošu e-pastu un visos 3 gadījumos nospiež Submit pogu,tā pirmajos 2 gadījumos minētajās darbībās izmet kļūdu ka e-pasts ir nederīgs, lai gan vajadzētu pirmajā gadījumā būt kļūdas ziņojumam ka nevar reģistrēt tukšu lauku. Visos 3 gadījumos pazūd <div id=footer></div> daļa, bet pārējās header un main_body daļas paliek.

     

    Man šķiet ka šitais traucē:

     

    if (validate_email($email))
    {
    echo "Email is valid!";
    }
    
    

     

    register.php

     

    <?php
    
    include ('mailValidation.php');
    $email = $_POST ['email'];
    $registermail = "INSERT INTO `test` (`email`) "."VALUES ('".$email."')";
    $checkmail = mysql_query("SELECT * FROM test WHERE email='$email'");
    
    $email_exist = mysql_num_rows($checkmail);
    
    if($email_exist > 0){
       echo "This email is allready registered.";
       unset($email);
       include 'regform.php';
       die();
    }
    
    
    if ( $_GET["op"] == "reg" )
    {
    $bInputFlag = false;
    foreach ( $_POST as $field )
     {
     if ($field == "")
      {
      $bInputFlag = false;
      }
     else
      {
      $bInputFlag = true;
      }
     }
    if ($bInputFlag == false)
     {
     echo "Cannot register empty field!";
    include ('regform.php');
    (die);  
    }
    if (validate_email($email))
    {
    if ( $_GET["op"] == "thanks" )
    {
    echo "Thanks for registering!";
    include ('regform.php');
    }
    }
    else
    {
      echo "You must enter valid e-mail!";
      include ('regform.php');	
    die();
    }
    
    $q = $registermail;
    
    $r = mysql_query($q);
    
    if ( !mysql_insert_id() )
     {
     echo "Error: User not added to database.";
    include ('regform.php');
    die(); 
    }
    else
     {
     header("Location: register.php?op=thanks");
     }
    } 
    else
    {
    include ('regform.php');
    }
    ?>
    
    
    

     

    mailValidation.php saturs:

     

    <?php
    function validate_email($email)
    {
    
      // Create the syntactical validation regular expression
      $regexp = "^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$";
    
      // Presume that the email is invalid
      $valid = 0;
    
      // Validate the syntax
      if (eregi($regexp, $email))
      {
         list($email,$domaintld) = split("@",$email);
         // Validate the domain
         if (getmxrr($domaintld,$mxrecords))
            $valid = 1;
      } else {
         $valid = 0;
      }
    
      return $valid;
    
    }
    ?>
    

     

    regform.php

     

    <?php
    echo "<form action=\"?op=reg\" method=\"POST\">\n";
    echo "Email Address: <input name=\"email\" MAXLENGTH=\"25\"><br />\n";
    echo "<input type=\"submit\">\n";
    echo "</form>\n";
    ?>
    

     

    Ja izņemu die(); f-ju tad apakša netiek norauta, bet mēsli tomēr aizsūtās uz db.

  11. Neesmu nekāds profs bet manējais skatījums ir šāds:

     

    1. Lai logina kods būtu drošs, vajag taisīt tā lai skriptus velk no ārējiem failiem un/vai direktorijām un sakomplektē vienā failā;

    2. Nevajag lietot kaukadas funkcijas kas pa taisno parsē datus jo ir iespejama sql injekcija (datus datubāzē vajag glabāt kā kodētus ([md5]);

    3. Submit pogu likt kur aizies formas izpildāmā darbība (action) kā piemēram ?op=log ne (fails.php) un lai dati tiek pārbaudīti ar skriptiem, kuri ir komplektēti index.php failā;

    4. Un galu galā, jo sarežģītāk izdomāsi jo labāk.......

  12. Sākumā cīnījos ar šo, kamēr visu dabūju iekšā ko vajag. Šeit tā forma strādā. Bet tiklīdz ieliek to register.php lapā tā viss - gļuki.

     

    Pašai lapai ir šāda uzbūve - 3 daļas.

     

    <div id=header></div>

    <div id=main_body></div>

    <div id=footer></div>

     

    Tā forma stāv iekš div id=main_body. Reāli viss ir ok, ja reģistrē kādu mailu, viss strādā kā nākās. Bet tiklīdz atstāj lauku tukšu, vai ievada nepareizu e-pastu vai ievada jau datubāzēs esošu e-pastu un visos 3 gadījumos nospiež Submit pogu,tā pirmajos 2 gadījumos minētajās darbībās izmet kļūdu ka e-pasts ir nederīgs, lai gan vajadzētu pirmajā gadījumā būt kļūdas ziņojumam ka nevar reģistrēt tukšu lauku. Visos 3 gadījumos pazūd <div id=footer></div> daļa, bet pārējās header un main_body daļas paliek.

     

    register.php

     

    <?php
    include ('mailValidation.php');
    $email = $_POST ['email'];
    $registermail = "INSERT INTO `test` (`email`) "."VALUES ('".$email."')";
    include ("dbConfig.php");
    
    $checkmail = mysql_query("SELECT * FROM test WHERE email='$email'");
    
    $email_exist = mysql_num_rows($checkmail);
    
    if($email_exist > 0){
       echo "This email is allready registered.";
       unset($email);
       include 'regform.php';
       die();
    }
    
    
    if ( $_GET["op"] == "reg" )
    {
    $bInputFlag = false;
    foreach ( $_POST as $field )
     {
     if ($field == "")
      {
      $bInputFlag = false;
      }
     else
      {
      $bInputFlag = true;
      }
     }
    if ($bInputFlag == false)
     {
     echo "Cannot register empty field!";
    include ('regform.php');
    (die);  
    }
    if (validate_email($email))
    {
    echo "Email is valid!";
    }
    else
    {
      echo "You must enter valid e-mail!";
      include ('regform.php');	
    die();
    }
    
    $q = $registermail;
    
    $r = mysql_query($q);
    
    if ( !mysql_insert_id() )
     {
     echo "Error: User not added to database.";
    include ('regform.php');
    die(); 
    }
    else
     {
     header("Location: register.php?op=thanks");
     }
    } 
    
    elseif ( $_GET["op"] == "thanks" )
    {
    echo "Thanks for registering!";
    include ('regform.php');
    }
    
    else
    {
    include ('regform.php');
    }
    
    ?>
    
    

     

    mailValidation.php saturs:

     

    <?php
    function validate_email($email)
    {
    
      // Create the syntactical validation regular expression
      $regexp = "^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$";
    
      // Presume that the email is invalid
      $valid = 0;
    
      // Validate the syntax
      if (eregi($regexp, $email))
      {
         list($username,$domaintld) = split("@",$email);
         // Validate the domain
         if (getmxrr($domaintld,$mxrecords))
            $valid = 1;
      } else {
         $valid = 0;
      }
    
      return $valid;
    
    }
    ?>
    

     

    regform.php

     

    <?php
    echo "<form action=\"?op=reg\" method=\"POST\">\n";
    echo "Email Address: <input name=\"email\" MAXLENGTH=\"25\"><br />\n";
    echo "<input type=\"submit\">\n";
    echo "</form>\n";
    ?>
    

  13. Redziet kas ir..ja atsevišķi nošķir un testē to formu tad strādā normali. Bet tiklīdz lapā iebāž tā gļuko..

     

    Pietam uz tukšo lauku ja lauks ir tukšs tad uz to norāda zemāk esošais skripts, tik nesaprotu kapēc viņš nestrādā.

     

    $bInputFlag = false;
    foreach ( $_POST as $field )
     {
     if ($field == "")
      {
      $bInputFlag = false;
      }
     else
      {
      $bInputFlag = true;
      }
     }
    if ($bInputFlag == false)
     {
     $errormessage = "Cannot register empty field!";
           include ('regmailform.php');
           die();  
     }
    
    

  14. Jā zinu bet ja to die(); izņem tad tukšums aiziet uz datubāzi. Pietam ja tukš lauks tad viņam vajadzētu parādīt erroru ka tukšu lauku nevar reģistrēt nevis izmest erroru ka e-pasts ir nederīgs.

     

    Respektīvi, ja lauks atstāts tukšs, vajadzētu nostrādāt šai f-jai

    $errormessage = "Cannot register empty field!";
           include ('regmailform.php');
           die();  
    

     

    nevis šai

     

    $errormessage = "You must enter valid e-mail!";
      include ('regmailform.php'); 
           die();
    

     

    Ja to die izņem tad viņš aizsūta mēslus uz datubāzi.

  15. Nesaprotu kapēc nestrādā errors, kurš parādās ja lauks ir tukšs..bet nostrādā "You must enter a valid email!"..un vēl bonusā norauj lapai apakšu vispār jeb izkropļo lapu.. :(

     

    Tāpat arī errors, kurš parādās ja e-pasts jau ir reģistrēts..arī izcūko lapu. Bet kad emails ir reģistrēts sekmīgi tad prikoli neparādās tad strādā kā vajag. Kas par desām?

     

    
    <?php
    include ('mailValidation.php');
    $email = $_POST ['email'];
    $registermail = "INSERT INTO `regMails` (`email`) "."VALUES ('".$email."')";
    $checkmail = mysql_query("SELECT * FROM regMails WHERE email='$email'");
    
    $email_exist = mysql_num_rows($checkmail);
    
    if($email_exist > 0){
       $errormessage = "This email is allready registered.";
       unset($email);
       include 'regmailform.php';
       die();
    }
    if ( $_GET["op"] == "reg" )
    {
    $bInputFlag = false;
    foreach ( $_POST as $field )
     {
     if ($field == "")
      {
      $bInputFlag = false;
      }
     else
      {
      $bInputFlag = true;
      }
     }
    if ($bInputFlag == false)
     {
     $errormessage = "Cannot register empty field!";
    include ('regmailform.php');
    die();  
     }
     elseif (validate_email($email))
     {
     $errormessage = "Thanks for registering!";
     include ('regmailform.php');	
     }
     else
     {
      $errormessage = "You must enter valid e-mail!";
      include ('regmailform.php');	
    die();
    }
    $q = $registermail;
    $r = mysql_query($q);
    if ( !mysql_insert_id() )
     {
     $errormessage = "Error: User not added to database.";
    include ('regmailform.php');
    die(); 
    }
    else
     {
     header("Location: register.php?op=reg");
     }
    } 
    else
    {
    include ('regmailform.php');
    }
    ?>
    
    

  16. Bet kārtējā problēma - nestrādā f-ja (function check_email_address($email)) kas pārbauda, vai formas laukā ievadīta e-pasta adrese ir derīga, lai nebūtu kaukādi asdadasda vai kautkādas muļķības..lai būtu TIEŠI un TIKAI e-pasta adrese.

  17. Tātad lieta sekojoša, vēlējos uztaisīt ta lai ja datubāzē ir e-pasts,kuru vēlas reģistrēt lietotājs, tad izmet erroru ka šāds e-pasts ir reģistrēts. Bet kādā pakaļā te iet pa randomu - te reģistrē te nereģistrē..???

×
×
  • Create New...