Autor Zpráva
Michales
Profil
Dobrý den dámy a pánové,
potřeboval bych poradit jak po úspěšné registraci vyhodit hlášku o úspěšné registraci a po té přesměrování na úvodní stránku.
Samozřejmě než se přesměrování vykoná mělo by to chvilku trvat aby si to stačil dotyčný přečíst.
Nyní to mám tak že po registraci to hodí hlášku a pak musí uživatel kliknout na odkaz aby se dostal zpět.
<?php
ob_start();               // cachujeme vystup
  if(isset($_POST['sent'])){      // pokud byl odeslan formular pokracuj timto
  $adr=$_SERVER["REMOTE_ADDR"];
    $jmeno=trim($_POST['jmeno']);
    $heslo1=$_POST['heslo1'];
    $heslo2=$_POST['heslo2'];
    $mail=trim($_POST['mail']);
    $email =  $_POST['mail'];
    $text = "Děkuji za registraci na webu country.funsite.cz, heslo k archívu najdete u každého interpreta a je modře označené. Níže Vám zasílám Vaše přihlašovací údaje. " . $_POST[''] . "\rPřihlašovací jméno: " . $_POST['jmeno'] . "\rHeslo: " . $_POST['heslo1'];
    $bl=$_SERVER['HTTP_REFERER'];
    if($jmeno=="" or $heslo1=="" or $mail==""){ // pokud nebylo vyplněno něco z toho, co je povinné, dáme vědět a skript ukončíme
      echo "Nebyly vyplněny všechny povinné údaje!";
    }else{              // povinné udaje vyplněny vsechny
      require "settings_2.php";     // pripojime se k databazi
      $PocetStejnych=mysql_result(mysql_query("SELECT COUNT(*) FROM `uzivatele` WHERE `jmeno`='$jmeno' OR `mail`='$mail'"), 0);
      if($PocetStejnych!=0){    // pokud v db je jiz takove jmeno nebo heslo...
        echo "Zadané jméno nebo email je již používán někým jiným!!!";
      }elseif($heslo1 != $heslo2){    // pokud se hesla nerovnají
        echo "Zadané hesla se neshodují!!!";
      }else{            // hesla se shoduji, vlozime tedy data do databaze
        $heslo=md5($heslo1);  // zahashujeme heslo
        if($web=="http://" or $web==""){ //pokud nezadal web tak dame promennou web prazdnou
          $web="";
        }
        $VlozData=mysql_query(" INSERT INTO uzivatele (`jmeno`,`heslo`,`mail`)
                      VALUES
                    ('$jmeno', '$heslo', '$mail')  ") or die (mysql_error());

               if (mail ($email, 'Potvrzení registrace na country.funsite.cz', $text)) 
        // Jako posledni hodnota je "0", to jsou ty prava uzivatele.
        if($VlozData){
          echo "Registrace proběhla v pořádku, na Váš email byli odeslány informace o registraci. Klikněte pro pokračování na odkaz $bl";
        }
      }

    }
  }else{
    echo "Nebyl odeslán formulář";
  }
// pokud pouzijete HEADER LOCATION tak by pred nim nemelo byt zadne platne ECHO
echo "<a href='index.php'>index</a>";
// samozrejme zde muze byt presmerovani na jinou stranku pomoci
// header ("Location: index.php");
ob_end_flush();
?>
han5vk
Profil
Dalo by sa použiť sleep(); pre počkanie php skriptu po zadaný počet sekúnd, prípadne keď generuješ celú novú stránku tak napr. metatag refresh.

Osobne to na webe budem riešiť tak, že najprv presmerujem na hlavnú stránku (napr. s nejakým príznakom v url ako "/registraciaOK") a na nej vypíšem hlášku.

// Taps ponúkol lepšie riešenie, ktoré implementujem asi aj ja ;)
Taps
Profil
Michales:
potřeboval bych poradit jak po úspěšné registraci vyhodit hlášku o úspěšné registraci a po té přesměrování na úvodní stránku
můžeš zvolit opačný postup viz http://php.vrana.cz/informovani-uzivatele-o-vysledku-operace.php
Michales
Profil
Zatím děkuji,
pokusím se to pořešit.

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: