проблема с InnoDB Здравствуйте У меня проблема. Есть две таблицы, table1, table2. В table2 внешний ключ на поле ид из table1. При добавлении данных в table2 выдает ошибку: "Cannot add or update a child row: a foreign key constraint fails (`ikr`.`table2`, CONSTRAINT `table2_fk` FOREIGN KEY (`id_name`) REFERENCES `table1` (`id_name`) ON DELETE CASCADE) че не так? если надо - допишу поля таблицы
и снова здравствуйте. как мы помним из предыдущего вопроса если пишу как в исходнике if (!isset($id)) то форма не выводится, а если вот так if (!isset($_GET['id'])) то выводится, но теперь выдает ошибку PHP: if (!isset($_GET['id'])) { $result=mysql_query ("select title, id from lessons"); $myrow = mysql_fetch_array ($result); do { printf ("<p><a href='edit_lesson.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]); } while ($myrow = mysql_fetch_array ($result)); } else { $result=mysql_query ("select * from lessons where id =$id"); $myrow = mysql_fetch_array ($result); //ошибку выдает в этой строке типа Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result . пробовал строкой выше обыграть id =$id print<<<HERE <form name="form1" method="post " ну так вот пробовал обыграть from lessons where id =$id результаты самые разные кроме нужного. а нужно чтобы из базы подставляла данные в форму. то ли гуглил плохо, то ли вопрос не так задвал. вопрос: 1) как правильно написать 2) что-то поменялось в пхп в последние годы и стоит брать учебники посвежее или что там не так?
оlbaneс просто в какой то момент люди отошли от концепции, что register_globals - это нормально. У вас не задана переменная $id. Плюс через нее возможно проведение инъекций. Следует писать так: PHP: $result=mysql_query ('select * from lessons where id="'.mysql_real_escape_string($_GET['id']).'"'); // Ну и дополнительно: if (!$result) die('Ошибка в запросе: '.mysql_error());
учитэл, я не достоин обращения на Вы. попрошу мне тыкать я в этот самый момент доставал изиса и он выдал тоже рабочий вариант. PHP: $result=mysql_query ("select * from lessons where `id` = '" . intval($_GET['id']) . "'"); кстати, пока гуглил прочитал что в следующем выпуске пхп введут какие то супер глобальные переменные. спасибо!
PHP: if (!isset($_GET['id'])) { $result=mysql_query("select title, id from lessons"); $myrow = mysql_fetch_array ($result); while($myrow=mysql_fetch_array ($result)) { ?><p><a href="edit_lesson.php?id=<?=$myrow['id']?>><?=$myrow["title"]?></a></p> <?php } else { $id = mysql_real_escape_string($_GET['id']); $result=mysql_query("select * from lessons where id ='$id'"); $myrow = mysql_fetch_array ($result) } ?> <form name="form1" method="post
Предположим есть страница page.php PHP: <?php session_start(); if (isset($_SESSION['user_id'])) { print '<p>Здравствуйте, %username%.</p>'; } else { die('Доступ запрещен.'); } ?> Суть: если пользователь авторизовался, то при переходе на page.php он увидит текст "Здравствуйте, %username%.", в противном случае увидит "Доступ запрещен.". У меня все отлично работает, но вместо одной фразы мне нужно отобразить приличную web-страницу (не ссылку). Подразумевается, что юзер увидит то, что находится между первыми фигурными скобками, но туда не скопируешь ведь просто html-код. Не подскажите как мне можно это реализовать, а то не могу дойти своим умом.
PHP: header("Content-Type: image/png"); $image = imagecreatepng('extruly.png'); $textcolor = imagecolorallocate($image,0,0,255); imagestring($image,2,5,2,"I love ub-gen.ru",$textcolor); imagepng($image); imagedestroy($image); Добрый вечер всем, подскажите что не так делаю? Хочу вывесим изображение extruly.png , не получается просто пустая страница получается подскажите где исправить заранее спасибо
p1oneer Вариантов много. Например так: PHP: <?php session_start(); if (isset($_SESSION['user_id'])) { ?> ЗДЕСЬ HTML ДЛЯ АВТОРИЗОВАННЫХ ЮЗЕРОВ <?php } else { ?> ДОСТУП ЗАПРЕЩЕН <?php } ?> Либо так: PHP: <?php session_start(); if (!isset($_SESSION['user_id'])) { die('Доступ запрещен'); } ?> Здесь Html Для авторизованных юзеров И еще 100500 вариантов.
Player#1 PHP: <?php session_start(); if (isset($_SESSION['user_id'])) { ?> ЗДЕСЬ HTML ДЛЯ АВТОРИЗОВАННЫХ ЮЗЕРОВ Этот код надо размещать до тега <html> или <body>? А то у меня сейчас появляется ошибка: "Cannot send session cache limiter - headers already sent".
PHP: function get_lang($var){ global $db; $page = htmlspecialchars($_GET['page']); $sql = "SELECT `page_keywords`, `page_description`, `page_title`, `page_content` FROM `pages` WHERE `page_name` = ? AND page_language = ?"; $statement = $db->prepare($sql); $statement->bind_param('ss', $page, $var); if($statement->execute()){ while($row = $statement->fetch()){ $rows[] = $row; } } } как от сюда достать массив rows, так чтоб потом можно было в контенте использовать?
PHP: <? $name=$_POST['name']; $email=$_POST['email']; $phone=$_POST['phone']; $message=$_POST['message']; $ToEmail = "[email protected]"; $ToSubject = "Message from your site"; $EmailBody = "Name: $name\n Email: $email\n Phone: $phone\n Message: $message\n"; $Message = $EmailBody; $headers .= "Content-type: text; charset=iso-8859-1\r\n"; $headers .= "From:".$name." / ".$email."\r\n"; mail($ToEmail,$ToSubject,$Message, $headers); ?> В пхп чайник, никогда не связывался. Где ошибка?
Есть следующий скрипт(я его уже немного модифицировал от исходного поэтому возможны абсурдные приемы просьба на это внимание не обращать ) PHP: <?php $lopass = file_get_contents("str.txt"); list($username, $password) = split(":", $lopass); //$num_str = count($lopass); //считаю количество строк в str.txt($lopass) $header = ($_POST['mytext']); $header = iconv('Windows-1251', 'UTF-8', $header); $message = ($_POST['msg']); $message = iconv('Windows-1251', 'UTF-8', $message); $sendto = ($_POST['to']); $sendto = iconv('Windows-1251', 'UTF-8', $sendto); $boundary = '---------------------' . substr(md5(rand(0, 32000)), 0, 10); $xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"; $xml .= "<QUERIS username=\"$username\" password=\"$password\">\r\n"; $xml .= " <headerofpost>$header</headerofpost>\r\n"; $xml .= " <message>$message</message>\r\n"; $xml .= " <username>$sendto</username>\r\n"; $xml .= "</QUERIS>\r\n"; $data = "--$boundary\r\n"; $data .= "Content-Disposition: form-data; name=\"xmlfile\"; filename=\"xmlfile\"\r\n"; $data .= "Content-Type: text/xml; charset=UTF-8\r\n\r\n"; $data .= "$xml\r\n"; $data .= "--$boundary\r\n"; $headers = "POST /offline_main.php HTTP/1.1\r\n"; $headers .= "Host: www.host.lc\r\n"; $headers .= "Content-Type: multipart/form-data, boundary=$boundary\r\n"; $headers .= "Content-Length: " . strlen($data) . "\r\n\r\n"; $headers .= $data; $fs = fsockopen('www.host.lc', 80, $errno, $errstr, 30); if ($fs) { fwrite($fs, $headers); $content = ''; while(!feof($fs)) { $content .= fgets($fs, 128); } fclose($fs); print $content; } ?> в файле str.txt содержатся логин:пасс подскажите как мне его модифицировать что бы он выполнился для каждой пары(строки) находил упоминание про feof с нечто похожим примером, предполагаю что нужен цикл, но своим умом до окочательной реализации дойти не могу... хелп ми плиз
либо foreach, либо for($i=0;$i<$count($lopass);$i++) PHP: <?php $lopass = file_get_contents("str.txt"); for($i=0;$i<count($lopass);$i++) { list($username, $password) = split(":", $lopass); //$num_str = count($lopass); //считаю количество строк в str.txt($lopass) $header = ($_POST['mytext']); $header = iconv('Windows-1251', 'UTF-8', $header); $message = ($_POST['msg']); $message = iconv('Windows-1251', 'UTF-8', $message); $sendto = ($_POST['to']); $sendto = iconv('Windows-1251', 'UTF-8', $sendto); $boundary = '---------------------' . substr(md5(rand(0, 32000)), 0, 10); $xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"; $xml .= "<QUERIS username=\"$username\" password=\"$password\">\r\n"; $xml .= " <headerofpost>$header</headerofpost>\r\n"; $xml .= " <message>$message</message>\r\n"; $xml .= " <username>$sendto</username>\r\n"; $xml .= "</QUERIS>\r\n"; $data = "--$boundary\r\n"; $data .= "Content-Disposition: form-data; name=\"xmlfile\"; filename=\"xmlfile\"\r\n"; $data .= "Content-Type: text/xml; charset=UTF-8\r\n\r\n"; $data .= "$xml\r\n"; $data .= "--$boundary\r\n"; $headers = "POST /offline_main.php HTTP/1.1\r\n"; $headers .= "Host: www.host.lc\r\n"; $headers .= "Content-Type: multipart/form-data, boundary=$boundary\r\n"; $headers .= "Content-Length: " . strlen($data) . "\r\n\r\n"; $headers .= $data; $fs = fsockopen('www.host.lc', 80, $errno, $errstr, 30); if ($fs) { fwrite($fs, $headers); $content = ''; while(!feof($fs)) { $content .= fgets($fs, 128); } fclose($fs); print $content; } } ?> скрипт не тестил, но будет примерно так
Что-то я не совсем это понимаю, можешь показать на примере? Вот html-страница HTML: <html> <head> <title>Главная страница</title> </head> <body> <img src="site.jpg"> <p>Здравствуйте, %username%.</p> </body> </html> Хотя содержимое тега <body> намного больше.
Добрый день всем, парни подскажите пожалуйста как реализовать следующее: Мне надо что бы юзверь выбирал картинку, и нажимал на кнопку и эта картинка, появлялась как это сделать? PHP: <br> <select name="Выберете изображение"> <Option selected>Картинка1 <option>Картинка2 <option>Картинка3 <option>Картинка4 </select> <br> <?php header("Content-Type: image/png"); $image = imagecreatefrompng('exwow.png'); $textcolor = imagecolorallocate($image,255, 255, 255); imagestring($image,2,5,2,"I love ub-gen.ru",$textcolor); imagepng($image); imagedestroy($image); ?> <input type = "button" value="View"> Помогите пожалуйста, заранее спасибо.
Всем привет!!! Вот пытаюсь найти толковый скрипт с фильтрами для моей формы (для комментариев), чтобы сохранял сообщение в базе и перенаправлял на исходную страницу.