2011-05-13 20 views
7

Estoy tratando de incluir un archivo para mostrar en una pestaña en una página. El archivo se desplegará muy bien, pero cuando intento agregar la cadena de consulta necesaria, aparece el error "No se pudo abrir la secuencia: No existe ese archivo o directorio".URL querystring con un php incluye

He intentado con una inclusión directa e intenté establecer la cadena de consulta como una variable. Aquí es donde estoy ahora mismo.

$listingVars = '?mls=' . $_REQUEST['mlid'] . '&lid=0&v=agent';include("agentview.php$listingVars");

Alguien ha hecho esto con éxito?

Respuesta

12

No puede incluir una cadena de consulta en un include().

Asumiendo que esto es un script local, se puede utilizar:

$_REQUEST['mls'] = $_REQUEST['mlid']; 
$_REQUEST['lid'] = 0; 
$_REQUEST['v'] = 'agent'; 
include("agentview.php"); 

si se trata de una secuencia de comandos remota en un servidor diferente, no utilice incluyen.

+0

Esto funcionó muy bien, ¡ahora tengo que descubrir por qué se está rompiendo mi JS! Aceptaré esta respuesta cuando pueda. – SickHippie

+0

¿Hay alguna razón particular por la que tenga que volver a solicitar manualmente las variables de consulta de esta manera ... o, ¿por qué? – WoodrowShigeru

3

creé una variable en la segunda página de - y se lo pasó un valor en la primera página - y funcionó para mí:

*Page with include: 'index.php' 
<?php $type= 'simple'; include('includes/contactform.php'); ?> 


*Page included: 'includes/contactform.php' 

switch($type){ 
    case 'simple': 
    //Do something simple 
    break; 

    default: 
    //Do something else 
    break; 
} 
1

modifico la respuesta aceptada dada por Frank Farmer un poco para trabajar por diferentes consultas:

incluir dos veces causaría problema:

$_REQUEST['mls'] = $_REQUEST['mlid']; 
$_REQUEST['lid'] = 0; 
$_REQUEST['v'] = 'agent'; 
include("agentview.php"); 

//changing the v to another 
$_REQUEST['v'] = 'agent2'; 
include("agentview.php"); 

Para aquellos que se encuentran con este múltiplo incluyen problema, se podría concluir que el código dentro "agentview.php" en una función:

Dentro agentview.php archivo

function abc($mls,$lid,$v){ 
    ...your original codes here... 
} 

necesita llamar agentview.php

include_once("agentview.php"); 
abc($_REQUEST['mlid'], 0, 'agent'); 
abc($_REQUEST['mlid'], 0, 'agent2'); 

espero que ayude a alguien encontrar el mismo problema como yo y gracias Frank Farmer por la gran solución que me ahorró mucho tiempo.

Cuestiones relacionadas