Autor Zpráva
danny98
Profil
ahoj mám problém s tímto kódem po vložení dat do formuláře se sice řádky přidali, ale data z formuláře v nich nejsou.

Konfigurace php na serveru je 5.2 (v případě dotazu)

zde je kód:

 $stmt = mysqli_prepare($conn, 'INSERT INTO `stations` (`country`, `station`, `stream`, `stream2`, `web`, `genre`, `desc`) 
 VALUES (?, ?, ?, ?, ?, ?, ?)');
  mysqli_bind_param($stmt, "sssssss", $_POST['country'], $_POST['station'], $_POST['stream'], $_POST['stream2'], $_POST['web'], $_POST['genre'], $_POST['desc']);
mysqli_stmt_execute($stmt);
juriad
Profil
Odesíláš formulář POSTem?

Co vypíše toto:
var_dump($_POST);
Obsahuje to všechny hodnoty, tak jak očekáváš?
danny98
Profil
myslíš třeba takto?
var_dump($_POST['country']);

vyhodilo to null

dám sem kód z add.html

  <form method="POST" action="add.php" >
      <p>Country:</p>
      <select name="country" title="choose your country">
      (Nebudu je tady vypisovat)
</select>
      <p>Station name:</p>
      <input type="text" name="station" placeholder="put it here..." size="150">
      <p>Stream adress:</p>
      <input type="text" name="stream" placeholder="put it here..." size="150">
      <p>Stream adress: (For mobile devices)</p>
      <input type="text" name="stream2" placeholder="put it here..." size="150">
      <p>Web adress:</p>
      <input type="text" name="web" placeholder="put it here..." size="150">
      <p>Genre:</p>
        <select name="genre">
            <option selected value="">Choose one</option>

 (Nebudu je tady vypisovat)

      </select>
      <p>Description:</p>
      <input type="text" name="desc" placeholder="put it here..." size="150">
      <p>License(Must read!)</p>
      <input type="checkbox" name="license">I have read and accept the<a href="other/license.html"> License</a
      <br>
      <br>
      <br>
      <input type="submit" size="50" value="Send!!!">
juriad
Profil
Hned na prvním řádku máš: method="GET". Změň to na POST.
danny98
Profil
děkuju už to funguje


a ještě proč se mi do databáze vypisujou data 2x?
juriad
Profil
To netuším. Ve zmíněném kusu kódu chyba není. Nezapomínáš třeba na konci zpracování formuláře (add.php) přesměrovat pomocí header? Viz http://en.wikipedia.org/wiki/Post/Redirect/Get.
danny98
Profil
ten mám danej zatím v poznámce, kvůli těm chybám
mimochodec
Profil
danny98:
Dals málo informací. V uvedeném kódu je INSERT jednou. Jestli se provede víckrát, chyba je v něčem, cos neukázal.
danny98
Profil
Prosím vás teď absolutně nepochopím toto:

Chci vypsat z databáze 20 nejnovějších stanic, ale script mi nevypíše ani jednu kolonku, přitom tam jednu mám, hodně mi to hnulo z celou stránkou

Dále se chci zeptat, jak udělat mysql filtr v stations.php, mám podobnej zdroják

našel jsem článek na ROOTu a chtěl bych se zeptat, jak na tohle na mým webu? (Celosvětová rádiová databáze)

odkaz na článek http://www.root.cz/clanky/priklad-webu-ve-spojeni-php-a-mysql/

můj web tady: http://yourradio.tk/index.php
zdroj tady:
<html>
<head>
<title>Yourradio database</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link href="css/style.css" rel="stylesheet" type="text/css" media="all" />
<link href='http://fonts.googleapis.com/css?family=Julius+Sans+One' rel='stylesheet' type='text/css'>
<script type="text/javascript" src="js/modernizr.custom.53451.js"></script>
<script type="text/javascript" src="js/jquery.min.js"></script>
</head>
<body>
<div class="menu-bg">
<div class="wrap">
    <div class="menu">
        <ul class="nav">
           <li><a href="index.php">Home</a></li>
           <li><a href="artists.html">Stations</a></li>
           <li   class="active"><a href="add.html">ADD Station</a></li>
           <li><a href="contact.html">Contact</a></li>
        </ul>
    </div>
    <div class="soc-icons">
        <ul>
            <li><a href="">Get In Touch&nbsp;</a></li>
            <li><a href=""><img src="images/facebook.png" alt="" /></a></li>
            <li><a href=""><img src="images/twitter.png" alt="" /></a></li>
            <li><a href=""><img src="images/gplus.png" alt="" /></a></li>
        </ul>
    </div>
    <div class="clear"></div>
</div>
</div>
<div class="header-bg">
<div class="wrap">
<div class="header">
    <div class="logo">
        <a href="index.html"><img src="images/logo.png" alt="" title="logo"></a>
    </div>
    <div class="foot-search">
            <form>
                <input type="text" value="keyword here" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'keyword here';}">
                <input type="submit" value="Search">
              </form>
          </div>
   <div class="clear"></div>
</div>
</div>
</div>
<div class="content-bg">
<div class="wrap">
<div class="main">
<div class="content">
 <form action="index.php">
 <select name="country" title="choose your country">
(Země)
</select>

<select name="genre">
<option selected value="">Choose one</option>
(Žánry)
      </select>
 
 
<input type="submit" size="50" value="Send!!!"> 
 </form>
<?
$conn=mysql_connect($server,$user,$password);
$db=mysql_select_db($database, $conn); 

$sql = "SELECT * FROM `stations` ORDER BY id DESC LIMIT 20";

$result = mysql_query($sql, $conn);

if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
}

if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print so am exiting";
}


// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
// Note: If you put extract($row); inside the following loop, you'll
//       then create $userid, $fullname, and $userstatus
echo "<h2>20 new stations</h2>";
echo "<table><tr><td>Name</td><td>Country</td><td>Genre</td><td>Link</td></tr>";
/*$p['link'] = preg_replace("~((http://)|(www\.))([^ ]+[^,. ])~i", '<a href=\"details.php?id=%s\">%s</a>', $p["link"]);*/ 
while ($row = mysql_fetch_assoc($result)) {
echo "<tr><td>".$p['station']."</td><td>".$p['contry']."</td><td>".$p['genre']."</td></tr>";
/*<td>".$p['link']."</td>*/
}
echo "<table>";
?>            
</div>
<div class="sidebar">
<div class="sidebar-list">
    <h2>Partners:</h2>
        <ul>
            <h2>For advertisment contact admin!</h2>
        </ul>
</div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
<div class="footer-bg">
<div class="wrap">
<div class="footer">
    <div class="section group">
            <div class="grid_1_of_4 images_1_of_4">
                    <h3>Last posts</h3>
                     <ul class="f-nav">
                        <li><a href=""><img src="web/images/facebook.png" alt=""/>Facebook</a></li>
                        <li><a href=""><img src="web/images/twitter.png" alt=""/>Twitter</a></li>
                        <li><a href=""><img src="web/images/gplus.png" alt=""/>Google+</a></li>
                    </ul>
            </div>
    </div>
</div>
</div>
</div>
<div class="footer1-bg">
    <div class="wrap">
            <div class="copy">
            <p>© Yourradio 2015 All rights Reserved | Design by &nbsp;<a href="http://w3layouts.com">W3Layouts</a></p>
            </div>    
    </div>
</div>
</body>
</html>
juriad
Profil
Na 90. a 91. řádku používáš různé proměnné - $row a $p.

Kdyby ses podíval na tu HTML stránku pořádně, všimnul by sis, že tam jedna prázdná řádka skutečně je. :-)
danny98
Profil
ok:) a s tím odsazením nevíš? dokud tam nebyl ten php script tak byla stránka v pohodě
juriad
Profil
Jaké osazení? Co nefunguje?
danny98
Profil
https://yadi.sk/i/e8TGiht-ewhrX

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: