-
المساهمات
84 -
تاريخ الانضمام
-
تاريخ آخر زيارة
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Our World عالمنا
-
اختفت رسالة الخطأ؛ ولكن لا يمكنني تسجيل الدخول؛ هذا اللينك لا ينقلني لأي موضع <!--facebook login --> <div class="div-input-login1"> <a href="<?php echo $facebook_login_url; ?>"><button class="submit btnFB" type="submit" class="btn btn-primary " ><?php echo $lang['fbLogin']?></button></a> </div>
-
ارغب في عمل تسجيل دخول ب فيس بوك فى موقعي.. هناك رسالة خطأ تظهر وهي undefined variable $facebook_login_url; <!--facebook login --> <!--<div class="div-input-login1"> <a href="<?php //echo $facebook_login_url; ?>"><button class="submit btnFB" type="submit" class="btn btn-primary " ><?php echo $lang['fbLogin']?></button></a> </div>--> <?php ob_start(); require_once 'Facebook/autoload.php'; // init configuration if (!session_id()) { session_start(); } // Call Facebook API $facebook = new \Facebook\Facebook([ 'app_id' => '898876554420136', 'app_secret' => 'ae49ju76t549ae4c4be43gh78u2h9fa12', 'default_graph_version' => 'v2.10' ]); <?php include 'facebookConfig.php'; try { $accessToken = $helper->getAccessToken(); } catch(Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch(Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } if (!isset($accessToken)) { if ($helper->getError()) { header('HTTP/1.0 401 Unauthorized'); echo "Error: " . $helper->getError() . "\n"; echo "Error Code: " . $helper->getErrorCode() . "\n"; echo "Error Reason: " . $helper->getErrorReason() . "\n"; echo "Error Description: " . $helper->getErrorDescription() . "\n"; } else { header('HTTP/1.0 400 Bad Request'); echo 'Bad request'; } exit; } if(!$accessToken->isLongLived()){ // Exchanges a short-lived access token for a long-lived one try { $accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken); } catch (Facebook\Exceptions\FacebookSDKException $e) { echo "<p>Error getting long-lived access token: " . $e->getMessage() . "</p>\n\n"; exit; } } $fb->setDefaultAccessToken($accessToken); # These will fall back to the default access token $res = $fb->get('/me',$accessToken->getValue()); $fbUser = $res->getDecodedBody(); $resImg = $fb->get('/me/picture?type=large&redirect=false',$accessToken->getValue()); $picture = $resImg->getGraphObject(); $_SESSION['fbUserId'] = $fbUser['id']; $_SESSION['fbUserName'] = $fbUser['name']; $_SESSION['fbAccessToken'] = $accessToken->getValue(); header('Location: welcome.php'); exit; ?> ob_end_flush();
-
المفترض عندما أضغط على : <span class="my-account"><?php echo $lang['myAccount']; ?></span> يظهر القسم الاتي وما بداخله: <div class="div-img-dropdown-absolute"> </div> وهذه هى الشيفرة الكاملة <span class="my-account"><?php echo $lang['myAccount']; ?></span> <!-- the dropdown --> <div class="div-img-dropdown-absolute"> <!--<p id="p-username"> <?php //echo '<a href="profile.php"> Hi '. $_SESSION['user'].'</a>'; ?> </p>--> <p id="p-username"> <a> <?php echo $lang['hello'].' '; if(isset($_SESSION['userid'])) {echo $_SESSION['user'];}elseif(isset($_SESSION['id'])){echo $_SESSION['name'];} ?> </a> </p> <ul class="ul-nav-i"> <li><i class="fas fa-cog"></i><a href="profile.php?d=data&u=<?php echo $session;?>"><?php echo $lang['myInfo']; ?></a> </li> <li><i class="fas fa-sign"></i><a href="profile.php?d=signs&u=<?php echo $session;?>"><?php echo $lang['myAds']; ?></a> </li> </ul> </div> تظهر هذه الرسالة فى console Unchecked runtime.lastError: The message port closed before a response was received. لاحظت أنه عند ارسال الفورم مرة ثانية قبل تنشيط الصفحة يزول التعطيل
-
لدي فورم ترسل طلب اجاكس؛ عند ارسالها يتم المطلوب ولكنها تعطل خاصية فى jquery وهي الضغط على عنصر ليظهر عنصر اخر (يتحول من display:none الى display:block) ما سبب التعطيل هذه؟ هذه هى الاكواد: $("#send-replyS").on("submit", function(ev){ ev.preventDefault(); var Text=$('#inputReplyS').val(); var msg_id =$('#msg_idS').val(); var item_id=$('#item_idS').val(); if (Text.length<1) { $('#sendReplyS').prop('disabled',true); } else{ $.ajax({ url:"profileMsg.php", method:"POST", beforeSend:function(){ $('#sendReplyS').prop('disabled',true); $('<span class="spinner-border spinner-border-sm grey" role="status" aria-hidden="true"></span>').insertAfter('#sendReplyS'); }, processData:false, contentType:false, data:new FormData(this), success: function(data){ // $(".all1").html(data); $('.show-replies').html(data); }, complete:function(){ $('#sendReplyS').prop('disabled',false); $('.spinner-border').remove(); $('#inputReplyS').val(' '); } }); } }); وهذه صفحة المعالجة التي تعالج طلب الاجاكس if ($_SERVER['REQUEST_METHOD']=='POST') { $reply =trim($_POST['inputReplyS']); //text $item_id =$_POST['item_idS']; //item id $msg_id =$_POST['msg_idS']; //msg id $user_id =$_POST['userS']; //session sender $user_idS =$_POST['user_idS']; //message sendee and item owner $l =$_POST['lng']; $date =time(); $filter =filter_var($reply,FILTER_SANITIZE_STRING); $stmt=$conn->prepare(" INSERT into replymsg (replyMsg_text,replyMsg_date,msg_id,user_id,item_id,user_idS,replyMsg_status) values(:zinput,:zdate,:zmsg,:zuser,:zitem,:zuser_idS,0) "); $stmt->execute(array( 'zinput' => $filter, 'zdate' => $date, 'zmsg' => $msg_id, 'zuser' => $user_id, 'zitem' => $item_id, 'zuser_idS' => $user_idS )); $stmt=$conn->prepare(" SELECT * FROM replymsg join message on message.message_id=replymsg.msg_id join admins on admins.user_id=replymsg.user_id join items on items.item_id=replymsg.item_id WHERE replymsg.msg_id=? order by replyMsg_id asc "); $stmt->execute(array($msg_id/*$Msg['message_id']*/)); $replymsg=$stmt->fetchAll(); $fetch=fetch('*','items','item_id',$item_id); if (!empty($replymsg)) { foreach ($replymsg as $reply) { if($reply['user_id']==$fetch['USER_ID']){ ?> <span class="date-reply-msg cut2 bold"> <?php echo $reply['NAME']?> </span> <span class="small2"><?php echo getDate2($reply['replyMsg_date'],$l); ?> </span> <p dir="auto" class="p-text-reply-msg"> <?php echo $reply['replyMsg_text'];?> </p> <?php }else{ ?> <span class="date-reply-msg2 cut2"> <?php echo $reply['username']?> </span> <span class="small2"><?php echo getDate2($reply['replyMsg_date'],$l); ?> </span> <p dir="auto" class="p-text"> <?php echo $reply['replyMsg_text'];?> </p> <?php } } // change status to 1 (read) $stmt=$conn->prepare(" UPDATE replymsg set replyMsg_status=1 WHERE msg_id=? "); $stmt->execute(array($msg_id)); }
-
عندى select بها options لا توجد بها مشكلات فى التصميم المتجاوب لجميع الشاشات ما عدا مقياس @media (min-width: 1200px) { /*big screen */ { هنا تظهر المشكلة ولا يتناسب عرض الـ option مع عرض الـ select حيث يظهر الاول أكبر كيف استطيع التحكم فى عرض الـ option لتناسب مع الـ select الحاوي له ؟
- 1 جواب
-
- 1
-
استخدم لغة php ولدي طلبات اجاكس فى الصفحة؛ ولدي collapsible ؛ لاحظت أنه بعد طلب الاجاكس يتعطل الـ jquery ؛ ويتطلب لاعادة عمله القيام بتنسيط الصفحة؛ هل هناك حل لذلك؟ وهل استخدام اطار laravel يحل المشكلة؟
- 2 اجابة
-
- 2
-
تم حل المشكلة .. شكرا
-
هل هذه طريقة صحيحة للابقاء على تسجيل الدخول بشكل مستمر //set cookies to continue sessions $_SESSION['user']=$fetched['username']; $_SESSION['userid']=$fetched['user_id']; setcookie('SESS_user',$_SESSION['user'],time()+ 60*60*24*365*15,'/','localhost',true,true); setcookie('SESS_userid',$_SESSION['userid'],time()+ 60*60*24*365*15,'/','localhost',true,true);
-
الصورة الاولى للكتابة داخل textarea والصورة الثانية بعد استدعاء البيانات من القاعدة ومن ضمنها الكلمة الكتابة بشكل صحيح اما العبارة المستدعاه لم تأتي كما أدخلت فى القاعدة
-
عندما أكتب بالانجليزية داخل تنسيق الاتجاه فيه من اليمين لليسار تأتي الكتابة هكذا what? وعند الضغط على الارسال تظهر النتيجة هكذا what? كيف أحل المشكلة
- 4 اجابة
-
- 2
-
بعض المواقع تضع عبارة (تذكر كلمة السر) وتقوم بتخزين كلمة السر من خلالها.. هل هذه الطريقة غير امنه؟
- 13 اجابة
-
- 1
-
أخزن في الجلسة رقم user_id من قاعدة البيانات؛ أما ال cookie أخزن فيه البريد الالكتروني وكلمة السر للمساعدة على تذكرهما وقت الدخول.. تقصد يحب تخزن بيانلت الجلسة (user_id) فى ال cookie ؟
-
لا ..أقصد ما أقوم بتنفيذه بعد الشرط بـ if ؛ بعد التأكد من وجود cookie
- 13 اجابة
-
- 1
-
ماذا بعد if(isset($_COOKIE['CookieName'])){ $cookie = $_COOKIE['CookieName']; }
-
أعلم هذا؛ ولكن الجلسة تنتهي تلقائيا باغلاق المتصفح حتى دون تسجيل خروج؛ أريدها مستمرة حتى لا يضطر المستخدم تسجيل دخول كل مرة
- 13 اجابة
-
- 1
-
كيف احافظ على جلسة المستخدمين مستمرة حتى يقوموا بتسجيل الخروج بأنفسهم؟ جربت هذه الدالة ولم تأتي بنتيجة session_set_cookie_params('3600*24*7'); session_start();
- 13 اجابة
-
- 1
-
جربت ارسال ايميل من الموقع للمستخدم؛ لا توجد مشكلة فى الحروف الانجليزية ولكن الحروف العربية ترسل على شكل رموز هكذا .. Ø£ÙÙا بÙÙ ÙÙد Ø·Ùبت٠تغÙÙر ÙÙÙØ© اÙÙرÙر ÙÙ ÙÙÙع ÙاÙتÙÙØ©( www.lafetaa.com ). اÙرجاء استخدا٠اÙÙÙد اÙÙرÙÙ ÙتتÙÙÙ Ù٠ادخا٠ÙÙÙØ© ÙرÙر جدÙدة
- 2 اجابة
-
- 1
-
أرغب فى تحرير تعليق بداخل الصفحة باستخدام اجاكس؛ يتم التعديل فى قاعدة البيانات بنجاح ولكن القيمة الراجعه عند استخدام $(this).parents('.inputEditTex').nextAll('.p-comment-homepage').html(data); لا تظهر الا بعد اعادة تحميل الصفحة فى حين عند استخدامها بدونها هكذا $/*(this).parents('.inputEditTex').nextAll*/('.p-comment-homepage').html(data); تظهر فى الحال ولكن على كل الحقول المشابهة.... كيف أظهر القيمة فى مكان النقر فقط: هذا هو الكود: <div class="div-comm-2"> <div class="result dotted"> <div id="inputEditText"> <input type="text" class="text" value="<?php echo $com['c_text']?>"> <input type="hidden" class="comID" value="<?php echo $com['c_id']?>"> <button class="sendEdit">send</button> </div> <p class="p-comment-homepage"><span><?php echo $com['c_text']?></span></p> </div> </div> ==================== $(".sendEdit").on("click", function(){ var ComEdit=$(this).prevAll('.comID').val(); var Text=$(this).prevAll('.text').val(); $.ajax({ url:"thumb.php", data:{ed:ComEdit,text:Text}, success:function(data){ $(this).parents('.inputEditTex').nextAll('.p-comment-homepage').html(data); } }); }); =================== if (isset($_GET['ed']) && isset($_GET['text'])) { $comNum=$_GET['ed']; $text=$_GET['text']; $stmt=$conn->prepare(" UPDATE comments set c_text=? where c_id=? "); $stmt->execute(array($text,$comNum)); if ($stmt) { $stmt=$conn->prepare(" SELECT * from comments where c_id=? "); $stmt->execute(array($comNum)); $com=$stmt->fetch(); if (!empty($com)) { ?> <span><?php echo $com['c_text'] ?></span> <?php } } }
- 3 اجابة
-
- 1
-
أريد أن اجعل الأعضاء يتابع بعضهم بعضا بحيث اذا اضاف احدهم تعليق يصل اشعار للعضو الذي قام بمتابعته قمت بعمل هذا بالفعل ولكن يبقى احصاء عدد المرات التي علق فيها النجم على الاعلانات بحيث يظهر الرقم مع الاشعارات؛ وهذا ما لا استطيع تنفيذه لدي جدول follow follow_id, follow_value, fan_id, star_id star_id هو المتابع بفتح الباء =النجم fan_id هو المتابع بكسر الباء=المعجب follow_value هى القيمة فى حالة الابقاء على المتابعة او الغائها وجدول notify_comment notify_comment_id, comment_id, item_id, star_id star_id هو المتابع بفتح الباء item_id هو الاعلان الذى تحته التعليق comment_id هو رقم التعليق المطلوب احصاء عدد المرات التي علق فيها النجم على الاعلانات؛ يمكن ان يتم هذا اذا وضعت مفتاح fan_id فى الجدول الثاني ولكن هذا لا يمكن لأن النجم له كثير من المعجبين وليس معجب واحد هل يمكن الربط بطريقة many 2 many وكيف أفعل هذا حيث انني لم اجربه من قبل؟ او هل هناك حل اخر؟
- 1 جواب
-
- 1
-
عندي مجموعة عناصر داخل قسم له خاصية display:flex أوجه أمر بأنه عند الضغط على على عنصر ما باستخدام this يظهر عنصر تالي له ؛ وهذه الاستجابة المفترض أن تتم مع كل عنصر يتم الضغط عليه ولكن المشكلة أنه يستجيب اول عنصر فقط <div class="div-dots"> <img src="layout/images/dots.png" id="dots"> <div class="none" id="div-msg-report"> <img src="layout/images/msg.png" class="msg-dots" title="msg" data-bs-toggle="offcanvas" data-bs-target="#offcanvasMsg" aria-controls="offcanvasMsg"> <input type="hidden" id="item" value="$value['item_id']" > <input type="hidden" id="user" value="$value['user_id']" > <i class="fas fa-flag msg-dots"></i> </div> </div> $('#dots').click(function(){ $(this).next().toggle(); });
- 2 اجابة
-
- 1
-
تداركت الخطأ ؛ وبعد تطبيق الكود التالي : function getMatchedWordsFromString($result ,$search) { $words = explode(' ',$result); // توزيع كلمات العنوان في مصفوفة // البحث عن الجزء المبحوث عنه في كل كلمة من كلمات العنوان $suggestions = []; foreach($words as $word){ if(preg_match("/{$search}/i", $word)){ // في حالة احتواء الكلمة على الكلمة المفتاحية array_push($suggestions ,$word); // اضافتها الى مصفوفة الاقتراحات } } return $suggestions; } $suggestions = []; foreach($searchRslt as $result){ $words = explode(' ',$result); foreach ($words as $word) { if(preg_match("/{$search}/i", $word)){ array_push($suggestions, $word); $res=join(' ',$suggestions); ?><span class='spanSearch'><?php print_r ($res).'<br>';?></span><?php }//preg_match }//foreach ($words as $word) } //foreach($searchRslt as $result) البحث يكون بخصوص كلمات فى العنوان ؛ فاذا كان العنوان: flash memory from japan عند كتابة حرف m فى صندوق البحث ؛ تكون النتيجة: memory memory from memory from memory memory from memory from كيف يتم تدارك هذا الخطأ؟ بحيث تكون النتيجة هكذا فقط: memory from
-
هناك مشكلة في الكود ورسالة الخطأ هي: Warning: explode() expects parameter 2 to be string, array given in وترتب عليه خطأ اخر هو Warning: Invalid argument supplied for foreach() in الكود كاملا: if (isset($_GET['sentSearch']) && isset($_GET['country']) ) { $search= $_GET['sentSearch']; $country= $_GET['country']; $stmt3=$conn->prepare(" SELECT * FROM items WHERE (CONVERT(NAME USING utf8) LIKE '%$search%' OR CONVERT(description2 USING utf8) LIKE '%$search%') and country_id=? ORDER BY item_id DESC LIMIT 8"); $stmt3->execute(array($country)); $searchRslt=$stmt3->fetchAll(); if (!empty($searchRslt)) { echo "<div class='close-search-div'>"; echo "<img class='close-search' src='layout/images/close.png'>"; echo "</div>"; echo "<div class='show-search'><span>These signs contain your search words </span>"; function getMatchedWordsFromString($result ,$search) { $words = explode(' ',$result); // توزيع كلمات العنوان في مصفوفة // البحث عن الجزء المبحوث عنه في كل كلمة من كلمات العنوان $suggestions = []; foreach($words as $word){ if(preg_match("/{$search}/i", $word)){ // في حالة احتواء الكلمة على الكلمة المفتاحية array_push($suggestions ,$word); // اضافتها الى مصفوفة الاقتراحات } } return $suggestions; } $suggestions = []; foreach($searchRslt as $result){ $suggestions = array_merge( $suggestions , getMatchedWordsFromString($result ,$search) ); print_r($suggestions); } //foreach ($searchRslt as $value) { echo "</div>"; }else{ echo "<div class='close-search-div'>"; echo "<img class='close-search' src='layout/images/close.png'>"; echo "</div>"; echo "<div class='show-search'>No results</div>"; } }
-
<section> <div class="div-lable"> <label><?php echo $lang['username']?></label> <span class="span-required-front span-required-edit"> * </span> </div> <div class="div-input"> <input type="text" id="user" name="username" class="form-control inputUser" autocomplete="off" > </div> </section> <!--Password field--> <section> <div class="div-lable"> <label><?php echo $lang['password']?></label> <span class="span-required-front span-required-edit"> * </span> </div> <div class="div-input"> <input type="password" id="pass" name="password" class="form-control inputPassword" autocomplete="new-password" placeholder="<?php echo $lang['pass-length']?>" > <img class="showPassClosed" src="<?php echo $images.'eye-off.png' ?>" > <img class="showPassOpen" src="<?php echo $images.'eye.png' ?>" > </div> </section> <!--Email field--> <section id="sect"> <div class="div-lable"> <label><?php echo $lang['email']?></label> <span class="span-required-front"> * </span> </div> <div class="div-input"> <input type="email" id="email" name="email" class="form-control" required> </div> </section> <button type="submit" class="btn btn-primary" id="signUp-btn" name="signUp" ><?php echo $lang['sign-up']?></button> ajax $("#signUp-btn").on("click", function(){ var user=$('#user').val(); var email=$('#email').val(); $.ajax({ url:"emails.php", method:'POST', data:{User:user,Email:email}, success: function(data){ $(".show-emails").append("<div class='show-emails-div'><?php echo $lang['weSentEmail'];?> <a href=mailto: echo $email;><?php echo $lang['openMail'];?></a></div>"); $("#signUp-btn").prop('disabled',true); } }); }); emails.php use PHPMailer\PHPMailer\PHPMailer; if (isset($_POST['User']) && isset($_POST['Email']) ) { $user =$_POST['User']; $email=$_POST['Email']; require_once'PHP-MAILER/vendor/autoload.php'; $mail= new PHPMailer(); $mail->isSMTP();//important, one of the terms $mail->SMTPAuth=true;//important, one of the terms $mail->SMTPDebug=2;//describes bugs if there are any $mail->Host="smtp.gmail.com";//important, one of the terms $mail->Username="radymoh@gmail.com";//important, generates the email $mail->Password="mimrkllzrsggijue";//important, generates the email $mail->SMTPSecure="tls";//important, one of the terms $mail->Port="587";//important, one of the terms /////////////////////////////// $mail->From="info@project.com";//important,stops sending your email as spam $mail->FromName="project";//important, shows up in email as sender name //$mail->addReplyTo("new2000@yahoo.com","ya");//Reply goes to $mail->addAddress($email,$user);//important,recipient's email&name ////////////////////////////// $mail->Subject="Welcome to project"; $mail->isHTML(true);//use HTML or not $mail->Body=" <div style='border:2px solid blue;padding:10px;'> <h2>Hello </h2> <p style='font-size:17px' >thanks for subscribing in project(<a href='http://www.project.com'>www.project.com</a>).</p> <p style='font-size:17px'> Please click the button \"VERIFY EMAIL\" below to complete your registration </p> <form action='http://localhost:82/project/redirect.php' method='POST'> <input type='hidden' name='validate' value='$email'> <button type='submit' style='display:block;width:177px;height:30px;margin:40px auto;background:green;color:white;font-size:25px;font-weight:bold;text-decoration:none;border-radius:5px;padding:5px;padding-top:8px' >VERIFY EMAIL </button> </form> <p style='font-size:15px;color:grey'> if this is a wrong email, just ignore it.</p> </div> "; ///////////////////////////// $mail->SMTPOptions=array( "ssl" => array( "verify_peer"=>false, "verify_peer_name"=>false, "allow_self_signed"=>true ), ); } redirect.php if (isset($_POST['validate'])) { $email=$_POST['validate'].'<br>'; $stmt=$conn->prepare("SELECT * FROM admins WHERE email=? "); $stmt->bind_param("s", $email); $stmt->execute(); $admins=$stmt->rowCount(); }
- 5 اجابة
-
- 1