Autor Zpráva
jirikovovideni
Profil
Zdravím všechny vytvářím formulář pro wordpress a jde mi o toto:mám soubor vlozit.php
  <?php
       include "./wp-config.php";
       wp_get_current_user();
        $current_user = wp_get_current_user(); 
      if(isset($_POST['send']))
{
         $jmeno = htmlspecialchars($_POST['jmeno']); 
        $vaha = htmlspecialchars($_POST['vaha']); 
          } 
else{
        $vloz ="insert into uzivatele set user_login=' . $current_user->user_login . ',jmeno='".$jmeno."',vaha='".$vaha."';";
        $result=mysql_query($vloz);
               echo '<script type="text/javascript" for="window" event="onLoad()">
        <!--window.location.href="profil?edit=ok"  // --> </script>';    
}
 }            
    {
      echo  '<form  method="post"> ' ; 
     echo  '<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=1>'; 
    echo '<TR><TH style="border-style: none;align="left" ">Jméno</TH></TR>';  
echo '<TR><TD style="border-style: none; align="left""><input type="text" name="jmeno"  size="45"></TD></TR>';
 echo '<TR><TH style="border-style: none;align="left" ">Váha</TH></TR>';  
echo '<TR><TD style="border-style: none; align="left""><input type="text" name="vaha"  size="45"></TD></TR>';              
 echo ' <tr><TD style="border-style: none; align="right""><input type="submit" value="Odeslat" name="send"></td> </tr>  ';   
                   echo '</TABLE>'; 
              echo  '</form> ' ; 
               }
mysql_close(); 
?>

a pak soubor vypis.php
 <?php
       wp_get_current_user();
    
    $current_user = wp_get_current_user();              

$vypis =  mysql_query("SELECT * FROM uzivatele WHERE user_login=' . $current_user->user_login . '"); 
     
      while($row = mysql_fetch_array($vypis))
                {
                   echo "jmeno:".$row["jmeno"]."";
   echo "váha:".$row["vaha"]."";
        }
mysql_close(); 
Chtěl bych je spojit do profil.php a vytvořit podmínku,že pokud uživatel data ješte nevložil objeví se mu formulář z vlozit.php a po vložení se už bude ukazovat jen vypis.php.Vím,že by se měli použít podmínky if apod.,ale nejsem z toho moc chytrý,tak prosím o radu polopaticky.díky
peta
Profil
radek 5, prvni script: if(isset($_POST['send'])) ?
Mimochodem, co je zdrojem udaju? Tam ta podminka je, ze kdyz byl formular odeslan, tak napln $vaha a $jmeno. A kdyz nebyl odeslan, tak vloz data do databaze. Coz je asi chyba, ze jo (radek 9,10 jsou tam spatne, tam ma byt podminka na to, jestli vaha a jmeno jsou prazdne)? Protoze v $vaha nic neni, pokud se to neposlalo. Ledaze by data ziskal z jineho zdroje, mozna session.
jirikovovideni
Profil
zdroj dat?přece databáze,které do ní uživatel vložil přes vlozit.php a soubor vypis.php mi vypisuje udaje podle loginu,ktery uživatelé zadali,při registraci.Trochu v tvé odpovědi tápu,jak teda vypadá podmínka jestli vaha a jmeno je prazdné a v čem mi to pomůže při zobrazovaní těch jednotlivých stránek,jsem amatér,tak se omlouvám.
peta
Profil
"Trochu v tvé odpovědi tápu"
Spis mas bordel v kodu :) Sleduj pozorne

      if(isset($_POST['send']))
{
         $jmeno = htmlspecialchars($_POST['jmeno']); 
        $vaha = htmlspecialchars($_POST['vaha']); 
          } 
else{
        $vloz ="insert into uzivatele set user_login=' . $current_user->user_login . ',jmeno='".$jmeno."',vaha='".$vaha."';";
...

//zkratim to
if (podm) {$vaha=123, $jmeno=123;}
else {$dotaz = $vaha.$jmeno; ...}
Pred if je v $vaha a $jmeno co? Nic.
Spusti se if. Pokud je podminka true, tak je $vaha a $jmeno nejaka hodnota z $_POST, ok. Pokud je false, pak je v $vaha, $jmeno stale nic a toto nic se pouzije pro $dotaz. schvalne si dej pod radek 11 (tvuj prvni kod):
echo $vloz;
Navic, nepouzivas mysql_real_escape_string, jako ochranu vuci nezadoucimu kodu do sql dotazu.

---
"pokud uživatel data ješte nevložil"
if(isset($_POST['send']))
je php kod, ktery zjistuje, zda byl odeslan html input s name 'send'
<input type="submit" value="Odeslat" name="send">

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: