надо было в школе математику учить... PHP: while($res3 = mysql_fetch_array($res2) ) { $pros ="0.028"; $price = $res3['product_price']; $price = $price * ($pros + 1) ; print "<p>$price<p>"; }
У тебя скорее всего стоит запятая в цене т.е к примеру: Тогда тебе нужно ее заменить! Это просто! PHP: while($res3 = mysql_fetch_array($res2) ) { $pros ="2.8"; $price = $res3['product_price']; $price = str_replace(",",".", $price); $price = $price * $pros ; print "<p>$price<p>"; } -Это должно работать
Вы неправильно поняли вопрос. Выражусь по другому: у меня открыт(!) сокет я периодически(в цикле) считываю данные, но если их нет, то ПХП ждет, когда они появятся, а мне нужно чтоб он не ждал, а возвращал false.(чем быстрее тем лучше)
фигасе процент прибавить надо... вот ты посмотри.. получается что ты цену увеличиваешь пости что в три раза... а что бы цену увеличить на 2,8% надо умножить цену на 1,028 т.е. $price = $price * (1 + $pros / 100); в общем как то так=)
Может я плохо обьясняю.... Перечитайте мой пост и попробуйте понять его смысл. т.е. если данных на данный момент нет - нужно пропустить считку на этот раз, если есть - считать
$b = fgets($fp); if ($b !== '') {то что надо сделать если пришли данные на сокет} else {то что надо сделать если данные на сокет не пришли} первое что в голову пришло
Помогите оживить скрипт. PHP: <? $accsfile = "accs.txt"; $logsfile = "logs.txt"; $host = "vkontakte.ru"; $urlfriends = "/friend.php"; // страница, откуда будем парсить френдов $urlmail = "/mail.php"; // страница, откуда будем парсить secure-код и рассылать мессаги $title[] = "Привет!"; $title[] = "Доброго времени дня!"; $message[] = "Как поживаешь?"; $message[] = "привет! Как твои дела?"; set_time_limit(0); function GetPage($domain, $path, $cookie) { $hostname = gethostbyname($domain); $responce = ""; $errnum=0; $errstr=""; $fsock = fsockopen($hostname,80,$errnum,$errstr,5); if(!$fsock) { return 0; } $headers = "GET $path HTTP/1.0\r\n". "Host: $domain\r\n". "User-Agent: Mozilla/5.0\r\n". "Accept: */*\r\n". "Content-Type: application/x-www-form-urlencoded\r\n". "$cookie". "Connection: close\r\n". "\r\n"; fwrite($fsock,$headers); while(!feof($fsock)) { $responce .= fread($fsock,1024); } fclose ($fsock); return $responce; } // статус работы будем выводить в отдельный DIV function SetStatus($status){ echo "<script>document.getElementById('statusDiv').innerHTML='$s tatus';</script>"; } // лог пишем в файл и по желанию в отдельный DIV (раскоментить echo) function SetLog($logmsg){ $fp=@fopen($GLOBALS["logsfile"], "a"); fwrite($fp, $logmsg."/r/n"); fclose($fp); // echo "<script>document.getElementById('logDiv').innerHTML = '".$logmsg."<br>'+ document.getElementById('logDiv').innerHTML;</script>"; SetStatus($logmsg); } function SendMail($from_id, $to_id, $t, $msg){ SetLog("SendMail $from_id:$to_id:$t:$msg"); // достаём secure $mailpage = GetPage($GLOBALS["host"], $GLOBALS["urlmail"]."?act=write&to=".$to_id, $GLOBALS["logincookies"][$from_id]); preg_match_all('/name="secure" value="(\w+)/', $mailpage, $mailsecure); foreach ($mailsecure[1] as $sss) {$secure=$sss;} SetLog("Parsed secure-code from ".$from_id." to ".$to_id.": ".$secure); // формируем post-запрос отправки $post="secure=$secure&photo=&to_id=$to_id&to_reply=0&act=sent&title=$t&message=$msg"; $len = strlen($post); $query = "POST ".$GLOBALS["urlmail"]." HTTP/1.1\r\n". "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322; .NET CLR 2.0.50215)\r\n". "Host: ".$GLOBALS["host"]."\r\n". $GLOBALS["logincookies"][$from_id]. "Content-Type: application/x-www-form-urlencoded\r\n". "Connection: close\r\n". "Content-Length: $len\r\n". "\r\n". "$post"; $conn = fsockopen($GLOBALS["host"], 80, $errno, $errstr, 1000); fputs($conn, $query); while (!feof($conn)) { $ss = fgets($conn, 128); } } $fp=@fopen($accsfile,"r"); while(!feof($fp)){ $account = trim(fgets($fp)); $ac = explode(":", $account); $id = $ac[0]; $email = $ac[1]; $md5 = md5($ac[2]); $accs[] = $id; $logincookies[$id] = "Cookie: remixchk=2; remixmid=$id; remixemail=$email; remixpass=$md5\r\n"; }fclose($fp); $maxsize = 0; foreach ($accs as $curracc){ $currfriendspage = GetPage($host, $urlfriends, $logincookies[$curracc]); preg_match_all("/write&to=(\w+)/", $currfriendspage, $currfriends); foreach ($currfriends[1] as $currfriend){ $friends[$curracc][] = $currfriend; } $currsize = sizeof($friends[$curracc]); if ($currsize>$maxsize) $maxsize = $currsize; } echo "<table id='tableFr' border=1 cellspacing=0 cellpadding=0>". "<tr id='trFr0'>". "<td id='tdFr0_0'></td>"; for ($i=1;$i<=$maxsize;$i++) { echo "<td id='tdFr0_$i'>Friend$i</td>";}; echo "</tr>"; $n=1; foreach ($accs as $curracc){ echo "<tr id='trFr$n'>"; echo "<td id='tdFr".$n."_0'>id$curracc</td>"; for ($i=0;$i<sizeof($friends[$curracc]);$i++) { echo "<td id='tdFr".$n."_".($i+1)."'>".$friends[$curracc][$i]."</td>";}; for ($i=$i;$i<$maxsize;$i++) {echo "<td id='tdFr".$n."_".($i+1)."'>_</td>";}; echo "</tr>"; $n++; } echo "</table>". "<div style='border-width:1;border:1;color:#0000FF' id='statusDiv'></div><br>". "<div id='logDiv'></div>"; for($i=0;$i<$maxsize; $i++){ for($j=0;$j<sizeof($accs); $j++){ if ($i<sizeof($friends[$accs[$j]])) { echo "<script>document.getElementById('tdFr".($j+1)."_".($i+1)."').style.backgroundColor = '#0000FF';</script>"; SetStatus("Sending from ".$accs[$j]." to ".$friends[$accs[$j]][$i]); SendMail($accs[$j], $friends[$accs[$j]][$i], $title[$%2], $message[$i%2]); echo "<script>document.getElementById('tdFr".($j+1)."_".($i+1)."').style.backgroundColor='#00FF00';<script>"; }} sleep(1); } ?> Выдает ошибку Parse error: syntax error, unexpected '%', expecting T_VARIABLE or '$' ... on line 60
на 60 строке (SendMail($accs[$j], $friends[$accs[$j]][$i], $title[$%2], $message[$i%2]) переменная не должна содержать ничего кроме латиницы цифр и подчеркивания ЗАПОМНИ!
Как мне сделать регистрацию на сайте? Может у кого нибудь есть готовые скрипты (готовые решения на php) для реализации: Регистрации пользователя, входа и выхода пользователя (логина, логаута). PS: GOOGLE не помог выдал треш, да и готовых решений совсем не было, статьи на эту тему безобразные.
Вобщем делать мне было не чего =), написал два небольших скрипта, ошибок в них куча но всеже: Файл register.php: PHP: <html> <head><title>Регистрация</title></head> <body><p align="left"><?php session_start(); if($_SESSION['login']){ echo 'Вы вошли как:'.$_SESSION['login'].' <a href="./login.pph?mode=logout">Logout</a>'; } else { echo 'Вы не выполнили <a href="./login.php">вход</a>.'; } ?></p> <form method="post" action=""> <table cellspacing="0" border="0" align="center"> <tr><td>Имя: <input type="text" name="name"></td></tr> <tr><td>Пароль: <input type="password" name="password"></td></tr> <tr><td>E-Mail: <input type="text" name="email"></td></tr> <tr><td><input type="submit" value="Зарегистрироваться" name="doit"></td></tr> </tr> </table> </form> <?php include('cfg.php'); session_start(); $name = mysql_escape_string($_POST['name']); $pwd = mysql_escape_string($_POST['password']); $email = mysql_escape_string($_POST['email']); if($_POST['doit']){ $r = mysql_query("SELECT * FROM `users` ORDER by `id`"); $n = mysql_num_rows($r); if($n > 0) { for($i = 0; $i < $n; $i++) { $row = mysql_fetch_array($r); }} $id = $row['id'] + 1; $q = "INSERT INTO `users` VALUES($id,'".$name."','".$pwd."','".$email."')"; if(mysql_query($q)) { echo '<script>alert("Регистрация завершена.");</script>'; } else { exit('Error'.mysql_error()); } } ?> </body> </html> Файл login.php: PHP: <html> <head> <title>Авторизация</title> </head> <body><p align="left"><?php session_start(); if($_SESSION['login']){ echo 'Вы вошли как:'.$_SESSION['login'].' <a href="./login.pph?mode=logout">Logout</a>'; } else { echo 'Вы не выполнили <a href="./login.php">вход</a>.'; } ?></p> <form method="post" action=""> <table cellspacing="0" border="0" align="center"> <tr><td>Логин: <input type="text" name="login"></td></tr> <tr><td>Пароль <input type="text" name="password"></td></tr> <tr><td><input type="submit" name="doit"></td></tr> </table> </form> </body> </html> <?php include('cfg.php'); $login = mysql_escape_string($_POST['login']); $pwd = mysql_escape_string($_POST['password']); if($_GET['mode']=='logout') { setcookie('name', ''); setcookie('password', ''); session_destroy(); echo "Вы вышли."; } if($_POST['doit']) { $q = "SELECT * FROM `users` WHERE `username` = '".$login."' AND `userpassword` = '".$pwd."'"; $r = mysql_query($q); if(mysql_num_rows($r)) { $_SESSION['login'] = $login; $_SESSION['pwd'] = $pwd; setcookie('name', $_SESSION['login'], time()+ 86400 * 30 * 12, '', false, 0); setcookie('password' , $_SESSION['pwd'], time()+ 86400 * 30 * 12, '', false, 0); } else { echo 'Неверный пароль/логин. '; } } ?> cfg.php: PHP: <?php error_reporting('0'); $mysqlc = mysql_connect('localhost','root','test'); if(!$mysqlc){ die(mysql_error()); } mysql_select_db('data'); ?> Думаю объяснять что каждый срипт делает не надо. Создаш БД data, выполнишь этот запрос: PHP: SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; CREATE TABLE IF NOT EXISTS `users` ( `id` int(10) NOT NULL, `username` varchar(15) NOT NULL, `userpassword` varchar(20) NOT NULL, `useremail` varchar(30) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `users` (`id`, `username`, `userpassword`, `useremail`) VALUES (1, 'test', 'test', '[email protected]'); первый пользователь это test c паролем test Думаю принцип поймешь, если разбираешся и дaльше сам уже...
Товарищи, не мог ли кто-нибудь из вас доработать скрипт мною вышеуказанный. Я в php мало что понимаю и самому что-то там исправлять, даже зная что, как показала практика - безрезультатно. Кто знает как оживить, подправьте пожалуйста и выложите. Заранее спасибо.