Autor Zpráva
začátečník
Profil *
Dobrý den,
poradil by mi někdo proč uvedený script mi nic nezapisuje do db?

<?php
 session_start();
ob_start();               // cachujeme vystup
  if(isset($_POST['sent'])){      // pokud byl odeslan formular pokracuj timto
    $name=$_POST['name'];
    $adr=$_SERVER["REMOTE_ADDR"];
    $datum=date("Y-m-d");
    $artist=$_POST['artist'];
    $cover=$_POST['cover'];
    $website=$_POST['website'];
    $year=$_POST['year'];
    $region=$_POST['region'];
    $pas=$_POST['pas'];
    $nick=$user->jmeno ;  
    if($name=="" or $artist=="" or $cover=="" or $website=="" or $year=="" or $region=="" or $pas=""){ // pokud nebylo vyplněno něco z toho, co je povinné, dáme vědět a skript ukončíme
      echo "Nebylo povinně vyplněno vše!!<br /><br />";
    }else{              // povinné udaje vyplněny vsechny
      require "./settings.php";    // pripojime se k databazi
        $VlozData=mysql_query("INSERT INTO `user_post`(`name`, `adr`, `datum`, `artist`, `cover`, `website`, `year`, `region`, `pas`, `nick`) VALUES ($name,$adr,$datum,$artist,$cover,$website,$year,$region,$pas,$nick)") or die (mysql_error());
        // Vlozim do tabulky hodnoty - prvni je ID - nevyplnim, tvori se samo.
        // Jako posledni hodnota je "0", to jsou ty prava uzivatele.
             
        $backlink="user_post.php";
         // presmerovani s hlaskou ze je vse OK
      }
      
    }else{
    $backlink='user_files.php';
  }
// 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: $backlink");

ob_end_flush();
?>
Při odeslání mě to přesměruje zpět na user_files.php

Děkuji za radu, jsem začátečník a nedokáži si s tím sám poradit.
Tori
Profil
Do databáze vkládáte řetězce, takže je musíte zapsat do uvozovek: $sql = "INSERT ... VALUES ('$name', '$adr', '$datum', ...";
začátečník
Profil *
Ani po této opravě se do db nic nezapsalo.
Přikládám pro jisotu ještě formulář:
                                  <form class="f" action="add_user_post.php" method="post"> 
 
        <fieldset id="user-details">            
 
        <label>Alb name / Název alba:</label>
        <input class="f" type="text" name="name" value="" /> 
 
        <label>Artist / Interpret:</label> 
        <input class="f" type="text" name="artist" value=""  /> 
 
        <label>Cover / Obal:</label> 
        <input class="f" type="url" name="cover" value="http://"  onfocus="if(this.value==this.defaultValue){this.value=''}"
 onblur="if(this.value==''){this.value=this.defaultValue}"  /> 
 
        <label>Link / Odkaz na stažení:</label> 
        <input class="f" type="url" name="website" value="http://"  onfocus="if(this.value==this.defaultValue){this.value=''}"
 onblur="if(this.value==''){this.value=this.defaultValue}"  /> 
      </fieldset> <!--end user-details-->
      
      <fieldset id="year">
      <label>Year:</label> 
      <select class="f" id="year" name="year"> 
<option value='0'>...</option>
 <option value='2005'>2005</option>
 <option value='2004'>2004</option>
 <option value='2003'>2003</option>
 <option value='2002'>2002</option>
 <option value='2001'>2001</option>

                                    </select>
                                    <br class="cleared">
                                
      <label>České, Slovenské / Czech, Slovak:</label> 
        <input class="f" type="radio" name="region" value="czech"> 
 
        <label>Zahraniční / Foreign: </label> 
        <input class="f" type="radio" name="region" value="foreign"> 
        
      <label>Password / Heslo:</label> 
        <input class="f" type="text" name="pas" value=""  />                              
              
        </fieldset> <!--end year-->
         
        <fieldset id="user-message">
 
        <label>Tracklist:</label> 
        <textarea name="tracklist" rows="0" cols="0"> </textarea>
 
        <input class="f" type="submit" name="send" value="Odeslat / Send" class="submit" />
 
        </fieldset> <!-- end user-message -->
 
</form>
weroro
Profil
začátečník:
Riadok 4 if(isset($_POST['sent'])){ je potrebné zmeniť na if(isset($_POST['send'])){
začátečník
Profil *
Děkuji, chybička se vloudila :D
lionel messi
Profil
začátečník:
Ešte doplním: vkladať do db surové neescapované dáta je nebezpečné, treba použiť radšej:
$name=mysql_real_escape_string($_POST['name']);
    $adr=$_SERVER["REMOTE_ADDR"];
    $datum=date("Y-m-d");
    $artist=mysql_real_escape_string($_POST['artist']);
    $cover=mysql_real_escape_string($_POST['cover']);
    $website=mysql_real_escape_string($_POST['website']);
    $year=mysql_real_escape_string($_POST['year']);
    $region=mysql_real_escape_string($_POST['region']);
    $pas=mysql_real_escape_string($_POST['pas']);

viď: Obrana proti SQL Injection. Vždy treba očakávať neočakávané.
začátečník
Profil *
lionel messi:
Ano děkuji, doopravím to

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:

0