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']); 
atď., keď vložím autora napr. skupinu N'Sync (skutočný názov kapely), rozbijem dotaz, o SQL Injection ani nehovorím.
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
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:
teď to hlásí toto:
Parse error: syntax error, unexpected T_VARIABLE in /home/u393988049/public_html/process.php on line 6
Na konci riadku 5 v [#1] chýba bodkočiarka (česky středník), rovnako aj na konci r. 6 v [#3].
danny98
Profil
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
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"]);

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: