Vykonávanie príkazu, podmienky...

Programovacie jazyky, rady, poradňa...
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Vykonávanie príkazu, podmienky...

Príspevok od používateľa buchticka221 »

Všetko funguje jak má lenže keď zadám neplatný nick tak mi to nevipíše

Kód: Vybrať všetko

echo "nick $_POST[cmd] neexistuje, alebo nemáte na účte $_POST[cmd2] kreditov";
Vypíše mi to keď zadám nick ktorý existuje ale zadám menšie číslo ako to ktoré sa nachádza v body.txt ako mám spraviť nech mi to vypisuje aj keď zadám nick ktorý neexistuje ?

Kód: Vybrať všetko

         if (isset($_POST['cmd']) && !empty($_POST['cmd']) && !empty($_POST['cmd2'])){

        $filename = "$_POST[cmd]";
         if (file_exists($filename)) {
     
        $int = file_get_contents("body.txt");
        $file = fopen("body.txt", "w");
         $pocet="$_POST[cmd2]";
         if($int>$pocet){

        $krdt = file_get_contents("$_POST[cmd]/body.txt");
         $krdt2 = fopen("$_POST[cmd]/body.txt", 'w');
          $pocet2="$_POST[cmd2]";
           fwrite($krdt2, ($krdt += $pocet2));
            fclose($krdt2);
             echo "Úspešne som pripísal na účet $_POST[cmd] , $_POST[cmd2] kreditov";
               fwrite($file, ($int -= $pocet2));
                fclose($file);

       } else {

         echo "nick $_POST[cmd] neexistuje, alebo nemáte na účte $_POST[cmd2] kreditov";
          fwrite($file, $int);
           fclose($file);
}}}
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Vykonávanie príkazu, podmienky...

Príspevok od používateľa audiotrack »

dáš ten výpis chyby aj pred poslednú zátvorku }
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Re: Vykonávanie príkazu, podmienky...

Príspevok od používateľa buchticka221 »

mi vypisuje tak

Kód: Vybrať všetko

Warning: fwrite(): 4 is not a valid stream resource in C:\xampp\htdocs\index.php on line 36
Warning: fclose(): 4 is not a valid stream resource in C:\xampp\htdocs\index.php on line 37
a po zadaní len nicku mi to nic nevypisuje...
ps. a ked tam dam len echo nick neexistuje...
tak po zadani nicku ktory existuje ale cislo je mensie ako v body.txt tak mi to vypise 2x tú chybu (echo nick neexistuje...)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Vykonávanie príkazu, podmienky...

Príspevok od používateľa audiotrack »

no to bude asi tým, že keď napíšem "výpis chyby" tak ty prečítaš "výpis chyby plus ďalšie dva riadky"
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Re: Vykonávanie príkazu, podmienky...

Príspevok od používateľa buchticka221 »

audiotrack napísal:no to bude asi tým, že keď napíšem "výpis chyby" tak ty prečítaš "výpis chyby plus ďalšie dva riadky"
a po zadaní len nicku mi to nic nevypisuje...
ps. a ked tam dam len echo nick neexistuje...
tak po zadani nicku ktory existuje ale cislo je mensie ako v body.txt tak mi to vypise 2x to echo nick neexistuje...)
Everhard
Light Expert
Light Expert
Príspevky: 79
Registrovaný: 25 dec 2010, 14:41

Re: Vykonávanie príkazu, podmienky...

Príspevok od používateľa Everhard »

"Všetko funguje jak má"... Popis co ma tvoj kod robit, inak ti tazko niekto pomoze. Aspon ja tomu nerozumiem. Co su tie vstupy cmd, cmd2. Co je ulozene v subote body.txt. Co ten tvoj kod ma robit? A aky je problem s tym kodom?
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Re: Vykonávanie príkazu, podmienky...

Príspevok od používateľa buchticka221 »

Kód: Vybrať všetko

         if (isset($_POST['cmd']) && !empty($_POST['cmd']) && !empty($_POST['cmd2'])){

        $filename = "$_POST[cmd]";
         if (file_exists($filename)) {
     
        $int = file_get_contents("body.txt");
        $file = fopen("body.txt", "w");
         $pocet="$_POST[cmd2]";
         if($int>$pocet){

        $krdt = file_get_contents("$_POST[cmd]/body.txt");
         $krdt2 = fopen("$_POST[cmd]/body.txt", 'w');
          $pocet2="$_POST[cmd2]";
           fwrite($krdt2, ($krdt += $pocet2));
            fclose($krdt2);
             echo "Úspešne som pripísal na účet $_POST[cmd] , $_POST[cmd2] kreditov";
               fwrite($file, ($int -= $pocet2));
                fclose($file);

       } else {

         echo "nick $_POST[cmd] neexistuje, alebo nemáte na účte $_POST[cmd2] kreditov";
          fwrite($file, $int);
           fclose($file);
}}}
form

Kód: Vybrať všetko

        echo '<form action="" method="post">
         <b>Zlozka:<br>&nbsp;&nbsp;</b>
          <input name="cmd">
           <b>Počet:<br>&nbsp;&nbsp;</b>
            <input name="cmd2">
             <input type="submit" value="Pridať">
              </form>';
cmd=zlozka
cmd2=pocet kr. (číslo)
v body.txt sa nachádzaju čísla...
body.txt sa nachádzajú 2x 1 je v zlozke trebars xx a 2 je v inej zlozke xxx
body.txt v zlozke xx sa presúvajú do zlozky xxx ktorú ale musím zadať do formuláru... zadám počet bodov... ale pokial v zlozke xx v body.txt nie je také číslo ktoré chcem poslať tak sa príkaz nevykoná

Kód: Vybrať všetko

  echo "nick $_POST[cmd] neexistuje, alebo nemáte na účte $_POST[cmd2] kreditov";
a keď zadám zlozku ktorá neexistuje tak chcem aby mi to vypísalo tiež to hore uvedené echo...
Everhard
Light Expert
Light Expert
Príspevky: 79
Registrovaný: 25 dec 2010, 14:41

Re: Vykonávanie príkazu, podmienky...

Príspevok od používateľa Everhard »

Tvoj kod som trochu upravil aby som sa v nom vyznal... Cize je to tak, ako audiotrack povedal. Na urovni if (file_exists($filename)) pridas ELSE. Logicky, ked sa pytas ci subor existuje (if (file_exists($filename))), a ELSE, teda ked neexistuje subor.

Vid tvoj upraveny kod (znacka TOTO SOM PRIDAL):

Kód: Vybrať všetko

<?php


if ( isset($_POST['cmd']) && !empty($_POST['cmd']) && !empty($_POST['cmd2']) )
{
  $filename = $_POST['cmd'];
  if (file_exists($filename))
  {
    $int = file_get_contents("body.txt");
    $file = fopen("body.txt", "w");
    $pocet = $_POST['cmd2'];
    if($int > $pocet)
    {
      $krdt = file_get_contents($_POST['cmd']."/body.txt");
      $krdt2 = fopen($_POST['cmd']."/body.txt", 'w');
      $pocet2 = $_POST['cmd2'];
      fwrite($krdt2, ($krdt += $pocet2));
      fclose($krdt2);
      echo "Úspešne som pripísal na účet ".$_POST['cmd'].", ".$_POST['cmd2']." kreditov";
      fwrite($file, ($int -= $pocet2));
      fclose($file);
    }
    else
    {
      echo "nick ".$_POST['cmd']." neexistuje, alebo nemáte na účte ".$_POST['cmd2']." kreditov";
      fwrite($file, $int);
      fclose($file);
    }
  }
  else // TOTO SOM PRIDAL - ZACIATOK
  {
    echo "nick ".$_POST['cmd']." neexistuje, alebo nemáte na účte ".$_POST['cmd2']." kreditov";
  }  // TOTO SOM PRIDAL - KONIEC
}


?>
buchticka221
Medium Expert
Medium Expert
Príspevky: 120
Registrovaný: 09 jan 2013, 13:14
Bydlisko: Galanta

Re: Vykonávanie príkazu, podmienky...

Príspevok od používateľa buchticka221 »

mensia otazka

Kód: Vybrať všetko

   if($int > $pocet)
ako spravit aby > vacsie ako int ale aj = ako int... ?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Vykonávanie príkazu, podmienky...

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

if($int >= $pocet)
kto by to bol povedal, že? :roll:

a ak chceš väčšie ako int (a nie menšie) tak jednoducho dáš opačné znamienko. Viem že je to samozrejme, ale po takejto otázky človek nikdy nevie
Napísať odpoveď