NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
IT rekvalifikace s podporou uplatnění. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!

Diskuze: Nefaká else,proč?

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Jakub Mudra
Tvůrce
Avatar
Jakub Mudra:6.5.2012 23:20

Ahoj všichni!
Mám problém.
Zkusil jsem si zpatlat php kod který funguje tak,že když se pošle sms zapíše se její id do databáze a jakmile tma bude např. 30 sms tak to pošle jinou sms s textem například. Vyhrál ste $vyhra a kod do eshopu je $kuponid.
Prosím jak?
Zde přikládám zrojový kod(mysql je zatečkovaná(radši))

<?php
 $link=mysql_connect(****, ****, ****);
  mysql_select_db(*****);
  mysql_query("'");

   mysql_query ("insert into uzivatele (id) values ('".$id."');", $link);
      $lastid=mysql_insert_id();
      if_id(2);

        $log_file = FOpen('log.txt', 'a');  // Otevirate soubor

        FPutS($log_file, Date("Y-m-d H:i:s") . " " . $_GET['text'] . " " . $_GET['price'] . " " . $lastid . " " . $_GET['debug'] . "\n"); // Zapisujete text z prichozi SMS zpravy

        FClose($log_file);  // Uzavirate soubor

  $kupon_file = FOpen("kupon.txt");

  readfile("kupon.txt");
  FPutS($kupon_file, "Jiz pouzito!");
  FClose($kupon_file) ;

        echo "Gratuluji!vyhrál jste $vyhra ,pokud si chcete výhtu vyzvednout na našem e-shopu (eshop.jmesystems.cz)v políčku hledat zadejte $vyhra a klikněte na Hledat!.Potom,co najdete svůj produkt otevřete jej a klikněte na zadat číslo kuponu a zadejte tam $kuponid"
  else {
  echo "Prohrál jste,byl jste $lastid .Děkujeme za snahu.";
  }
?>
Odpovědět
6.5.2012 23:20
Uvnitř jsou všichni stejní...
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Jakub Mudra
Kit:7.5.2012 0:28

Else nefunguje, protože k němu není žádné if.

BTW: Nemáš definovánu hodnotu $id, místo trojice funkcí s $log_file můžeš použít jednu funkci file_put_conten­ts(). Místo $kupon_file použij databázi.

Nahoru Odpovědět
7.5.2012 0:28
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jakub Mudra
Tvůrce
Avatar
Odpovídá na Kit
Jakub Mudra:7.5.2012 8:26

aha,a if můžu použít u promněných?
Mám to udělané tak,že každá sms se zapíše do databáze,a když je promněná $lastid rovna 2,tak ze odešle jiná sms s $kuponid a $vyhra.
Můžupoužít to if takto:

 if $lastid (2)
//php........
else {
echo "text"
}

M"že to takto být?

Nahoru Odpovědět
7.5.2012 8:26
Uvnitř jsou všichni stejní...
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Jakub Mudra
David Hartinger:7.5.2012 8:56

Chtělo by to alespoň elementární znalosti jazyka, pokud chceš tento skript upravovat. Podmínka v if musí být v závorce a moc mi nedává smysl parametr u lastid, když tam je, pokud vím, integerová hodnota. Podívej se na sekci s PHP tutoriály, je tam vysvětleno vše, co potřebuješ.

Nahoru Odpovědět
7.5.2012 8:56
New kid back on the block with a R.I.P
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 4 zpráv z 4.