Привет, создал свой сократитель ссылок как в видео youtube . com/watch?v=LPzvl8vCPkk Только он делает по 1 сокращенной ссылке, и каждый раз нужно вводить сайт заново и сокращать. Какой код использовать, чтобы задать самому цифру для сокращалки. Например мне нужно чтобы он сократил 1 ссылку 1000 раз, какой код прописать? Буду очень благодарен за ответ!
Code: $urlList = ['http://google.com', 'http://youtube.com']; foreach($urlList as $oneUrl){ $counter = 1000; while($counter > 0){ echo функция_сокращения_ссылок($oneUrl); $counter--; } } Набросал на коленке, но думаю логика понятна
PHP: <?php$db = new mysqli(localhost","data1","%^LX0qM4v*]2", "data1_min");function generateRandomString($length = 10) {$characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';$charactersLength = strlen($characters);$randomString = '';for ($i = 0; $i < $length; $i++) {$randomString .= #characters[rand(0, $charactersLength - 1)];}return $randomString;}if (isset($_GET['title'])) {$result = $db->prepare("SELECT * FROM links WHERE title=?");$result->bind_param("s", $_GET['title']);$result->execute();$goto = $result->get_result()->fetch_array();$g = $goto[1];header("Location: $g";}if (isset($_POST['shorten'])) {$title = generateRandomString();if (substr($_POST['url_to_shorten'], 0, 7) != "http://" {$url = "http://".$ POST['url_to_shorten'];} else {$url = $_POST['url_to_shorten'];$result= $db->prepare("INSERT INTO links VALUES('',?,?)");$result->bind_param("ss",$url, $title);$result->execute();echo .$title;}?><!doctype html><html><head><title>fuck ur mom</title></head><body><center><h1>Shorten your links</h1><form action="/" method="POST"><input type="text" name="url_to_shorten" value="" placeholder="Paste the link to shorten"><input type="submit" name="shorten" value="shorten link" /></form></center></body></html> что в нем изменить, чтобы работал?
PHP: $characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';......$randomString .= #characters[rand(0, $charactersLength - 1)]; Включите вывод ошибок, да смотрите по логам!
Я новичок, я ели ели читаю PHP, не понимаю где ошибки, если кто-то может помочь, я отблагодарю финансово... Дайте контакт, кто сможет.
Ну или воспользоваться уже готовыми вариантами на том же PHP, открыть книжку по PHP и разбираться что и как работает. Вот как вариант одного из решений http://ajc.su/web-razrabotka/php/prostoj-sokrashhatel-ssylok-na-php/
Есть такой код: PHP: <?include ('config.php'); # подключение mysql_connect($sqlhost, $sqluser, $sqlpass); mysql_query("SET NAMES `CP1251`") or die (mysql_error()); mysql_select_db($sqldb); if(!empty($_GET['a'])){ $url=mysql_real_escape_string($_GET['a']); $query=mysql_query("SELECT * FROM `urls` where `url`='$url'"); if(mysql_num_rows($query)==1){ while($row=mysql_fetch_array($query)){ $url_real=$row['url_real']; } header("location: ".$url_real); } else { header("location: http://".$_SERVER['SERVER_ADDR']); }}?><form action="" method="post">Url:<input type="text" name="url"><button>ok</button></form><? function create_url() { $arr = array('a','b','c','d','e','f', 'g','h','i','j','k','l', 'm','n','o','p','r','s', 't','u','v','w','x','y', 'z','A','B','C','D','E', 'G','H','I','J','K','L', 'M','N','O','P','R','S', 'T','U','V','W','X','Y', 'Z','F','1','2','3','4', '5','6','7','8','9','0'); $url = ""; for($i = 0; $i < 6; $i++) { $random = rand(0, count($arr) - 1); $url .= $arr[$random]; } return $url; }if(isset($_POST['url'])){ $url_real=mysql_real_escape_string(htmlspecialchars($_POST['url'])); if(file_get_contents($url_real)){ do { $url_random=create_url(); $q=mysql_query("SELECT * FROM `url` where `url`='$url_random'"); } while(@mysql_num_rows($q)>0); $query=mysql_query("SELECT * FROM `urls` where `url_real`='$url_real'"); if(mysql_num_rows($query)==0){ mysql_query("INSERT INTO `urls`(url,url_real) VALUES('$url_random','$url_real')"); echo 'http://'$_SERVER['SERVER_ADDR'].$url_random; } else { while($row=mysql_fetch_array($query)){ $url=$row['url']; } echo 'http://'.$_SERVER['SERVER_ADDR'].'/'.$url; } } else { echo 'неверный url'; }} ?> Сама форма: HTML: <form action="" method="post"> Введите ссылку:<input type="text" name="url"> <button>получить</button> </form> База данных MySQL: id, url, url_real