النتائج 1 إلى 11 من 11

الموضوع: عندي سؤالين وياريت ألقى جوابهم بخصوص [تحميل ملف] و [تحديد دولة الزائر]

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    604

    عندي سؤالين وياريت ألقى جوابهم بخصوص [تحميل ملف] و [تحديد دولة الزائر]



    السلام عليكم


    بصراجة انا عجزت عن حل هذه المشكلة وهي كالأتي


    لدي لوحة تحكم فيها اضافة أخبار
    • عنوان الخبر
    • صورة الخبر
    • نص الخبر

    طبعا انا في العادة بشكل طبيعي جدا اعمل بوست عادي لكل منهم !!

    وبالنسبة لطريقة وضع الصورة كنت عامل لينك مع مركز تحميل ملفات ليحملها مدير الموقع و من ثم ينسخ الرابط و من ثم يعمل لصق في حقل الصورة في الفورم الإخباري


    الان : انا أريد بدلا من ان يقوم المدير بنسخ و لصق رابط الصورة ان يقوم بتحميل الصورة من جهازة و من ثم اخذ رابطها بشكل اتومتيكي وتحفظ في القاعدة وكأنه هو من وضع رابط الصورة يدوياً


    يا ريت تساعدوني


    هذا كودي لكنه لخيار اضافة إسم كاتب جديد مع صورة الكاتب
    المطلوب: التعامل مع الصورة ، حيث كل ما على مدير الموقع هوتحديد الصورة في جهازة ليقوم السكربت برفعها و حفظها

    كود PHP:
    <?session_start();?>
    <?
    if ($_SESSION['username'] || $_SESSION['password'])
    {
    ?>
    <?
    include('../config.php');
    //**********************************************************************
    $do $_GET['do'];
    //**********************************************************************
    echo"<html >";
    echo
    "
    <style>
    a {color:#00FF00; text-decoration:none; }
    p,td { font-weight:bold }
    </style>
    "
    ;
    echo
    "<head>";
    echo
    " <body  bgcolor='#000000' style='color:#FFFF00;font-family:Arial; font-weight:bold'>";
    IF (
    $do=="add")
    {
    ?>

    <?php
    echo"<br>
    <form name='vbform' method='post' action='writers.php?do=add_ok'  >
    <div align='center'>
      <center>
      <table border='1' cellpadding='2' style='border-collapse: collapse' bordercolor='#00ff00' width='98%' dir='rtl'>
         <tr>
          <td width='100%' colspan='2'>
          <p align='center'>اضافة كاتب جديد
       <br />
       </td>
        </tr>
        <tr>
          <td width='20%'>إسم الكاتب :</td>
          <td width='70%'><input size='70' name='xname' ></td>
        </tr>
        <tr>
          <td width='20%'>صورة الكاتب ) ان وجد)</td>
          <td width='70%' ><INPUT name='userfile' TYPE='file'  size='50'>
     </td>
     </tr>
         <tr>
          <td width='100%' colspan='2'>
          <p align='center'><input type='submit' value='أضف' name='add'> <input type='reset' value='مسح' name='reset'></td>
        </tr>
      </table>
    </form>
    <br>"
    ;
    }
    ELSEIF (
    $do=="add_ok")
    {
     
    //*****************************************************************
    //upload the file
    $FileName $_FILES['userfile']['name'];
    $FileType $_FILES['userfile']['type'];
    $FileSize $_FILES['userfile']['size'];
    switch(
    $FileType)
    {
     case 
    "image/pjpeg":
     
    $ext "jpg";
     break;
     case 
    "image/gif":
     
    $ext "gif";
     break;
    }
    $xx date('YmdGis');
    //$ext="gif";
    $directory="upimage"// 777
     
    $uploaddir =  realpath($directory);
    $newfilename $xx ."." $ext;
    $uploadfile $uploaddir "/" $newfilename;
    move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
    $image    $newfilename;
    // get data
    $name       =$_POST['xname'];

    if (
    $name=="" )
    {
    echo 
    "<br><br><br>";
    echo 
    "<p align=center>يوجد مدخلات ناقصة !!";
    }
    else {
    $result mysql_query ("INSERT  INTO `writes`  ( `name`, `image`)  VALUES  ( '$name', '$image')") or die ("مشكلة في ادخال البيانات الى قاعدة البيانات");
    }
    if(
    $result)
    {
    print 
    "<br>";
    print 
    "<p align=center>تمت إضافة الكاتب بنجاح</p>";
    echo 
    "<br>";
    echo 
    "<META HTTP-EQUIV='Refresh' CONTENT='2;URL=writers.php?do=edit_delete'>";
    }
     
    ?>

    <?php 
    }
    ELSEIF (
    $do=="edit_delete")
    {
    ?>
    <br>
    <br>
    <br>
    <br>
    <center><h3>تعديل او حذف كاتب</h3></center>
    <br>

    <table border="1" bordercolor="black" width="100%"  dir="rtl">
     <tr style="color: #FFFF66">
      <td>::: إسم الكاتب::: </td>
      <td>::: تعديل :::</td>
      <td>::: حذف :::</td>
     </tr>
     
    <?php

    $sql 
    mysql_query ("SELECT *  FROM news ORDER BY writers.id DESC") or die ("مشكلة في جلب البيانات من القاعدة ");
    while(
    $pro=mysql_fetch_array($sql))
    {
    echo 
    "
    <tr>
     <td style=' font-weight:bold ;color:white; '>"
    .$pro['name']."</td>
     <td><a href='writers.php?do=edit_now&id=
    $pro[id]' target='_self'>تعديل البيانات</td>
     <td><a href='writers.php?do=delete&id=
    $pro[id]' target='_self'>حذف الخبر</td>
    </tr>
    "
    ;
    }
    ?>
    </table>
    <br><br>
    <br>

    <?php 
    }
    ELSEIF (
    $do=="edit_now")
    {
    $id intval($_GET['id']);
    ////////////////////////////

    $query3 mysql_query("SELECT * FROM writers WHERE `writers`.id =  '$id'") or die ("مشكلة في جلب المعلومات من قاعدة البيانات !!");
    $newsmysql_fetch_array($query3);
    $writers "$news[writers]";
    $writers htmlspecialchars($writers);
    $writers stripslashes($writers);
    $image "$news[image]";
    $image htmlspecialchars($image);
    $image stripslashes($image);

    ?>
    <?php
    echo"
    <br />
    <br />
    <br />

    <form name='vbform' method='post' action='writers.php?do=update' enctype='multipart/form-data'>
    <div align='center'>
      <center>
      <table border='1' cellpadding='2' style='border-collapse: collapse' bordercolor='#00ff00' width='98%' id='AutoNumber1' dir='rtl'>
        <tr>
          <td width='100%' colspan='2'>
       <input value='
    $id' size='60' name='id'  style='display:none'>
          <p align='center'>تعديل الكاتب :</td>
        </tr>
        <tr>
          <td width='30%'>إسم الكاتب</td>
          <td width='70%'>
           <input value='
    $name' size='70' name='name'></td>
        </tr>
        <tr>
          <td width='30%'>صورة الكاتب</td>
          <td width='70%' ><input size='70' name='image' value='
    $image'>
     </td>
     </tr>
     
     <td width='100%' colspan='2' align='center'>
       <input name='submit' type='submit' value='      تعديل     ' />
       </td>
        </tr>
      </table>
    </form>"
    ;
    ?>
    <br>
    <?php 
    }
    ELSEIF (
    $do=="update")
    {

    //*****************************************************************
    $id        addslashes($_POST['id']);
    $name       addslashes($_POST['name']);
    $image    addslashes($_POST['image']);
    $result mysql_query ("UPDATE writers SET name='$name',image='$image' WHERE id='$id'") or die ("مشكلة في تحديث البيانات !!");
    if(
    $result)
    {
    print 
    "<br>";
    print 
    "<p align=center>تم تحديث البيانات بنجاح !!</p>";
    echo 
    "<META HTTP-EQUIV='Refresh' CONTENT='2;URL=writers.php?do=edit_delete'>";
     

    }
    }
    }
    IF (
    $do=="delete")
    {
    $id intval($_GET['id']);
    $result mysql_query ("DELETE FROM writers WHERE id='$id'") or die ("مشكلة في حذف الخبر من قاعدة البيانات !!");
    if(
    $result)
    {
    print 
    "<br>";
    print 
    "<p align=center>تم حذف الكاتب  بنجاح</p>";
    echo 
    "<META HTTP-EQUIV='Refresh' CONTENT='2;URL=writers.php?do=edit_delete'>";
    }
    ?>
     
    <?php
    }
    ?>
    </body>
    </html>


    في انتظار عباقرة البرمجة





    __________________


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    604


    نسيت أحط السؤال الثاني

    وخوة اني حابب احط علم دولة كل شخص يقوم بالتعليق على موضوع معين !!

    كيف الطريقة بتم بالضبط ؟

    بالاي بي ؟

    وكيف يمكنني تحديد الدولة من الاي بي ؟

    وشكرا مرة اخرى





    __________________

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    May 2006
    المشاركات
    477


    إجاباتهم طبيعيه

    بالنسبه للسؤال الأول فعاملها معاملة رفع الصور لن يكون هناك شيء جديد . فقط بعض التعديلات .. فبالنسبه للرفع أمامك خياراين لتخزين الصور المرفوعه . اما تخزينها في قاعدة البياانات و هذا غير مفضل في حالة ان استخدامها سيكون كثير لعرضها في كل مره يقرأ الزائر الخبر . و بالتالي ستشكل ضغط mysql
    و الحيار الثاني المفضل وهو رفعها داخل مجلد مباشرة علي موقعك بالطريقه العاديه مثل move_uploaded_file و is_uploaded_file

    بالنسبه لسؤالك الثاني ،
    ستحتاج لهذا الأمر قاعدة بيانات بأيبيهات دول العالم .. هذه ستجدها تباع علي الانترنت ـ، لا أذكر الموقعه تحديداً حالياً
    تقدر تعمل مقارنه لرقم أي بي الزائر الذي تستطيع جلبه عن طريق
    $_SERVER['REMOTE_ADDR']
    و من ثم تعمل استعلام ف قاعدة بيانات الأيبيهات لمقارنة الأي بي الخاص به بأي بي الدولة المعينه أو الرينج الخاص بها
    و تقدر تربطها بجدول انت تسويه بقاعدةالبيانات فيه مسارات صور الأعلام لأسماء الدول المعينه . بحيث عندما يأتي لك الاستعلام الأول باسم الدولة . تقدر تستخدم اسم الدولة فيما بعد لجلب صورة العلم الخاص بها لعرضه بجانب المستخدم

    هذه عباره عن فكره مبسطه و سريعه يمكنك استخدامها و تطويرها





    __________________
    أحمد عبد الفتاح
    www.servmix.com
    لمراسلتي : admin@servmix.com


  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    604


    كل ما تحدثت به اخي احمد انا اعرفه !!

    لكن اريده على شكل كود

    لانو البرمجة اصعب مع الخوزمية !!


    في انتظار الاجابة اخواني





    __________________

  5. #5
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    عزيزي علاء ، آسف على التأخر في ردي أولاً ..

    حتى تتمكن من التعامل مع Input من نوع File ويتم رفعه مباشرة بواسطة HTTP File Handling ، عليك بتحديد الخاصية Attribute المسماة بـ enctype بقيمة multipart/form-data ، أي:
    كود:
    <form name='vbform' method='post' action='writers.php?do=add_ok' enctype="multipart/form-data">
    الآن عند إرسال الفورم سيتم مباشرة رفع الملف بواسطة آلية الرفع في HTTP ، للتعامل مع الملف المرفوع عليك، فقط عليك أن تعلم محتويات مصفوفة FILES_$ التي يمكنك استخدامها في ملف الـ PHP المستقبل للفورم ..

    هذا يعني أنك ستتعامل مع عناصر مصفوفة FILES_$ لتحصل على اسم الملف الجديد وتنقله إلى المجلد الذي تريده .. عملية النقل سريعة جداً على السيرفر حيث أنها داخلية ( أو محلية ) ..

    كود PHP:
    move_uploaded_file($_FILES['userfile']['tmp_name'], 'myfolder/'$_FILES['userfile']['name']); 
    هذا سينقل الملف المرفوع إلى مجلد myfolder ( انتبه إلى أن هذا المجلد يحمل تصريح الكتابة المناسب ) ..

    عندها سيكون اللينك المباشر للملف هو:
    كود PHP:
    $link 'myfolder/'$_FILES['userfile']['name']; 
    هذا توضيح سريع لعملية رفع الملفات، يمكنك البحث عن دروس هنا في المنتدى حول هذه الآلية أو طرق الرفع أو تستخدم استيعابك العام للغة لتصل لمرادك، مثلاً يمكنك طباعة مصفوفة FILES_$ للتعرف محتوياتها وتستخدمها:
    كود PHP:
    print_r($_FILES); 
    أخبرنا بما يشكل عليك وسنساعدك بإذن الله تعالى ..

    بخصوص السؤال الثاني ،

    فالطريقة العملية هي مقارنة الآي بي بالنطاق الخاص للدولة ، طبعاً هناك سكربتات جاهزة لهذه الدول، وهناك قواعد بيانات فيها آيبيهات الدول مع أسمائها وكودها ( jo, sa, ae, .... ) منها ما هو مدفوع ومنها القليل المجاني ومعظمها محدودة الإمكانيات، عموماً ليس لدي تحديثات بخصوص هذا الموضوع حيث أن آخر مرة لجأت إلى تطبيق هذه العملية كانت في إحدى نسخ VBZooM القديمة والتي تخدمك بتاتاً ..

    بخصوص صور الأعلام، يمكنك وضع الصور باسم الكود في مجلد، مثل:
    sa.gif
    jo.gif
    ae.gif

    وبشكل مباشر، ستعرض اسم الصورة باستخدام اسم الكود + .gif ، أو امتداد الصور التي تملكها ..

    أعتذر على تقصيري في الرد أشد الاعتذار ..

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    604

    وجدت هذه القاعدة



    يا ريت اخي اشرف تعطيني مثال

    على فورم يكون فيه انبوت من نوع فايل


    و ملف الرفع الخاص به
    لانو كودي مش راضي يزبط اللي انا حطه في المثال فوق


    وبالنسبة للتحديد دولة الزائر وجدت هذه القاعدة لكن لم افهم منها شيء !! :court:

    القاعدة





    __________________

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    604


    ممممم
    بالنسبة للرفع تم حل المشكلة

    لقيت كلاس رائع جدا مع مميزات بتجنن !!


    رابط الكلاس مع المميزات التي يمكن ان يقوم بها على الصور (فوتوشوب بالبي اتش بي ) :

    class.upload.php samples - verot.net





    __________________

  8. #8
    عضو سوبر نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    604


    هلوووووووو


    ما حد يجاوبني بالنسبة للدولة الزائر !!!





    __________________

  9. #9
    عضو نشيط
    تاريخ التسجيل
    Mar 2008
    المشاركات
    148


    شكرا إخواني على التفاعل الأكثر من رائع
    أخي النحات الفكرة شرحها لك أخوين اثنين.حاول أن تبدأ البرمجة أو أن تبحث عن سكريبت جاهز به هاته المميزة






  10. #10
    عضو فعال
    تاريخ التسجيل
    Jan 2002
    المشاركات
    1,185

    Question



    بخصوص تحديد دوالة الزائر الطريقة هنا
    http://www.vbzoom.com/forum-show-38-ar.html





    __________________
    Emanage Company
    128 El-Haram St - Giza
    www.emanage.net

  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    604


    شكرا يا حب





    __________________





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض