Autor | Zpráva | ||
---|---|---|---|
danny98 Profil |
ahoj, mám tu problém, jak vložit odkaz do mysql jako <a href> ? a pak ho vypsat? Dělám mp3 databázi.
Tady jsou kódy: Upload (process.php) <?php $server="*******"; $user="*******"; $password="*******"; $database="*******" $link=mysql_connect($server,$user,$password); if (!$link) { die('Could not connect: ' . mysql_error()); } $db_selected = mysql_select_db($database, $link); if (!$db_selected) { die('Can\'t use ' . $database . ': ' . mysql_error()); } $value = $_POST['autor']; $value2 = $_POST['song']; $value3 = $_POST['dlink']; $value4 = $_POST['plink']; $sql = "INSERT INTO songs (autor, song, dlink, plink ('$value', '$value2', $value3, $value4)";",$link ); mysql_close(); ?> Kde dlink je odkaz ke stažení a plink je odkaz na přehrávač. A tady je index.php <?php $server="*******"; $user="*******"; $password="*******"; mysql_connect ($server,$user,$password); mysql_select_db("***********"); $select=mysql_query("SELECT * FROM songs ORDER BY id DESC LIMIT 50"); ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Musicstore Website Template | Home :: W3layouts</title> <link href="css/style.css" rel="stylesheet" type="text/css" media="all" /> <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'> <link rel="stylesheet" href="web/css/responsiveslides.css"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script src="js/responsiveslides.min.js"></script> <script> // You can also use "$(window).load(function() {" $(function () { // Slideshow 1 $("#slider1").responsiveSlides({ maxwidth: 1600, speed: 600 }); }); </script> </head> <body> <!---start-wrap---> <div class="wrap"> <!---start-header---> <div class="header"> <!---start-top-header---> <div class="top-header"> <div class="top-header-left"> <ul> <li><p>Language:</p> <li class="active"><a href="#">English</a></li> <li><a href="#">Czech</a></li> <li><a href="#">Russian</a></li> <li><a href="#">German</a></li> </ul> </div> <div class="top-header-right"> <ul> </ul> </div> <div class="clear"> </div> </div> <div class="clear"> </div> <div class="sub-header"> <div class="logo"> <a href="index.html"><img src="images/logo.png" title="logo" /></a> </div> <div class="sub-header-center"> <form> <input type="text"><input type="submit" value="search" /> </form> </div> <div class="sub-header-right"> <ul> </ul> </div> <div class="clear"> </div> </div> <div class="clear"> </div> <div class="top-nav"> <ul> <li class="active1"><a href="index.html">Home</a></li> <li><a href="artists.html">Artists</a></li> <li><a href="songs.html">Songs</a></li> <li><a href="add.html">ADD MP3</a></li> <div class="clear"> </div> </ul> </div> <!---end-top-header---> <!---End-header---> </div> <!--start-image-slider----> <!--End-image-slider----> <div class="content"> <div class="products-box"> <div class="products"> <h5><span>New </span> Songs</h5> <?php $p = mysql_fetch_array($select); echo "<table><tr><td>Song</td><td>Author</td><td>Download</td><td>Play</td></tr><tr><td>".$p['song']."</td><td>".$p['autor']."</td><td>".$p['dlink']."</td><td>".$p['plink']."</td></tr></table>"; ?> </div> </div> </div> </div> <div class="clear"> </div> <div class="footer"> <div class="wrap"> <div class="section group"> <div class="col_1_of_4 span_1_of_4 footer-lastgrid"> <h3>Get in touch</h3> <ul> <li><a href="#"><img src="images/facebook.png" title="facebook" /></a></li> <li><a href="#"><img src="images/twitter.png" title="Twiiter" /></a></li> <li><a href="#"><img src="images/rss.png" title="Rss" /></a></li> <li><a href="#"><img src="images/gpluse.png" title="Google+" /></a></li> </ul> <p>Design by <a href="#">W3layouts</a></p> </div> </div> </div> </div> <!---End-wrap---> </body> </html> jak to prosím vypsat s tagy <a href> a <audio src> ?
|
||
lionel messi Profil |
1. Vkladať do db hodnoty bez ošetrenia je riskantné, hodilo by sa escapovanie v štýle:
$value = mysql_real_escape_string($_POST['autor']); Hoci to priamo nesúvisí s tvojim problémom, musel som na to upozorniť. 2. Volať funkciu mysql_close je zvyčajne zbytočné (nepodstatný detail). 3. Predpokladám, že linky chceš vypisovať v hodnotách vlink a plink, osobne by som to riešil až v súbore index.php: <?php $p = mysql_fetch_array($select); $p['dlink'] = preg_replace("~((http://)|(www\.))([^ ]+[^,. ])~i", '<a href="http://$3$4">$2$3$4</a>', $p["dlink"]); $p['plink'] = preg_replace("~((http://)|(www\.))([^ ]+[^,. ])~i", '<a href="http://$3$4">$2$3$4</a>', $p["plink"]); echo "<table><tr><td>Song</td><td>Author</td><td>Download</td><td>Play</td></tr><tr><td>".$p['song']."</td><td>".$p['autor']."</td><td>".$p['dlink']."</td><td>".$p['plink']."</td></tr></table>"; ?> Regulár nie je testovaný, ale prevzatý z www.regularnivyrazy.info/prevedeni-url-na-odkaz.html#.VHm2vhafVyU, keby niečo nefungovalo, kľudne sa ozvi. Edit: som si nevšimol v súbore process.php máš syntaktickú chybu v SQL dotaze na r. 24, správne to má byť takto (a navyše si nikde nevolal mysql_query): $sql = "INSERT INTO songs (autor, song, dlink, plink) VALUES('$value', '$value2', $value3, $value4)"); mysql_query($sql); Ešte som trochu nepochopil, kde chceš dať <audio src> .
|
||
danny98 Profil |
#3 · Zasláno: 29. 11. 2014, 13:41:03 · Upravil/a: danny98
Zkusím to :)
teď to hlásí toto: Parse error: syntax error, unexpected T_VARIABLE in /home/u393988049/public_html/process.php on line 6 řádek 6: $link = mysql_connect("mysql.hostinger.cz", "******", "********") |
||
lionel messi Profil |
|||
danny98 Profil |
#5 · Zasláno: 29. 11. 2014, 22:47:37
Mám tu prosím ještě problém, když z formuláře odešlu data, tak se žádná chyba nezobrazí, ale když jdu do phpmyadmin, tak se sice řádky přidali, ale v kolonkách nic není. tady jsou kódy:
Form z add.html: <form name="myform" action="process.php" method="POST"> <div> <span> <label>Autor:</label> </span> <span> <input type="text" name="autor"> </span> </div> <div> <span> <label>Song:</label> </span> <span> <input type="text" name="song"> </span> </div> <div> <span> <label>Download link:</label> </span> <span> <input type="text" name="dlink"> </span> </div> <div> <span> <label>Play link:</label> </span> <span> <input type="text" name="plink"> </span> </div> <span> <input type="submit" value="Submit"> </span> </div> </form> Process.php: <?php $server="********"; $user="*******"; $password="*****"; $database="********"; // Připojení $conn = mysqli_connect($server, $user, $password, $database); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql =mysqli_query('INSERT INTO songs (autor, song, dlink, plink) VALUES (?, ?, ?, ?) ', $_POST['song'], $_POST['autor'], $_POST['dlink'], $_POST['plink'], ); echo('<p>Your MP3 was added </p>'); } header("HTTP/1.1 301 Moved Permanently"); header("Location: *******"); header("Connection: close"); } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } ?> |
||
lionel messi Profil |
danny98:
„Mám tu prosím ještě problém, když z formuláře odešlu data, tak se žádná chyba nezobrazí, ale když jdu do phpmyadmin, tak se sice řádky přidali, ale v kolonkách nic není.“ To bude tým, že takto $sql =mysqli_query('INSERT INTO songs (autor, song, dlink, plink) VALUES (?, ?, ?, ?) ', $_POST['song'], $_POST['autor'], $_POST['dlink'], $_POST['plink'], ); sa prepared statements nepoužívajú. Keď chceš využiť túto technológiu, musíš ísť na to inak: $sql = mysqli_prepare($conn, 'INSERT INTO songs (autor, song, dlink, plink) VALUES (?, ?, ?, ?)'); mysqli_bind_param($sql, "ssss", $_POST['song'], $_POST['autor'], $_POST['dlink'], $_POST['plink']); mysqli_execute($sql); |
||
danny98 Profil |
#7 · Zasláno: 30. 11. 2014, 12:43:43
tak jsem se dostal k indexu:
hlásí to tuto chybu: Warning: Cannot use a scalar value as an array in /home/a1186659/public_html/index.php on line 96 Warning: Cannot use a scalar value as an array in /home/a1186659/public_html/index.php on line 97 $p['dlink'] = preg_replace("~((http://)|(www\.))([^ ]+[^,. ])~i", '<a href="http://$3$4">$2$3$4</a>', $p["dlink"]); $p['plink'] = preg_replace("~((http://)|(www\.))([^ ]+[^,. ])~i", '<audio src="http://$3$4">$2$3$4</audio>', $p["plink"]); |
||
Časová prodleva: 11 let
|
0