explode(): Empty delimiter

Dieses Thema im Forum "Webentwicklung" wurde erstellt von ch-sokrates, 3. Januar 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 3. Januar 2006
    Hallo,

    ich bekomme folgende fehlermeldung bei ausführung einer datei:

    Warning: explode(): Empty delimiter. in /srv/www/***/html//***/***/module/biz/kunden_detail_confixx.php on line 208

    Das sind die zeilen 208 und 209:

    Code:
    $x = explode("$s",$html);
    $y = explode("<br>",$x[1]);
    wo liegt hier der Fehler??

    gruß

    Sokrates
     
  2. 4. Januar 2006
    kannst du mal bitte schreiben, was in der variable $html steht?
    oder sollte das nur "html" heißen?
     
  3. 4. Januar 2006
    hier mal die ganze seite

    Code:
    <?
    $module = basename(dirname(__FILE__));
    include("./inc/functions.inc.php");
    include("../../header.php");
    
    
    include("./inc/reiter1.layout.php");
    $bgcolor[0] = "#f0f0f0";
    $linecolor[0] = "#000000";
    
    $bgcolor[4] = "#ffffff";
    $linecolor[4] = "#ffffff";
    include("./inc/reiter1.php");
    
    
    if($newconfixxver!="") {
     $_SESSION[confixxver] = $newconfixxver;
    }
    
    if($_SESSION[confixxver]=="") { $_SESSION[confixxver] = "confixx2"; }
    if($_SESSION[confixxver]=="confixx2") { $software = "Confixx 2"; }
    if($_SESSION[confixxver]=="confixx3") { $software = "Confixx 3"; }
    
    $res = $db->query("select * from biz_interfaces where software ='$software'");
    $con = $db->fetch_array($res); 
    
    
    
    ?>
    <form action="module/biz/kunden_detail_confixx.php?savever=true&kundenid=<?=$kundenid?>" method="post">
    <table width="540" border="0" cellspacing="0" cellpadding="0">
    <tr bgcolor="#cccccc">
    <td>
    
    <table width="100%" border="0" cellspacing="1" cellpadding="3">
    <tr bgcolor="#e7e7e7">
     <td><b>Confixx Version</b></td>
    </tr>
    <tr>
     <td bgcolor="#ffffff"><select name="newconfixxver">
     <option value="confixx2" <?if($_SESSION[confixxver]=="confixx2") { echo " selected"; }?>>Confixx2</option>
     <option value="confixx3" <?if($_SESSION[confixxver]=="confixx3") { echo " selected"; }?>>Confixx3</option>
     </select> <input type="submit" value="Speichern"></td>
    </tr>
    </table>
    
    </td>
    </tr>
    </table>
    </form>
    <br>
    <br>
    <form action="module/biz/kunden_detail_confixx.php?createaccount=true&kundenid=<?=$_REQUEST[kundenid]?>" method="post">
    <table width="540" border="0" cellspacing="0" cellpadding="0">
    <tr bgcolor="#cccccc">
    <td>
    
    <table width="100%" border="0" cellspacing="1" cellpadding="3">
    <tr bgcolor="#e7e7e7">
     <td colspan="2"><b>Neuer Confixx Kunden Account</b></td>
    </tr>
    <tr>
     <td bgcolor="#ffffff">Server</td>
     <td bgcolor="#ffffff"><select name="serverid">
     <?
     $res = $db->query("select * from biz_defaultserver where servertyp ='$_SESSION[confixxver]'");
     while($row = $db->fetch_array($res)) {
     echo "<option value=\"$row[serverid]\">$row[serverip]</option>";
     }
     ?>
     </select><br><font size="1">Reseller bzw. Adminmenü URL</font></td>
     
    </tr>
    <tr>
     <td bgcolor="#ffffff">Kundenmenü</td>
     <td bgcolor="#ffffff"><select name="serverclientid">
     <?
     $res = $db->query("select * from biz_defaultserver where servertyp ='$_SESSION[confixxver]'");
     while($row = $db->fetch_array($res)) {
     echo "<option value=\"$row[serverid]\">$row[serverip]</option>";
     }
     ?>
     </select><br><font size="1">Kundenmenü URL</font></td>
     
    </tr>
    <tr>
     <td bgcolor="#ffffff">Paket Leistungen</td>
     <td bgcolor="#ffffff">
     <select name="paketid">
     <?
     
     $lines = explode("\n",$con[konfig]);
     
     for($i=0;$i<=count($lines);$i++) {
     if(strstr($lines[$i],"[")) {
     $temp = explode("[",$lines[$i]);
     $temp2 = explode("]",$temp[1]);
     $paketname = stripslashes($temp2[0]);
     $pakete[] = $paketname;
     } 
     }
     
     for($i=0;$i<count($pakete);$i++) {
     echo "<option value=\"$i\">$pakete[$i]</option>";
     }
     ?>
     </select><br><font size="1">Wählen Sie das richtige Paket für einen Reseller bzw. User Account</font></td>
     
    </tr>
    <tr>
     <td bgcolor="#ffffff">Hauptdomain</td>
     <td bgcolor="#ffffff">
     <select name="domain">
     <?
     $res = $db->query("select * from biz_domains where kundenid='$_REQUEST[kundenid]'");
     while($row = $db->fetch_array($res)) {
     echo "<option value=\"$row[domainname]\">$row[domainname]</option>";
     }
     ?>
     </select><br>
     </td>
    </tr>
    <tr>
     <td bgcolor="#ffffff">Typ</td>
     <td bgcolor="#ffffff"><input type="checkbox" name="reseller" value="true">Reseller Account anlegen</td>
    </tr>
    <tr>
     <td colspan="2" bgcolor="#ffffff"><input type="submit" value="Anlegen"></td>
    </tr>
    </table>
    
    </td>
    </tr>
    </table>
    </form>
    
    <br>
    <br>
    
    
    <?if($_REQUEST[createaccount]=="true") {
    
    
    $res = $db->query("select * from biz_kunden where kundenid='$_REQUEST[kundenid]'");
    $kunden = $db->fetch_array($res);
    
    
    $firma = urlencode($kunden[firma]); 
    $name = urlencode($kunden[nachname]);
    $firstname = urlencode($kunden[vorname]);
    $anschrift = urlencode($kunden[strasse]);
    $ort = urlencode($kunden[ort]);
    $plz = urlencode($kunden[plz]);
    $land = urlencode($kunden[land]);
    $telefon = urlencode($kunden[telefon]);
    $kundennummer = $_REQUEST[kundenid];
    $emailadresse = urlencode($kunden[mail]);
    
    
     $lines = explode("\n",$con[konfig]);
     
     $entry = 0;
     for($i=0;$i<=count($lines);$i++) {
     if(strstr($lines[$i],"[")) {
     if($paketid==$entry) {
     $parse = true;
     }
     else { $parse = false; }
     $entry++;
     } 
     if($parse==true) {
     if(strstr($lines[$i],"=")) {
     $t = explode("=",$lines[$i]);
     $var = trim($t[0]);
     $val = trim($t[1]);
     $$var = $val; 
     }
     }
     }
    
     
    $res = $db->query("select * from biz_defaultserver where serverid='$_REQUEST[serverid]'"); 
    $server = $db->fetch_array($res);
    $temp = explode("http://",$server[serverip]);
    
    $host = "http://$server[benutzername]:$server[passwort]@$temp[1]";
    
    #echo "<pre>x: $x</pre><br><br>SID: $mysid";
    #$x = PostToHost("web3.orangebit.de","/admin/anbieter_anlegen.php","SID=$mysid");
    
    if($_REQUEST[reseller]=="true") { $_REQUEST[script] = "anbieter_anlegen4.php"; $_REQUEST[s] = "Anbieter:"; }
    else { $_REQUEST[script] = "kunden_neu5.php"; $_REQUEST[s] = "Kunde:"; }
    
    if($_SESSION[confixxver]=="confixx2") {
     $html = file_get_contents("$host"."$_REQUEST[script]?maxkb=$webspace&kbtyp=MB&maxpop=$pop3&maxemail=$mailaliase&maxautoresponder=$autoresponder&maxftp=$ftp&maxtransfer=$traffic&maxsubdomains=$subdomains&maxmysql=$mysqldb&wildcard=$wildcards&ftp=$bool_ftp&php=$bool_php&perl=$bool_perl&ssi=$bool_ssi&dirlist=$bool_dirlisting&statistik=$bool_webalizer&pwschutz=$bool_dirpwd&fehlerseiten=$bool_errorpages&webftp=$bool_webftp&webmail=$bool_webmail&phpupload=$bool_phpupload&shell=$bool_shell&wap=$bool_wap&stdcgi=$bool_cgi&ip=standard&domains=$domain&name=$name&firstname=$firstname&anschrift=$anschrift&ort=$ort&plz=$plz&land=$land&telefon=$telefon&kundennummer=$kundennummer&emailadresse=$emailadresse");
    }
    if($_SESSION[confixxver]=="confixx3") {
     $mysid = confixx3_getsid($server[serverip], $server[benutzername], $server[passwort]);
     sleep(1);
     if($_REQUEST[reseller]=="true") { $_REQUEST[sp] = "admin"; }
     else { $_REQUEST[sp] = "reseller/$server[benutzername]"; }
     $html = confixx3_anbieterneu($server[serverip], "/$_REQUEST[sp]/$_REQUEST[script]", 
     "maxkb=$webspace&kbtyp=MB&maxpop=$pop3&maxemail=$mailaliase&maxautoresponder=$autoresponder&maxftp=$ftp&maxtransfer=$traffic&maxsubdomains=$subdomains&maxmysql=$mysqldb&maxcronjobs=$cronjobs&wildcard=$wildcards&ftp=$bool_ftp&php=$bool_php&perl=$bool_perl&ssi=$bool_ssi&dirlist=$bool_dirlisting&statistik=$bool_webalizer&pwschutz=$bool_dirpwd&fehlerseiten=$bool_errorpages&webftp=$bool_webftp&webmail=$bool_webmail&phpupload=$bool_phpupload&shell=$bool_shell&wap=$bool_wap&stdcgi=$bool_cgi&ip=standard&domain[1]=$domain&name=$name&firstname=$firstname&anschrift=$anschrift&ort=$ort&plz=$plz&land=$land&telefon=$telefon&kundennummer=$kundennummer&emailadresse=$emailadresse&maxidn=-1&maxmaillist=0&SID=$mysid");
    }
    
    #echo $html;
    
    $x = explode("$s",$html);
    $y = explode("<br>",$x[1]);
    
    $user = str_replace("<br>","",$y[0]);
    $user = str_replace("<b>","",$user);
    $user = str_replace("</b>","",$user);
    $user = trim($user);
    
    $z = explode("Passwort:",$y[1]);
    
    $pwd = str_replace("<br>","",$z[1]);
    $pwd = str_replace("<b>","",$pwd);
    $pwd = str_replace("</b>","",$pwd);
    $pwd = trim($pwd);
    
    
    $db->query("insert into biz_serveraccounts (serverid,accountname,accountpwd,serveradminid,kundenid) values ('$serverclientid','$user','$pwd','$serverid','$kundenid')");
    
    echo "<font color=\"green\"><b>Account ist angelegt.</b></font>";
    
    }?>
    <br>
    <br>
    
    
    <table width="550" border="0" cellpadding="0" cellspacing="0">
    <tr>
     <td bgcolor="#cccccc" height="1"><img src="img/pixel.gif" width="1" height="1"></td>
    </tr>
    </table>
    <br>
    
    
    <form action="module/biz/kunden_detail_confixx.php?confixxsync=true&kundenid=<?=$_REQUEST[kundenid]?>" method="post">
    <table width="540" border="0" cellspacing="0" cellpadding="0">
    <tr bgcolor="#cccccc">
    <td>
    
    <table width="100%" border="0" cellspacing="1" cellpadding="3">
    <tr bgcolor="#e7e7e7">
     <td colspan="2"><b>Confixx Synchronisation</b></td>
    </tr>
    <tr>
     <td bgcolor="#ffffff">Server</td>
     <td bgcolor="#ffffff"><select name="serverid">
     <?
     $res = $db->query("select * from biz_defaultserver where servertyp ='$_SESSION[confixxver]'");
     while($row = $db->fetch_array($res)) {
     echo "<option value=\"$row[serverid]\">$row[serverip]</option>";
     }
     ?>
     </select> <input type="submit" value="Senden"></td>
     
    </tr>
    </table>
    
    </td>
    </tr>
    </table>
    </form>
     
    
    <br>
    <br>
    
    
    <?
    if($_REQUEST[confixxlinkaccount]=="true") {
    
     $webs = $_REQUEST["webs"];
     
     foreach($webs as $elem) {
     $db->query("insert into biz_serveraccounts (serverid,accountname,accountpwd,serveradminid,kundenid) values ('$_REQUES[serverclientid]','$elem','','$_REQUEST[serverid]','$_REQUEST[kundenid]')"); 
     }
     
     echo "<font color=\"green\">Account ist zugeordnet.</font>";
    
    }
    ?>
    
    
    
    
    <?
    if($_REQUEST[confixxsync]=="true") {
    ?>
    
    <form action="module/biz/kunden_detail_confixx.php?confixxlinkaccount=true&serverid=<?=$_REQUEST[serverid]?>&kundenid=<?=$_REQUEST[kundenid]?>" method="post">
    <table width="540" border="0" cellspacing="0" cellpadding="0">
    <tr bgcolor="#cccccc">
    <td>
    
    <table width="100%" border="0" cellspacing="1" cellpadding="3">
    <tr bgcolor="#e7e7e7">
     <td></td>
     <td><b>User</b></td>
     <td><b>Name</b></td>
     <td><b>Domains</b></td>
    </tr>
    
    
    
    
    <?
    
     $res = $db->query("select * from biz_kunden where kundenid='$_REQUEST[kundenid]'");
     $kun = $db->fetch_array($res);
    
     $res = $db->query("select * from biz_defaultserver where serverid='$_REQUEST[serverid]'");
     $server = $db->fetch_array($res);
     
     if($_SESSION[confixxver]=="confixx2") {
    
     $temp = explode("http://",$server[serverip]);
     $host = "http://$server[benutzername]:$server[passwort]@$temp[1]";
    
     if(strstr($server[benutzername],"res")) { $script = "kunden_aendern_kundenliste.php"; }
     else { die(); }
     $lines = file("$host"."$script");
    
    
     foreach ($lines as $line_num => $line) {
     echo $line;
     
     if(strstr($line,"<tr >")) { $parse = true; $counter = 0; }
     
     if($parse==true) {
     if($counter==2) { 
     $user = str_replace("</td>","",$line);
     $user = trim($user);
     }
     if($counter==4) { 
     $name = str_replace("</td>","",$line);
     $name = trim($name);
     if(strstr($name,$kun[nachname])) { $name = "<font color=\"green\"><b>$name</b></font>"; }
     }
     
     if($counter==6) { 
     $doms = str_replace("</td>","",$line);
     $doms = trim($doms);
     $parse = false;
     ?>
     <tr>
     <td valign="top" bgcolor="#ffffff"><input type="checkbox" name="webs[]" value="<?=$user?>"></td>
     <td valign="top" bgcolor="#ffffff"><?=$user?></td>
     <td valign="top" bgcolor="#ffffff"><?=$name?></td>
     <td valign="top" bgcolor="#ffffff"><?=$doms?></td>
     </tr>
     <?
     }
     $counter++;
     }
     }
    
    
     }
     
     
     if($_SESSION[confixxver]=="confixx3") {
    
     $mysid = confixx3_getsid($server[serverip], $server[benutzername], $server[passwort]);
     sleep(1);
    
     $temp = explode("http://",$server[serverip]);
     $host = "http://$server[benutzername]:$server[passwort]@$temp[1]";
    
     if(strstr($server[benutzername],"res")) { $path = "/reseller/$server[benutzername]/kunden_aendern_kundenliste.php"; }
     else { die(); }
     $lines = confixx3_kundenausgeben($server[serverip],$path,"SID=$mysid");
     
     
    
     foreach ($lines as $line_num => $line) {
     if(strstr($line,"<tr >")) { $parse = true; $counter = 0; }
     
     if($parse==true) {
     if($counter==2) {
     $x = explode(">",$line); 
     $user = str_replace("</a>","",$x[1]);
     $user = trim($user);
     }
     if($counter==5) { 
     $name = str_replace("</td>","",$line);
     $name = trim($name);
     if(strstr($name,$kun[nachname])) { $name = "<font color=\"green\"><b>$name</b></font>"; }
     }
     
     if($counter==7) { 
     $doms = str_replace("</td>","",$line);
     $doms = trim($doms);
     $parse = false;
     ?>
     <tr>
     <td valign="top" bgcolor="#ffffff"><input type="checkbox" name="webs[]" value="<?=$user?>"></td>
     <td valign="top" bgcolor="#ffffff"><?=$user?></td>
     <td valign="top" bgcolor="#ffffff"><?=$name?></td>
     <td valign="top" bgcolor="#ffffff"><?=$doms?></td>
     </tr>
     <?
     }
    
     $counter++;
     }
     }
    
     }
    
    ?>
    
    <tr>
     <td colspan="4" bgcolor="#ffffff">
    Kundenmenü URL: <select name="serverclientid">
     <?
     $res = $db->query("select * from biz_defaultserver where servertyp ='$_SESSION[confixxver]'");
     while($row = $db->fetch_array($res)) {
     echo "<option value=\"$row[serverid]\">$row[serverip]</option>";
     }
     ?>
    </select>
    </td>
    </tr>
    
    <tr>
     <td colspan="4" bgcolor="#ffffff"><input type="submit" value="Ausgewählte Accounts dem Kunden zuordnen"></td>
    </tr>
    </table>
    
    </td>
    </tr>
    </table>
    </form>
     
    <?
    }
    ?>
    
    <br>
    <br>
    
    <?include("../../footer.php");?>
    
     
  4. 4. Januar 2006
    öhm ?(
    der code is zwar leicht umfangreich, aber ich glaube zu wissen, wass der fehler is: der string soll in zeile 208 in n array zerlegt werden... aber was ist die trennungsstelle?
    du hast nirgendwo vorher der variablen $s nen wert zugewiesen,da kann auch nix exploden , da der ja an ner leeren stelle teilen soll...

    mfG. sCuDs
     
  5. 4. Januar 2006
    also schwerer zu lösen wie ich dachte
     
  6. 4. Januar 2006
    nja, eigendlich doch, wenn du irgendwo was machst wie
    PHP:
    $s  = { der string wo du trennen willst }
    ich hoffe, du weist, welcher das sein muss, ich nämlcih nicht


    EDIT:
    was genau soll das ding eigendlich machen? ?(
    hab grad keie zeit, mir über 400 codezeilen anzuguggen, da ich noch an nem andern script arbeite...
     
  7. 4. Januar 2006
    ich denke nach 30 Tassen kaffee und 2 packung Marlboro werde ich das finden hoffe ich doch mal ^^ so nen mist

    edit;

    $s = "Anbieter" mal gucken eben einbauen
     
  8. 4. Januar 2006
    War explode nicht dafür da einen string von einem bestimmten zeichen zu trennen und dann den inhalt zwischen dem jeweiligen zeichen einzeln auszugeben?
    wenns nun so ist:
    PHP:
    $asd  = array( 1 | 2 | 3 | 4 );
    $bla  explode (|, $asd );
    Dann würde es die einzelnen zahlen ohne | ausgeben oder Oo?
     
  9. 4. Januar 2006
    das ist eine Schnittstelle zu confixx er legt die user automatisch an
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.