Autor Zpráva
opsidiam
Profil
Dobrý den mam problem, mám php script na generovanie náhodnych pismen a cisle, vygeneruje mi to nejaky 20 miestny kod a zapise ho na jeden riadok v txt subore a zobrazy ho na stranke, tieto scripty by mali sluzit na generovanie VIP kodov a môj problem je : (kod ktory poslem uzivatelovy bude napr " +w>k4(l9ql17mw-*ewue " a uzivatel tento kod napise do formulara a nech ten isty kod zmaze z toho txt dokumentu) ako to mam pls spravit?
Ospravedlnujem sa za gramatiku ale som dis*
xROAL
Profil
Ak máš možnosť použitia databáze, tak rozhodne použi databázu. Práca s ňou je (v takýchto veciach) omnoho pohodlnejšia a rozumnejšia ako so súbormi.

K tvojmu problému, dalo by sa to riešiť napríklad takto:
$kod = "+w>k4(l9ql17mw-*ewue";
$obsah = file_get_contents("cesta_k_suboru"); // načíta obsah súboru do premennej
$obsah = str_replace($kod, "", $obsah); // nahradí daný kód za nič (prázdny string)
file_put_contents("cesta_k_suboru", $obsah); // zapíše zmenený obsah naspäť do súboru
opsidiam
Profil
Velmy ty dakujem, a este ze ako by sa dalo spravyt ze by uzivatelovy vypisalo ci je kod platný alebo nieje
xROAL
Profil
Predpokladám, že kód je platný, ak sa v súbore nachádza. V takom prípade použiješ strpos() pre zistenie, či sa kód v súbore nachádza.

$kod = "+w>k4(l9ql17mw-*ewue";
$obsah = file_get_contents("cesta_k_suboru");
if(strpos($obsah, $kod) !== false){
  // kód je v súbore - je platný
}else{
  // kód nie je v súbore - je neplatný
}
opsidiam
Profil
Prosim ta xROAL ako to mam inkludovat do toho kódu?
skusal som to takto
$kod2 = "<font color='#999999''><li> --- ( </b><font color='#00CC00'>".$_POST['vip']."</font><b> )</li></font>";
$obsah = file_get_contents("news.txt");

if(strpos($obsah, $kod) !== true){
echo"<div class='nadpis'><h2>Aktivacia VIP</h2></div><div class='obsah'><div class='text'><h1><font color='#00CC00'><b>Vip Bolo uspesne aktivované.</b></font></h1></div></div><div class='obsah-footer'></div>";
}
if(strpos($obsah, $kod) !== false){
echo"<div class='nadpis'><h2>Aktivacia VIP</h2></div><div class='obsah'><div class='text'><h1><font color='#FF0000'><b>Vip Nebolo aktivované. Kód bol pouzitý alebo si zle zadal kód.</b></font></h1></div></div><div class='obsah-footer'></div>";
}
$obsah = str_replace($kod2, "", $obsah);
file_put_contents("news.txt", $obsah);

ale stale mi to ukazovalo aktivovane aj ked kod neexistoval a potom som to skusil takto

$kod2 = "<font color='#999999''><li> --- ( </b><font color='#00CC00'>".$_POST['vip']."</font><b> )</li></font>";
$obsah = file_get_contents("news.txt");

if(strpos($obsah, $kod) !== false){
echo"<div class='nadpis'><h2>Aktivacia VIP</h2></div><div class='obsah'><div class='text'><h1><font color='#00CC00'><b>Vip Bolo uspesne aktivované.</b></font></h1></div></div><div class='obsah-footer'></div>";
}else{
echo"<div class='nadpis'><h2>Aktivacia VIP</h2></div><div class='obsah'><div class='text'><h1><font color='#FF0000'><b>Vip Nebolo aktivované. Kód bol pouzitý alebo si zle zadal kód.</b></font></h1></div></div><div class='obsah-footer'></div>";
}
$obsah = str_replace($kod2, "", $obsah);
file_put_contents("news.txt", $obsah);

a aj takto

$kod2 = "<font color='#999999''><li> --- ( </b><font color='#00CC00'>".$_POST['vip']."</font><b> )</li></font>";
$obsah = file_get_contents("news.txt");
$obsah = str_replace($kod2, "", $obsah);
file_put_contents("news.txt", $obsah);
if(strpos($obsah, $kod) !== false){
echo"<div class='nadpis'><h2>Aktivacia VIP</h2></div><div class='obsah'><div class='text'><h1><font color='#00CC00'><b>Vip Bolo uspesne aktivované.</b></font></h1></div></div><div class='obsah-footer'></div>";
}else{
echo"<div class='nadpis'><h2>Aktivacia VIP</h2></div><div class='obsah'><div class='text'><h1><font color='#FF0000'><b>Vip Nebolo aktivované. Kód bol pouzitý alebo si zle zadal kód.</b></font></h1></div></div><div class='obsah-footer'></div>";
}
xROAL
Profil
$kod2 = "<font color='#999999''><li> --- ( </b><font color='#00CC00'>".$_POST['vip']."</font><b> )</li></font>";
Presne v tomto tvare (teda aj s HTML tagmi) máš kódy zapísané aj v súbore?

if(strpos($obsah, $kod) !== true){
strpos() vráti číslo - pozíciu, na ktorej sa v reťazci nachádza hľadaný reťazec, alebo vráti false ak sa tam reťazec nenachádza.
Navyše funkcii ako parameter predávaš premennú $kod, ale kód skutočne ukladáš do premennej $kod2.

Skús to takto:
$kod2 = $_POST['vip'];
$obsah = file_get_contents("news.txt");
if(strpos($obsah, $kod2) !== false){
  // VIP bolo aktivované
  $novy_obsah = str_replace($kod2, "", $obsah);
  file_put_contents("news.txt", $novy_obsah);
}else{
  // kód bol zadaný nesprávne, alebo je už neplatný
}
opsidiam
Profil
supeeeeer funguje to velmy pekne vám dakujem
opsidiam
Profil
este mam problem, tak, mam server na crew a tam mam FTP v ktorom je napr. subor op.txt a tam chcem napisat nieco (to uz budem vediet) ale, neviem ako sa napoit na ten server aby som mohol prepisovat data alebo aspon aby mi tam ukazalo nejake subory
IP servera na ktoru sa pripajam mc.e-crafting.eu:25585 IP na FTP 176.9.99.234:21 ako sa tam mam pripojit ked neviem ako sa dostanem do tej zlosky v ktorej sa nachadzam ked sa pripojim na FTP?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: