2016-07-18 13 views
0

実行したいtel2.php各IPアドレスに対してforループを実行します。私のtel2.phpファイルにはsession_start()があります。したがって、forループスクリプトが実行されるたびに、セッションが既に開始されているというエラーが表示されます。これを解決する方法を教えてください。ありがとうございました。forループからphpスクリプトを複数回実行します

<?php 
session_start(); 
include("check.php"); 
$dbHost = 'localhost'; 
$dbUsername = 'root'; 
$dbPassword = ''; 
$dbName = 'searchrouters'; 
//connect with the database 
$conn = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName); 
// Check connection 
$checkbox1=$_POST['IP']; 
{ 
    for($i=0; $i<sizeof($checkbox1);$i++){ 
     $query="INSERT INTO checked (name) VALUES ('".$checkbox1[$i]."')"; 
     $conn->query($query) or die(mysql_error()); 
     $_SESSION['ipadd'] = $checkbox1[$i]; 
     include('tel2.php'); 
    } 

} 
?> 

Tel2.php

<?php 
session_start(); 
require_once "PHPTelnet.php"; 
$telnet = new PHPTelnet(); 
$telnet->show_connect_error=0; 
// if the first argument to Connect is blank, 
// PHPTelnet will connect to the local host via 127.0.0.1 
$ipadd = $_SESSION['ipadd']; 
echo $ipadd; 
$result = $telnet->Connect("$ipadd",'nib2p1','nib2p1'); 
switch ($result) { 
case 0: 
$telnet->DoCommand('term length 0', $result); 
echo $result; 
$telnet->DoCommand('show clock', $result); 
// NOTE: $result may contain newlines 
echo $result; 
// say Disconnect(0); to break the connection without explicitly logging out 
$telnet->Disconnect(); 
break; 
case 1: 
echo '[PHP Telnet] Connect failed: Unable to open network connection'; 
break; 
case 2: 
echo '[PHP Telnet] Connect failed: Unknown host'; 
break; 
case 3: 
echo '[PHP Telnet] Connect failed: Login failed'; 
break; 
case 4: 
echo '[PHP Telnet] Connect failed: Your PHP version does not support PHP Telnet'; 
break; 
} 
?> 
+0

何が間違っていますか? – yafater

+0

はtel2.phpのコードを表示し、正確にどのエラーが表示されているかを示します。 –

+0

前のページからIPアドレスを取得するにはセッションが必要です。 $ _GETを使用すると、何とか私のために動作しません – hgnisitida

答えて

0

実際@yafaterようTEL2からセッション開始を削除コメント

で述べています。一度

私は次のように言うでしょう。具体的には十分である:あなたがリンクされて提供してきました 二つのファイル、一方が他方に含まれています。したがって、基本的には1つのファイルとしてのみ考慮する必要があります。また、間に閉じないでセッションを2回開始することはできませんので、1つだけsession_start()が必要です。

<?php 

// start session 
session_start(); 

$dbHost = 'localhost'; 
$dbUsername = 'root'; 
$dbPassword = ''; 
$dbName = 'searchrouters'; 
//connect with the database 
$conn = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName); 
// Check connection 
$checkbox1=$_POST['IP']; 
{ 
    for($i=0; $i<sizeof($checkbox1);$i++){ 
     $query="INSERT INTO checked (name) VALUES ('".$checkbox1[$i]."')"; 
     $conn->query($query) or die(mysql_error()); 
     $_SESSION['ipadd'] = $checkbox1[$i]; 

     // include the file tel2.php 
     // session can't be started again, it's already on 

     require_once "PHPTelnet.php"; 
     $telnet = new PHPTelnet(); 
     $telnet->show_connect_error=0; 
     $ipadd = $_SESSION['ipadd']; 
     echo $ipadd; 
     $result = $telnet->Connect("$ipadd",'nib2p1','nib2p1'); 
     switch ($result) { 
      case 0: 
      case 1: 
      case 2: 
      case 3: 
      case 4: 
     } 
    } 

} 

(あなたが実際にセッションを開始する必要がある唯一の時間が再びある場合:あなたはPHPは最初のファイル内tel2.phpファイルを含めた後のコードはそうのようになります理解するために

あなたはTel2.phpでユーザをリダイレクトしました。この場合、それは別個のファイルとみなされていました)

関連する問題