اذهب إلى المحتوى

Hamada Ahmed

الأعضاء
  • المساهمات

    121
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Hamada Ahmed

  1. السلام عليكم لدي كودين لجدولين عند ارسال بيانات للقاعدة من الاول تخزن بنجاح لكن عند ارسال بيانات من الثاني لا تخزن في الثاني بل تخزن في الاول في صورة undefined الجدول الاول saturday_one_primary_schedule CREATE TABLE `saturday_one_primary_schedule` ( `ador_schedule` varchar(50) NOT NULL, `teacher` varchar(50) NOT NULL, `subject` varchar(50) NOT NULL, `aclass` varchar(50) NOT NULL, `together` varchar(50) NOT NULL )ENGINE=INNODB DEFAULT CHARSET=utf8; الجدول الثانيsaturday_two_primary_schedule CREATE TABLE `saturday_two_primary_schedule` ( `ador_schedule` varchar(50) NOT NULL, `teacher` varchar(50) NOT NULL, `subject` varchar(50) NOT NULL, `aclass` varchar(50) NOT NULL, `together` varchar(50) NOT NULL )ENGINE=INNODB DEFAULT CHARSET=utf8; الكود الاول <script> jQuery.noConflict(); (function($) { //......... $(document).ready(function(){ $("#submit").click(function(){ var subject = $("#subject").val(); var aclass = $("#aclass").val(); var together = $("#together").val(); var dataString = 'subject='+ subject + '&aclass='+ aclass + '&together='+ together ; if(aclass=='<?php while($row=$result->fetch_assoc()):?><?=$row['aclass']?><?php endwhile;?>') { alert("لا يمكن ادخال فصلبن متشابهين في نفس الحصة"); } else { $.ajax({ type: "POST", url: "schedule_primary/send/send_saturday_one.php?send_saturday_one=<?=$_GET['teacher_schedule'] ?>", data: dataString, cache: false, success: function(result){ $('#saturday_one_form')[0].remove(); } }); } return false; }); }); //......... })(jQuery); </script> <form id="saturday_one_form" > <select class="select_all" id="subject"> <?php include('schedule_primary/subject_option.php');?> </select> <br /> <select class="select_all" id="aclass"> <?php include('schedule_primary/class_option.php');?> </select> <br /> <input class="input_submit_all" id="submit" type="button" value="حفظ"> </form> الكود الثاني <script> jQuery.noConflict(); (function($) { //......... $(document).ready(function(){ $("#submit").click(function(){ var subject = $("#subject").val(); var aclass = $("#aclass").val(); var together = $("#together").val(); var dataString = 'subject='+ subject + '&aclass='+ aclass + '&together='+ together ; if(aclass=='<?php while($row=$result->fetch_assoc()):?><?=$row['aclass']?><?php endwhile;?>') { alert("لا يمكن ادخال فصلبن متشابهين في نفس الحصة"); } else { $.ajax({ type: "POST", url: "schedule_primary/send/send_saturday_tow.php?send_saturday_two=<?=$_GET['teacher_schedule'] ?>", data: dataString, cache: false, success: function(result){ $('#saturday_two_form')[0].remove(); } }); } return false; }); }); //......... })(jQuery); </script> <form id="saturday_two_form" > <select class="select_all" id="subject"> <?php include('schedule_primary/subject_option.php');?> </select> <br /> <select class="select_all" id="aclass"> <?php include('schedule_primary/class_option.php');?> </select> <br /> <input class="input_submit_all" id="submit" type="button" value="حفظ"> </form> كود الارسال الاول <?php include('../../connect_file.php'); $ador_schedule = $_SESSION['id']; $get_teacher = intval($_GET['send_saturday_one']); $subject=$_REQUEST['subject']; $aclass=$_REQUEST['aclass']; $together= "$subject$aclass" ; $stmt = $db->prepare("insert into saturday_one_primary_schedule (ador_schedule,teacher,subject,aclass,together)VALUES (?,?,?,?,?)" ); $stmt->bind_param('sssss' ,$ador_schedule,$get_teacher,$subject,$aclass,$together); $stmt->execute(); $stmt->close(); $db->close(); ?> كود الارسال الثاني <?php include('../../connect_file.php'); $ador_schedule = $_SESSION['id']; $get_teacher = intval($_GET['send_saturday_two']); $subject=$_REQUEST['subject']; $aclass=$_REQUEST['aclass']; $together= "$subject$aclass" ; $stmt = $db->prepare("insert into saturday_two_primary_schedule (ador_schedule,teacher,subject,aclass,together)VALUES (?,?,?,?,?)" ); $stmt->bind_param('sssss' ,$ador_schedule,$get_teacher,$subject,$aclass,$together); $stmt->execute(); $stmt->close(); $db->close(); ?>
  2. السلام عليكم ورحمة الله وبركاتة نفترض ان لدينا مثلا جدول في قاعدة البيانات مخزن بة مجموعة من المواد الدراسية لعدد من الافراد كيف يمكن حساب مجموع قيمة معينة في كل الجدول مثلا نريد حساب مجموع Arabic في كل الجدول
  3. اشكرك على مجهودك لكن لا اريد حساب تكرار ايبي الزائر فمثلا united state تلاحظ عدد الزوار 122 ستلاحظ انها ايبيهات مكررة نريد فقط حساب الايبيهات بدون تكرار بجوارها اسم الدولة
  4. CREATE TABLE `totalview` ( `user_ip` text NOT NULL, `user_country` text NOT NULL, `end_time` varchar(50) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `totalview` (`user_ip`, `user_country`, `end_time`) VALUES ('41.69.217.254', 'Egypt', '2021-12-06'), ('41.69.217.254', 'Egypt', '2021-12-06'), ('41.69.217.254', 'Egypt', '2021-12-06'), ('51.222.253.9', 'Canada', '2021-12-06'), ('66.249.74.94', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.73.131', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.74.94', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.92', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.92', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.92', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.92', 'United States', '2021-12-06'), ('66.249.74.92', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('41.69.217.254', 'Egypt', '2021-12-06'), ('66.249.74.92', 'United States', '2021-12-06'), ('66.249.74.92', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.92', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.94', 'United States', '2021-12-06'), ('66.249.74.94', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.92', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.94', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.92', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.73.131', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.131', 'United States', '2021-12-06'), ('66.249.73.131', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.131', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.128', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('196.150.153.158', 'Egypt', '2021-12-06'), ('196.150.153.158', 'Egypt', '2021-12-06'), ('196.150.153.158', 'Egypt', '2021-12-06'), ('196.150.153.158', 'Egypt', '2021-12-06'), ('196.150.153.158', 'Egypt', '2021-12-06'), ('196.150.153.158', 'Egypt', '2021-12-06'), ('196.150.153.158', 'Egypt', '2021-12-06'), ('196.150.153.158', 'Egypt', '2021-12-06'), ('196.150.153.158', 'Egypt', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.73.131', 'United States', '2021-12-06'), ('196.150.37.189', 'Egypt', '2021-12-06'), ('196.150.37.189', 'Egypt', '2021-12-06'), ('196.150.37.189', 'Egypt', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('66.249.73.159', 'United States', '2021-12-06'), ('66.249.74.92', 'United States', '2021-12-06'), ('66.249.74.90', 'United States', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('104.219.248.96', 'United States', '2021-12-06'), ('104.219.248.96', 'United States', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06'), ('102.184.7.10', 'Egypt', '2021-12-06');
  5. قمت بعمل ذلك اريد فقط عمل عداد للزوار الخاصين ببلد معين بدون تكرار زائر دخل الموقع اكثر من مرة اما الخطوات السابقة من تخزين الايبي واسم الدولة فهي تخزن بالفعل والكود بالاعلى يظهرالعدد الاجمالي واسماء الدول سوف اضع لك صورة من الموقع للتوضيح بها 23 زائر من دول مختلفة اريد تقسيم ال23 زائر لتظهر بجوار اسم الدولة فكيف يمكن توزيع هذا العدد على الدول
  6. اذا كان لدينا جدول في قاعدة البيانات يخزن ايبي الزائر واسم البلد ( في نهاية اليوم يتم حذف محتوى الجدول ) يتم فلترة الايبيهات المكررة والبلدان لتظهر بصيغتها النهائية عدد الزوار في هذا اليوم والبلدان الخاصة بالزوار كما في الكود التالي <?php $status_query = "SELECT DISTINCT user_ip FROM totalview "; $result_query = mysqli_query($db, $status_query); $count = mysqli_num_rows($result_query); echo ' زوار اليوم : '.$count.' زائر '; ?> <?php echo ' بلدان الزوار :<br />'; $stmt = $db->prepare("SELECT DISTINCT user_country FROM totalview"); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { echo $row['user_country'] , '<br />' ; } $stmt->close(); ?> كيف يمكن اظهار عدد الزائرين من البلد بجوار اسم البلد فمثلا زار الموقع في هذا اليوم 100 زائر من خمس دول مثلا اريد ان تكون النتائج بدون تكرار الايبي للزائر الواحد كالتالي الجزائر 40 زائر مصر 30 زائر السعودية 20 زائر تونس 10 زائر
  7. الكود التالي يستخدم في تعدد الصفحات لكنه يظهر نتائج الموضوعات من الاقدم للأحدث كيف يمكن تعديلة ليعرض النتائج من الأحدث للأقدم <?php if (isset($_GET['page_memper_news'])) { $page_memper_news = $_GET['page_memper_news']; } else { $page_memper_news = 1; } $no_of_records_per_page = 21; $offset = ($page_memper_news-1) * $no_of_records_per_page; $total_pages_sql = "SELECT COUNT(*) FROM news"; $result = mysqli_query($db,$total_pages_sql); $total_rows = mysqli_fetch_array($result)[0]; $total_pages = ceil($total_rows / $no_of_records_per_page); $admin_type = "memper" ; $sql = "SELECT n.*, a.* FROM `news` as n inner join accounts as a WHERE a.id = n.writer_id AND a.admin_type ='".$admin_type."' LIMIT $offset, $no_of_records_per_page"; $res_data = mysqli_query($db,$sql); while($row = mysqli_fetch_array($res_data)) { echo ''.$row['news_date'].''; } mysqli_close($db); ?> <ul class="pagination"> <li><a href="?page_memper_news=1">بداية</a></li> <li class="<?php if($page_memper_news <= 1){ echo 'disabled'; } ?>"> <a href="<?php if($page_memper_news <= 1){ echo '#'; } else { echo "?page_memper_news=".($page_memper_news - 1); } ?>">سابق</a> </li> <li class="<?php if($page_memper_news >= $total_pages){ echo 'disabled'; } ?>"> <a href="<?php if($page_memper_news >= $total_pages){ echo '#'; } else { echo "?page_memper_news=".($page_memper_news + 1); } ?>">تالي</a> </li> <li><a href="?page_memper_news=<?php echo $total_pages; ?>">نهاية</a></li> </ul> <?php
  8. قمت باضافة للكود لكن بها زيادات اريد الاستغناء عنها <?php include ('connect_file.php'); function ip_info($ip = NULL, $purpose = "location", $deep_detect = true) { $output = NULL; if (filter_var($ip, FILTER_VALIDATE_IP) === false) { $ip = $_SERVER["REMOTE_ADDR"]; if ($deep_detect) { if (filter_var(@$_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP)) $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; if (filter_var(@$_SERVER['HTTP_CLIENT_IP'], FILTER_VALIDATE_IP)) $ip = $_SERVER['HTTP_CLIENT_IP']; } } $purpose = str_replace(array( "name", "\n", "\t", " ", "-", "_" ) , NULL, strtolower(trim($purpose))); $support = array( "country", "countrycode", "state", "region", "city", "location", "address" ); $continents = array( "AF" => "Africa", "AN" => "Antarctica", "AS" => "Asia", "EU" => "Europe", "OC" => "Australia (Oceania)", "NA" => "North America", "SA" => "South America" ); if (filter_var($ip, FILTER_VALIDATE_IP) && in_array($purpose, $support)) { $ipdat = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=" . $ip)); if (@strlen(trim($ipdat->geoplugin_countryCode)) == 2) { switch ($purpose) { case "location": $output = array( "city" => @$ipdat->geoplugin_city, "state" => @$ipdat->geoplugin_regionName, "country" => @$ipdat->geoplugin_countryName, "country_code" => @$ipdat->geoplugin_countryCode, "continent" => @$continents[strtoupper($ipdat->geoplugin_continentCode) ], "continent_code" => @$ipdat->geoplugin_continentCode ); break; case "address": $address = array( $ipdat->geoplugin_countryName ); if (@strlen($ipdat->geoplugin_regionName) >= 1) $address[] = $ipdat->geoplugin_regionName; if (@strlen($ipdat->geoplugin_city) >= 1) $address[] = $ipdat->geoplugin_city; $output = implode(", ", array_reverse($address)); break; case "city": $output = @$ipdat->geoplugin_city; break; case "state": $output = @$ipdat->geoplugin_regionName; break; case "region": $output = @$ipdat->geoplugin_regionName; break; case "country": $output = @$ipdat->geoplugin_countryName; break; case "countrycode": $output = @$ipdat->geoplugin_countryCode; break; } } } return $output; } ?> <?PHP // التأكد من ان عنوان ip حقيقى function getUserIP() { if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } $client = @$_SERVER['HTTP_CLIENT_IP']; $forward = @$_SERVER['HTTP_X_FORWARDED_FOR']; $remote = $_SERVER['REMOTE_ADDR']; if (filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif (filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } return $ip; } $user_ip = getUserIP(); ?> <?php $ip_info = ip_info("Visitor", "Country"); $end_time = date("Y-m-d", strtotime("+1 day")); $stmt3 = $db->prepare("INSERT INTO totalview VALUES ('$user_ip','$ip_info','$end_time')"); $stmt3->execute(); $stmt3->close(); ?> <?php // حذف زوار الأمس بعد نهاية اليوم $date = date("Y-m-d"); $stmt11 = $db->prepare("DELETE from totalview WHERE end_time = ? "); $stmt11->bind_param('s', $date); $stmt11->execute(); $stmt11->close(); ?> <?php $status_query = "SELECT DISTINCT user_ip FROM totalview "; $result_query = mysqli_query($db, $status_query); $count = mysqli_num_rows($result_query); echo ' زوار اليوم : ' . $count . ' زائر '; ?> <br /> <?php $stmt = $db->prepare("SELECT DISTINCT user_country FROM totalview"); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { echo $row['user_country'], '-'; } $stmt->close(); ?>
  9. الكود التالي يظهر عدد الزوار ليوم واحد يتم تخزين ip الزائر في القاعدة كيف يمكن اظهار اسم دولة الزائر - فمثلا لو قام زائرين من مصر بزيارة الموقع عشر مرات في اليوم لا يتم تكرار اسم الدولة غير مرة واحدة كذلك لو قام مجموعة زائرين من تونس بالدخول للموقع عدة مرات لا يتم تكرار اسم الدولة الا مرة واحدة مثلا كالتالي؛ بلدان الزوار ( مصر - الجزائر - السعودية .......الخ ) <?PHP // التأكد من ان عنوان ip حقيقى function getUserIP() { if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } $client = @$_SERVER['HTTP_CLIENT_IP']; $forward = @$_SERVER['HTTP_X_FORWARDED_FOR']; $remote = $_SERVER['REMOTE_ADDR']; if(filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif(filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } return $ip; } $user_ip = getUserIP(); ?> <?php $end_time = date("Y-m-d", strtotime("+1 day")); $stmt3 = $db->prepare("INSERT INTO totalview VALUES ('$user_ip','$end_time')"); $stmt3->execute(); $stmt3->close(); ?> <?php // حذف زوار الأمس بعد نهاية اليوم $date= date("Y-m-d"); $stmt11= $db->prepare("DELETE from totalview WHERE end_time = ? "); $stmt11->bind_param('s', $date ); $stmt11->execute(); $stmt11->close(); ?> <?php $status_query = "SELECT DISTINCT user_ip FROM totalview "; $result_query = mysqli_query($db, $status_query); $count = mysqli_num_rows($result_query); echo ' زوار اليوم : '.$count.' زائر '; ?>
  10. قمت باضافة حقل للوصف بالجدول- قبل الارسال يتم اقتصاص جزء من المحتوى وتحويله الى نص ويتم تخزينة بهذه الصورة $description = strip_tags(substr(''.$_REQUEST['news_content'].'', 0, 1000)); ويكون كود الوصف كالتالي <meta name="description" content="<?=''.$row['description'].'' ?>"> هل برأيك الطريقة جيد ام لا - قمت بتجربتها ونجحت بالفعل لكن احتاج الى رأيك
  11. ربما لم تفهم قصدي بشكل دقيق فانا اقصد ان description يظهر في المتصفح من المفترض ان يكون مختفي ولا يظهر للزوار والصور توضح لك ذلك هذه الصورة للموقع بالوسم keywords فقط <meta name="keywords" content="<?=$keywords ?>" /> والصورة التالية بالوسمين معا description , keywords __________ <meta name="keywords" content="<?=$keywords ?>" /> <meta name="description" content="<?= $description = substr(''.$row['news_content'].'', 0, 1000); ?>"> ومصدر الصفحة بعد اضافة الوسمين كالتالي أي ان المشكلة ليست فى وسم الكلمات المفتاحية انما المشكلة في وسم الوصف _ لاحظ انني اقتطع جزء من محتوى الموضوع لكي يظهر فى الوصف لكنة يظهر اعلى هيدر الصفحة والطبيعي الا يظهر كذلك مثل الكلمات المفتاحية التي لم تظهر اثناء التصفح
  12. السلام عليكم ورحمة الله وبركاته , في الكود التالي وسوم meta للكلمات المفتاحية والوصف , أواجه مشكلة ظهور هذا الوصف في أعلى الصفحة في الخادم المحلي على المتصفح , و ليكن في العلم , أن نفس المشكلة لا تظهر في ذات الصفحة بذات المتصفح على الإستضافة . ما إحتمالية المشكلة ؟ و ماذا يقترح كحل لها ؟ <head> <?php include('connect_file.php');?> <?php if( isset($_GET['topics']) ) : ?> <?php $gettopics= intval($_GET['topics']); $stmt = $db->prepare('SELECT * FROM news where id = ?'); $stmt->bind_param('i', $gettopics ); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); ?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="icon" type="image/ico" href="images/favicon.ico"/> <title> موقع ...... | <?= $row['title'] ?> </title> <?php function myFilter($var) { return mb_strlen($var, 'UTF-8') > 2; } $keywords = explode(' ', $row['title']); $keywords = array_filter($keywords,"myFilter"); $keywords = array_unique($keywords); $keywords = implode(' ,', $keywords); ?> <meta name="keywords" content="<?=$keywords ?>" /> <meta name="description" content="<?= $description = substr(''.$row['news_content'].'', 0, 1000); ?>"> <?php else : ?> <title> موقع ....... </title> <?php endif; ?> <style type="text/css"> <!-- --> </style> </head>
  13. السلام عليكم ورحمة الله وبركاته منذ فترة طرحت سؤال وهو أن الموقع يعمل بشكل سليم على السيرفر المحلي وعند تجربته على استضافة مجانية حدثت مشكلة وهي ان بعض البيانات لا يتم ارسالها لبعض الجداول في القاعدة - احد الاخوة الافاضل هنا قال هذه المشاكل لا تحدث في الاستضافة المدفوعة فقمت بشراء استضافة لكن حدثت مشكلة اكبر مما حدث في الاستضافة المجانية كما في الصور التالية ---- لا يظهر الا سوى جزء من الموقع وحتى الراوبط لا تعمل ايضا لا اعرف اين المشكلة
  14. السلام عليكم ورحمة الله وبركاته اريد ان اشتري استضافة مدفوعة من الانترنت لكن لا امتلك بطاقة -انا اعيش في مصر ما هي افضل بطاقة للشراء وكيف يمكن استخراجها وهل تحتاج إلى مبالغ مالية كبيرة للاستخراج وكيف يتم شحنها بالمال وهل يمكن ربطها بالباي بال وهل هناك بطاقة للشراء من جميع المواقع كل هذه الأسئلة احتاج لمعرفتها وشكرا لكم
  15. السلام عليكم ورحمة الله وبركاته اخواني الأعزاء عند تجربة اسكربت الموقع على السيرفر المحلي يتم ارسال البيانات الى القاعدة وتخزينها بدون أي مشاكل لكن عند تجربة استضافات مجانية لا يتم تخزين البيانات في جداول معينة وهناك جداول اخرى يتم تخزين البيانات فيها في الوقت نفسه عند تجربة استضافات مجانية اخرى يتغير الحال فبعض الجداول التي كانت لا تستقبل البيانات هنا تستقبلها والاخرى التى كانت تخزن لا تخزن هنا جربت الكثير منها والمشكلة مازالت رغم انها تعمل بشكل جيد على السيرفر المحلي ما المشكلة في ذلك هل متعلقة ببرمجة الاكواد المسئولة عن الارسال ام انها متعلقة بالقاعدة نفسها وهل الاستضافات المدفوعة تظهر بها مثل هذه المشاكل
  16. قمت بعمل ذلك لكن لم تنجح CREATE TABLE comments ( `id` INT( 9 ) NOT NULL AUTO_INCREMENT , `comment_text` Text NOT NULL , `subject_id` INT( 9 ) NOT NULL , `commentor_id` varchar(50) NOT NULL, `comment_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `comment_status` int(1) NOT NULL, PRIMARY KEY ( `id` ), FOREIGN KEY (subject_id) REFERENCES news (id) ON DELETE CASCADE ) ENGINE = MYISAM
  17. السلام عليكم ورحمة الله وبركاته اذا كان هناك جدول للموضوعات باسم news به حقل id تتسلسل من خلاله المواضيع وهناك جدول اخر للتعليقات باسم comment به حقل news_id رقم الموضوع id هو نفسه news_id في التعليقات ماذا يمكن فعله لحذف كل التعليقات المتعلقة بموضوع معين عندما يتم حذف الموضوع نفسة من القاعدة اي ان id ليس له وجود في الجدول
  18. السلام عليكم أحد الأخوة الأفاضل بموقعكم الجميل قدم لي هذا الكود الذي يحذف الصور من مجلد التجميل التي ليس لها اسم مخزن في القاعدة بصيغة jpg لكم اريد اضافة امتدادات اخرى للكود مثل png , gif الخ كيف يكون ذلك <?php // حذف صور البروفايل القديمة ولا فائدة منها $sql = 'SELECT image_profile_path from accounts'; $result = mysqli_query($db,$sql); $db_imgs = []; while($row = mysqli_fetch_array($result)) { $db_imgs[] = $row['image_profile_path']; } $db_imgs = preg_filter('/^/','uploads/profile/',$db_imgs); $targetDirectory = "uploads/profile/"; $stored_imgs =glob($targetDirectory."*.jpg"); $targetImages = array_merge(array_diff($db_imgs,$stored_imgs),array_diff($stored_imgs,$db_imgs)); $targetImages = array_filter($targetImages); foreach($targetImages as $image) { unlink($image); } ?>
  19. شكرا اخي الفاضل تمت بنجاح لكن تظهر رسالة خطأ ربما الامر بسيط
  20. لا يتم حذف اي من الصور من مجلد التخزين والنتيجة كالتالي
  21. قمت بذلك لكن يتم حذف الصورة من المجلد uploads/profile بالرغم من ان الصورة لها مسار مخزن في القاعدة - المفترض ان يحذف فقط الصور التي ليس لها مسار مخزن في القاعدة ويترك باقي الصور من فضلك الق نظرة اخرى على الكود ربما به خطأ وهو كالتالي <?php // حذف الصور القديمة للمستخدم ولا فائدة منها // تحديد كامل مسارات الصور من قواعد البيانات من الجدول المستهدف و تخزينها في مصفوفة . $sql = 'SELECT image_profile_path from accounts'; $result = mysqli_query($db,$sql); $db_imgs = []; while($row = mysqli_fetch_array($result)) { $db_imgs[] = $row['image_profile_path']; } // تحديد كامل مسارات الصور داخل المجلد المستهدف و تخزينها في مصفوفة . $targetDirectory = "uploads/profile/"; $stored_imgs = glob($targetDirectory . "*.jpg"); // تحديد العناصر الغير متوفرة في كلتا المصفوفتين . $targetImages = array_diff($stored_imgs,$db_imgs); // حذفها هاته العناصر foreach($targetImages as $image) { unlink($image); } ?>
  22. تظهر مشكلة كالتالي ويتم حذف الصورة المخزن اسمها في القاعدة ايضا <?php // حذف الصور القديمة للمستخدم ولا فائدة منها // تحديد كامل مسارات الصور من قواعد البيانات من الجدول المستهدف و تخزينها في مصفوفة . $sql = 'SELECT image_profile_path from accounts'; $result = mysqli_query($db,$sql); $db_imgs = []; while($row = mysqli_fetch_array($result)) { $db_imgs[] = $row['image_profile_path']; } // تحديد كامل مسارات الصور داخل المجلد المستهدف و تخزينها في مصفوفة . $targetDirectory = "uploads/profile/"; $stored_imgs = glob($targetDirectory . "*.jpg"); // تحديد العناصر الغير متوفرة في كلتا المصفوفتين . $targetImages = array_merge(array_diff($db_imgs, $stored_imgs), array_diff($stored_imgs, $db_imgs)); // حذفها هاته العناصر foreach($targetImages as $image) { unlink($image); } ?>
  23. السلام عليكم ورحمة الله وبركاته يقوم الاعضاء بتعديل صورهم الشخصية بالموقع بشكل مستمر مما يجعل الصور القديمة بلا فائدة وتشغل مساحة كبيرة في جدول الأعضاء يتم تخزين اسم وامتداد اخر صورة بهذا الشكل مثلا ( 234562.jpg ) هل هناك حل لحذف الصور التي ليس لها امتداد في الجدول ليتم حذفها من مجلد الصور جربت استخدام كود كالتالي لكن يتم حذف جميع الصور <?php // جدول الأعضاء $stmt = $db->prepare('SELECT * FROM accounts'); $stmt->execute(); $result = $stmt->get_result(); $r_accounts = $result->fetch_assoc(); $stmt->close(); //$r_accounts['image_profile_path'] امتداد الصورة ?> <?php $picture = glob('uploads/profile/*.jpg'); $picture = glob('uploads/profile/*.png'); $picture = glob('uploads/profile/*.......'); if (......)// لا اعرف ما هو الشرط { foreach($picture as $file) { if(is_file($file)) // تكرار { unlink($file); // delete file } } } ?> ما اريدة فقط هو حذف الصور التي ليس لها اسم مخزن في القاعدة
×
×
  • أضف...