За последние 24 часа нас посетили 20658 программистов и 1826 роботов. Сейчас ищут 949 программистов ...

ссылки типа index.php?module=1&id1

Тема в разделе "PHP для новичков", создана пользователем demorian, 8 июл 2009.

  1. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    Собственно возник вопрос, раньше как то не до этого было, думал вспомню как я раньше это делал... не вспомнил.
    собственно есть запросы типа

    PHP:
    1.  
    2. <a href=index.php?module=accout_edit&".$row['login']."&delete><img src=/img/admin/delete.user.png wight=12px height=12px border=0 alt=Удалить запись></a>
    3.  
    данная ссылка должна открыть страницу "index.php?module=accout_edit" и отобразить в ней
    ну к примеру кейс $delete


    PHP:
    1. switch ($modul) {
    2. case ($delete):
    3. if ($GET_[$modul] = delete) {
    4. echo "<form action=post><input type=submit name=delete /><input type=submit name=cancel /></form>";
    5. }
    6. brake;
    7. case ($edit):
    8. if ($module = edit) {
    9.    
    10. }
    11. brake;
    12. }
    Использую вот такую систему инклюда в главную страницу для получения ссылок типа index.php?module=edit
    PHP:
    1.  
    2. if (!isset($_GET['module'])) {
    3.  include('includes/first.page.php');
    4. } else  if (isset($_GET['module']) && $_GET['module'] == "view") {
    5.     include('includes/gs/view.php');
    6. }
    7.  
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    А в чём вопрос-то?
     
  3. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    вопрос глуп до безобразия, как сделать чтобы это всё безобразие работало....я уже пол дня мучаюсь. Тут пишу только когда сам не понимаю, гугл не помогает, либо возможно не там ищу.
    когда всё так, ничего не получается, пробовал
    PHP:
    1. else if (isset($_GET['module']) && $_GET['$name'] & $_GET['delete'] == "account_edit&".$row['login']."&delete") {
    2.     include('includes/ls/account.edit.php');
    3. }
    ну и еще куча бредовых вариантов...
     
  4. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Даю пример, а то в вашей каше лень ковыряться:

    PHP:
    1. <?
    2.  
    3. switch($_GET['module']) {
    4.     case "apples" :
    5.         include "/apples.php";
    6.         break;
    7.    
    8.     case "hello":
    9.         include "/something.php";
    10.         break;
    11. }
    12.  
    13. ?>
    А то я хз, в чем проблема выше =)
     
  5. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    Проблема в том, что открывается постоянно пустая страница.
    то, что Вы написали, у меня уже написано, только используется в другом месте. я не могу понять, как добавить значения & и в зависимости от них, открывать определённый кейс
     
  6. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    мне нужно чтобы в страницу к примеру .php?module=account_edit приходило еще &account_name&что_делать
    а исходя из того, что пришло открывать определённый кейс есть мысль сделать это как

    HTML:
    1. <input type=hidden method=post name=<? $row['login'] ?><input type=hidden method=post name="delete">
    2. <a href=ссылка><картинка удалить запись></a></input>
    Ну открывается другая страница и проверяет что пришло с Hidden кнопок. параметр delete определяет что откроется кейс ну к примеру

    PHP:
    1. case($POST_['delete']):
    2. содержимое кейса....
    3.  
    только если я понимаю логику... я не понимаю как это написать...
     
  7. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    /?module=module_name&login=user_login&id=ident_value
    print_r($_GET);

    Ps/
    PHP:
    1. <?
    2. if($_GET['module']){
    3.    if(is_file($module="moduls/".basename($_GET['module']).".php")){
    4.         include $module;
    5.    }esle print "Error, Module not Found";
    6. }else{
    7.    incldue "default_module.php";
    8. }
    9. ?>
     
  8. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
  9. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    Не то, на phpfaq я уже был. интересующию меня информацию я не нашел. учить меня гуглить не надо, я сначала ищу сам если не знаю, а потом уже буду спрашивать.
     
  10. igortik

    igortik Активный пользователь

    С нами с:
    29 июн 2009
    Сообщения:
    41
    Симпатии:
    0
    я не увидел в теме вопроса и не могу помочь.

    смотри что отдаст тебе echo $_GET['module']
    ошибка явно или в синтаксисе где-то или в понимании азов.

    И поменьше этих if в коде.. все гораздо проще. Apple написал.
    Юзай свич, а в нем по ходу какие-то там проверки или вложенные свичи, а продумывать 100 алгоритмов с комбинациями для модулей не стоит
     
  11. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    по сути вопрос закрыт, сделал без креативов по другому. Если кто то мне объяснит, как же всётки создавать правильно сложные запросы, буду благодарен.
     
  12. igortik

    igortik Активный пользователь

    С нами с:
    29 июн 2009
    Сообщения:
    41
    Симпатии:
    0
    demorian
    как сделал поделись...

    что ты имеешь ввиду под сложными запросами?
    перебор значений переменных из GET?

    сори, я не вник в суть пока что
     
  13. demorian

    demorian Активный пользователь

    С нами с:
    25 фев 2009
    Сообщения:
    111
    Симпатии:
    0
    сделал откровенно говоря по тупому, разделил всё на страницы, места занимает больше, но делается в первую очередь для своего удобства, так что по сути меня устраивает:) как выглядит...
    PHP:
    1.  
    2. while ($row=mysql_fetch_array($res))  {
    3.     echo "<tr>
    4. <td height=15>".$row['login']."
    5. <table><tr><td>
    6.     <form method=post name=edit action=index.php?module=account_edit><input type=hidden value=".$row['login']." name=123><input type=image src=/картинка.jpg name=edit></form>
    7.     </td><td>
    8.     <form method=post name=del action=index.php?module=account_delete><input type=hidden value=".$row['login']." name=123><input type=image src=/картинка.jpg name=del></form>
    9.     </td></tr></table>
    10. </td>
    11.  
    12. <td>".$row['accesslevel']."</td>
    13.  
    страница на которую ведёт ссылка получает значение $row['login']. Мне этого хвататет чтобы потом выкопать из базы всё, что мне нужно о юзере:)

    да именно переменные из $_GET[''] я потому что честно забыл как к странице кроме к примеру ?m=a добавить еще &что_то&еще_что_то&ну_и_еще_что_то
     
  14. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    боже, а те не судьба было делать в модуле
    Index.php
    PHP:
    1. <?
    2. // См. Выше писал уже
    3. ?>
    Module.php
    PHP:
    1. <?
    2. case($_GET['action']){
    3.    case "delete";
    4.    break;
    5.    case "add";
    6.    break;
    7.    default;
    8.      print "Error";
    9. }
    10. ?>