Function eregi() is deprecated

Tanácsok és kérdések a Webshop Hun1 Smarty telepítéséhez és konfigurációjához.
marcus
Hozzászólások: 8
Csatlakozott: hétf. márc. 21, 2011 1:34 pm
Kapcsolat:

Function eregi() is deprecated

Hozzászólás Szerző: marcus »

Tisztelt István!

A telepítés megakad az alábbi hibaüzenettel:
Deprecated: Function eregi() is deprecated in /chroot/home/fabolhu/fabol.hu/html/shop/install/function.php on line 56 Warning: Cannot modify header information - headers already sent by (output started at /chroot/home/fabolhu/fabol.hu/html/shop/install/function.php:56) in /chroot/home/fabolhu/fabol.hu/html/shop/install/tabla_letrehozas.php on line 24

Kipróbáltam a neten fellelhető összes verziószámú Webshop hun-t. Futtattam a proba.php-t is, eredményesen, de minden esetben megakadt a telepítés. A táblát nem hozza létre.

Próbáltam megoldást találni különböző fórumokon is de a php frissítésére számomra érthetetlen eljárásokat ismertetnek. Az eregi cseréje preg_match-re meg szintén kifogott rajtam.

Segítségét előre is köszönöm!
Üdvözlettel
Vigh Attila

Avatar
mezofi
Site Admin
Hozzászólások: 933
Csatlakozott: csüt. okt. 16, 2008 7:30 am
Kapcsolat:

Re: Function eregi() is deprecated

Hozzászólás Szerző: mezofi »

Szia!
Érdekes a probléma, főleg azért mert ami a netprog.eu oldalon van 1.071s és 1.072s azok install mappájában lévő function.php-ben az eregi() függvény a 91. sorban van és nem az 56.-ban.
A netprog.eu oldalról töltötted le?
Milyen tárhelyet bérelsz ahol nincs a php-ben alapból az eregi() függvény?

Ha más megoldás nem lesz akkor küldök egy adatbázist és azt csak be kell olvasni a PhpMyAdmin felületre, ezzel kész lesz az adatbázis.

Mezőfi

marcus
Hozzászólások: 8
Csatlakozott: hétf. márc. 21, 2011 1:34 pm
Kapcsolat:

Re: Function eregi() is deprecated

Hozzászólás Szerző: marcus »

Szia!

Az idézett hibaüzenet az 1.05-ös telepítése során generálódott, de az 1.06, 1.071 és az 1.072-vel is próbálkoztam, az eredmény ugyan az volt csak a sorok száma eltért. Az utóbbi két verzió igen a netprog.eu oldalról jött le.
Az oldalam Interworx Linux Mo.-i tárhelyen van. Adatbázist bármennyit létre lehet hozni a csomagban.

Amit lehetséges megoldásként írtál, valószínűleg számomra gondot fog okozni ezért kérlek mellékelj majd a táblázathoz egy "használatit". (hogy tudom majd beolvasni azt a phpmyadmin felületen?)

Nagyon köszönöm a segítségedet!
Üdv
Vigh Attila

Avatar
mezofi
Site Admin
Hozzászólások: 933
Csatlakozott: csüt. okt. 16, 2008 7:30 am
Kapcsolat:

Re: Function eregi() is deprecated

Hozzászólás Szerző: mezofi »

Szia!
Ide kattintva nyisd meg, majd másold be a tartalmat egy fájlba, és nevezd el valami.sql-nek.
Lépj be a PhpMyAdmin felületre ami a tárhelyedhez tartozik. Válaszd az Importálás fület és a megjelenő tallózó ablakban tallózd meg a létrehozott .sql fájlt.
A tallózó mező alatt van a Fájl karakterkészlete lenyíló, ott válaszd a Latin1-et, majd a jobb alsó részen lévő Indítás gombbal tudod létrehozni a táblákat.
Kép

Mezőfi

marcus
Hozzászólások: 8
Csatlakozott: hétf. márc. 21, 2011 1:34 pm
Kapcsolat:

Re: Function eregi() is deprecated

Hozzászólás Szerző: marcus »

Szia István!

Úgy tűnik sikerült.
Még egyszer köszönöm!

Üdv
Vigh Attila

Avatar
mezofi
Site Admin
Hozzászólások: 933
Csatlakozott: csüt. okt. 16, 2008 7:30 am
Kapcsolat:

Re: Function eregi() is deprecated

Hozzászólás Szerző: mezofi »

Nincs mit.
Mezőfi

marcus
Hozzászólások: 8
Csatlakozott: hétf. márc. 21, 2011 1:34 pm
Kapcsolat:

Re: Function eregi() is deprecated

Hozzászólás Szerző: marcus »

Szia István!

A Rendelés befejezése után nem kapok semmilyen visszaigazolást, hogy feldolgozás alatt van e vagy megrendelését rögzítettük.
A Rendelések lekérdezésekor ezt a hibaüzenetet kapom:
SELECT r.id AS reg_id, r.ker_nev, r.vez_nev, re.total_cost, re.date, re.id, rel.allapot, re.email_allapot , re.olvasva, re.visszatartva FROM myshop_rend as re, myshop_rend_allapot_leiras as rel, myshop_regisztracio as r WHERE r.id = re.reg_id , re.atvive AND re.reg_id=293 AND re.allapot_id = rel.allapot_id AND rel.nyelv_id = 4 ORDER BY re.date DESC LIMIT 0, 30
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' re.atvive AND re.reg_id=293 AND re.allapot_id = rel.allapot_id AND rel.n' at line 3
Fájl: /chroot/home/fabolhu/fabol.hu/html/shop/admin/include/vasarloi_szint/rendeles_nezet.php sor: 83

Mi lehet a gond?

Egyébként nagyon tetszik a programod és példanélküli a hozzáadott támogatásod!

Üdv
Vigh Attila

Avatar
mezofi
Site Admin
Hozzászólások: 933
Csatlakozott: csüt. okt. 16, 2008 7:30 am
Kapcsolat:

Re: Function eregi() is deprecated

Hozzászólás Szerző: mezofi »

Ez lenne a helyes fájl tartalom, egy , re.atvive rossz helyen volt.
Shop/admin/include/vasarloi_szint/rendeles_nezet.php

Kód: Egész kijelölése

<?php 
/* 
    ********************************************
    *     A php és mysql scripteket írta:      *
	*              Mezofi István               *
	*        http://www.netprog.eu             *
	*  Online help: http://www.netprog.eu/hun1 *
	*										   *
    ********************************************
 */
if(!defined('IN_MAIN')){
header("Location: ../../index.php");
exit;
}

$talalt = ""; //Ha volt keresés akkor hozzáadjuk a találatot

$oldalankentDb = 30;


//Ha oldal számot kaptunk
if(isset($_GET["oldalSzam"]) && trim($_GET["oldalSzam"]) != "" && ( (string)(int)trim($_GET["oldalSzam"]) == trim($_GET["oldalSzam"]) ) ){
$actOldal = (int)trim($_GET["oldalSzam"]);
}else{
$actOldal = 1;
}


//Olvassuk ki a rendelések számát
if(isset($_GET["kat_id"]) && $_GET["kat_id"] !==""){
$sql = "SELECT COUNT(er.id) AS db
FROM ".REND_TABLE." as r INNER JOIN ". REGISZTRACIO_TABLE ." as er ON er.id = r.reg_id   
WHERE r.reg_id=". tep_db_input((int)$_GET["kat_id"]) ."  
ORDER BY r.date DESC, r.id DESC";
}else{
$sql = "SELECT COUNT(er.id) AS db
FROM ".REND_TABLE." as r INNER JOIN ". REGISZTRACIO_TABLE ." as er ON er.id = r.reg_id   
ORDER BY r.date DESC, r.id DESC";
}

$rendelesekTotalSzama = mysql_fetch_assoc(mysql_query2(__LINE__, __FILE__, $sql));


//Ha irreális számot kaptunk
if( ($actOldal*$oldalankentDb)-$oldalankentDb > $rendelesekTotalSzama["db"]){
	$actOldal = 1;
}
$kezdes = (($actOldal*$oldalankentDb)-$oldalankentDb);



//Rendelések
if(isset($_POST["rend_keres_btn"]) || (isset($_GET["talalt"]) && trim($_GET["talalt"]) !== "") ){
	if(isset($_POST["rend_keres_btn"]) ){
	$keresett_id = explode("/",trim($_POST["rend_azon"]));
	}else{
	$keresett_id = explode("/",trim($_GET["talalt"]));
	}

//Ha van keresés

	if(isset($keresett_id["1"])){
		$sql = "SELECT r.id AS reg_id, r.ker_nev, r.vez_nev, re.total_cost, re.date, re.id, rel.allapot, re.email_allapot , re.olvasva, re.visszatartva   
		FROM ".REND_TABLE." as re, ".REND_ALLAPOT_LEIR_TABLE." as rel, ". REGISZTRACIO_TABLE ." as r  
		WHERE r.id = re.reg_id, re.atvive   
		AND re.allapot_id = rel.allapot_id 
		AND rel.nyelv_id = ". (int)$nyelv_id ." 
		AND re.id = ". (int)$keresett_id["1"]." 
		ORDER BY re.date DESC
		LIMIT ". tep_db_input($kezdes) .", ". $oldalankentDb;
		$talalat = mysql_query2(__LINE__, __FILE__, $sql);
	}
	
}elseif(isset($_GET["kat_id"]) && $_GET["kat_id"] !==""){
$sql = "SELECT r.id AS reg_id, r.ker_nev, r.vez_nev, re.total_cost, re.date, re.id, rel.allapot, re.email_allapot , re.olvasva, re.visszatartva, re.atvive      
FROM ".REND_TABLE." as re, ".REND_ALLAPOT_LEIR_TABLE." as rel, ".REGISZTRACIO_TABLE." as r 
WHERE r.id = re.reg_id  
AND re.reg_id=". (int)$_GET["kat_id"] ." 
AND re.allapot_id = rel.allapot_id 
AND rel.nyelv_id = ".(int)$nyelv_id ."  
ORDER BY re.date DESC
LIMIT ". tep_db_input($kezdes) .", ". $oldalankentDb;
$talalat = mysql_query2(__LINE__, __FILE__, $sql);

}else{
$sql = "SELECT r.id AS reg_id, r.ker_nev, r.vez_nev, re.total_cost, re.date, re.id, rel.allapot, re.email_allapot , re.olvasva, re.visszatartva, re.atvive       
FROM ".REND_TABLE." as re, ".REND_ALLAPOT_LEIR_TABLE." as rel, ".REGISZTRACIO_TABLE." as r  
WHERE r.id = re.reg_id  
AND re.allapot_id = rel.allapot_id 
AND rel.nyelv_id = ". (int)$nyelv_id ." 
ORDER BY re.date DESC
LIMIT ". tep_db_input($kezdes) .", ". $oldalankentDb;
$talalat = mysql_query2(__LINE__, __FILE__, $sql);
}

//Kiíratjuk az üzeneteket.
if(isset($uzenet_kiiras)){
	$uzenet_darab=count($uzenet_kiiras);
	for($i=0; $i < $uzenet_darab ; $i++){
	echo $uzenet_kiiras["$i"];
	}
}
?>
<!-- rendeles_nezet.php start-->
<table cellpadding="0" cellspacing="0" border="0" width="100%">
	<tr>
		<td class="kiemeles"><div align="left"><?php echo BUTTON_RENDELESEK;?></div></td>
		<td width="70%" align="right"><form name="rend_keres_form" action="vasarloi_szint.php?left=vasarlok&center=rendeles_nezet" method="post" style="margin:0px 0px 5px 0px; padding:0px; " onSubmit="return uj_penz_form(new Array('rend_azon'),'rend_keres_form','<?php echo URES_MEZO; ?>');">
		<input type="text" name="rend_azon" value="<?php if(isset($_POST["rend_azon"])){ echo $_POST["rend_azon"]; }elseif(isset($_GET["talalt"])){ echo $_GET["talalt"]; }else{ echo "Rend. azon.";}?>" class="inputok"  />
		<input type="submit" name="rend_keres_btn" value="<?php echo KERES;?> " class="inputok" />
		</form></td>
	</tr>
</table>
<table width="580" class="menuCenter" border='0'>
     
	  <tr class="fejlec">
	  <td width="72" align="left" ><?php echo REND_AZON; ?></td>
	  <td width="102" align="left"><?php echo MEGRENDELO; ?></td>
        <td width="82" align="left"><?php echo OSSZEG; ?></td>
		 <td width="102" align="center"><?php echo VASARLAS_DATUM; ?></td>
         <td align="center"><?php echo VISSZA_IGAZOLO_EMAIL; ?></td>
          <td align="center"><?php echo SZAMLA; ?></td>
		  <td width="149" align="center"><?php echo ALLAPOT; ?></td>
		  <td width="45" align="right"><?php echo LEHETOSEGEK; ?></td>
      </tr>
	  <?php 
	  if( !isset($talalat) || mysql_num_rows($talalat) == 0  ){
	  echo '<tr><td colspan="7">'.NINCS_RENDELES.'</td></tr>';
	  }else{
	  
	  while($talalatok=mysql_fetch_assoc($talalat)){
		   //Van-e visszatartott rendelés
		  if($talalatok["visszatartva"] == "n"){
		  $trClass = "dataTableRow";
		  }else{
		  $trClass = "dataTableRowVisszatartva";
		  }
		  
	  	//Ha esetleh keresésboé van találat akkor hozzáadjuk az információs linkhez
		if(isset($_POST["rend_azon"])){
		$talalt = "&talalt=".trim($_POST["rend_azon"]);
		}
	  ?>
        <tr class="<?php echo $trClass; ?>" onmouseover="kezNelkulOver(this)" onmouseout="kezNelkulOut(this)">
		<?php 
		echo '<td align="left">&nbsp;'.substr($talalatok["date"],0,4).'/'.nulla_generator($talalatok["id"],7).'</td>';
		echo '<td align="left">&nbsp;'.$talalatok["vez_nev"].'&nbsp;'.$talalatok["ker_nev"].'</td>';
		     echo '<td align="left">&nbsp;'. osszeg_formazas($talalatok["total_cost"]).'</td>';
             echo '<td align="left">&nbsp;'.$talalatok["date"].'</td>';
			  echo '<td align="center">';
			  switch($talalatok["email_allapot"]){
				  case "0":
				  echo '<img src="kepek/icon_piros.gif" alt="'. EMAIL_NEM_MENT_KI .'" title="'. EMAIL_NEM_MENT_KI .'" border="0" />';
				  break;
				  case "1":
				  echo '<img src="kepek/icon_feher.gif" alt="'. EMAIL_KIMENT .'" title="'. EMAIL_KIMENT .'" border="0" />';
				  break;
				  case "2":
				  echo '<img src="kepek/icon_zold.gif" alt="'. EMAIL_OLVASVA .':'. $talalatok["olvasva"] .'" title="'. EMAIL_OLVASVA .':'. $talalatok["olvasva"] .'" border="0" />';
				  break;
			  }
			  echo '</td>';
			  // Számla
			  echo '<td align="center">';
			  switch($talalatok["atvive"]){
				  case "T":
				  echo '<a href="vasarloi_szint.php?left=vasarlok&center=rendeles_nezet&oldalSzam='. (string)$actOldal .'&statusz_valtoztat=f&id='. (string)$talalatok["id"] .'&tabla=megr"><img src="kepek/icon_zold.gif" alt="'. SZAMLAZOBA_ATTOLTVE .'" title="'. SZAMLAZOBA_ATTOLTVE .'" border="0" /></a>';
				  break;
				  case "F":
				  echo '<a href="vasarloi_szint.php?left=vasarlok&center=rendeles_nezet&oldalSzam='. (string)$actOldal .'&statusz_valtoztat=t&id='. (string)$talalatok["id"] .'&tabla=megr"><img src="kepek/icon_piros.gif" alt="'. SZAMLAZOBA_MEG_NINCS_ATTOLTVE .'" title="'. SZAMLAZOBA_MEG_NINCS_ATTOLTVE .'" border="0" /></a>';
				  break;
			  }
			  echo '</td>';
			 
         	 echo '<td align="left">&nbsp;'.$talalatok["allapot"].'</td>';
			 echo '<td>'.inf($talalatok["id"],INFO,$inf_id,"vasarloi_szint","vasarlok","&kat_id=".$talalatok["reg_id"],"&center=rendeles_nezet".$talalt).'</td>';
			  ?>
			  
      </tr>
      <?php 
	  }
	   
	  $veg = ($actOldal*$oldalankentDb);
	  if($veg > $rendelesekTotalSzama["db"]){
		  $veg = $rendelesekTotalSzama["db"];
	  }
	  
	  
	  echo '<tr>
	  			<td colspan="8" class="fekete">'.MEGJELENITVE. $kezdes. ' - '. $veg .'&nbsp;('.$rendelesekTotalSzama["db"] .RENDELESBOL.')</td>
			</tr>';
	  }
	?>
</table>

<?php //Lapozó start
$tores = 25;
$toresSzamlalo = 0;

					if($rendelesekTotalSzama["db"] > $oldalankentDb){
					?>
					<div class="pager" align="left" style="font-size: 10px; font-family:Verdana, Geneva, sans-serif;">
                    	<?php if($actOldal > 1) { //Ha több oldal van mint egy ?>
						<a class="prev" href="vasarloi_szint.php?left=vasarlok&center=rendeles_nezet&oldalSzam=<?php echo ($actOldal-1); ?>"><span><< <?php echo ELOZO_OLDAL ?></span></a>
                        <?php } ?>
							<span class="pages">
                              <?php
						// Számok start
							$szam = 0;
							$k = $rendelesekTotalSzama["db"];
								for ($k; $k > 0; $k=$k-$oldalankentDb ) {
			 					$szam=$szam+1;
									if($actOldal == $szam){
									echo '<a href="vasarloi_szint.php?left=vasarlok&center=rendeles_nezet&oldalSzam='. $szam.'" title="'. $szam .'"><span style="font-weight: bold;">'. $szam .'</span></a>&nbsp;';
									}else{
									echo '<a href="vasarloi_szint.php?left=vasarlok&center=rendeles_nezet&oldalSzam='.$szam.'" title="'. $szam .'"><span>'. $szam .'</span></a>&nbsp;';
									}
									
									if($toresSzamlalo == $tores){
										$tores = $tores+25;
										echo '<br />';
										}
										$toresSzamlalo++;
								}
							//Számok end	
							?>
							</span>
                           
                           <?php if($actOldal < $szam) { //Ha kevesebb oldal van mint  a max ?>
                            <a class="next" href="vasarloi_szint.php?left=vasarlok&center=rendeles_nezet&oldalSzam=<?php echo ($actOldal+1); ?>"><span><?php echo KOVETKEZO_OLDAL ?> >></span></a>
                        <?php } ?> 
                        
                        </div>
                    <?php }
					//Lapozó end ?>
  <!-- rendeles_nezet.php end-->  
Nézd meg, hogy milyen verzió php fut szerveren, a mailer 5-öst igényel. Ha 4-es fut akkor másik phpmailer programot kell küldenem.
Mezőfi

marcus
Hozzászólások: 8
Csatlakozott: hétf. márc. 21, 2011 1:34 pm
Kapcsolat:

Re: Function eregi() is deprecated

Hozzászólás Szerző: marcus »

Szia István!

A rendelések így már lekérdezhetőek, de nem jeleníti meg a rendelést. Gondolom azért mert nem megy végig a rendelés folyamata.
Miután a Rendelés befejezése gombra klikkelek az összesítés megjelenik, de ott csak egy lehetőségem van, a rendelés állapotát megnézhetem, ami nem mutat rendelést.

A php 5.3.6-os
A regisztrációról kaptam emailt. Gondolom ez jó jel.

Köszi
Vigh Attila

Avatar
mezofi
Site Admin
Hozzászólások: 933
Csatlakozott: csüt. okt. 16, 2008 7:30 am
Kapcsolat:

Re: Function eregi() is deprecated

Hozzászólás Szerző: mezofi »

Szia!

Mindig fejlesztgetem, és a mail küldést nehezen tudom kipróbálni a gépemen, így véletlenül benn maradt egy olyan kód ami megakasztja a program futását és megmutatja milyen email menne ki.
A shop/include/email/email_megrendeles.php 227. sorában ez van:

Kód: Egész kijelölése

print($uzenet_torzs); exit;
Törölni kellene ezt a sort, és máris fut a kód rendesen.

Köszi az infót, mindjárt cserélem a letölthető állományban is.

Mivel kaptál emailt a regről, így a mail küldés helyesen működik.
Azt mindenképp nézd meg, hogy a milyen fizetési módot választasz és ott be van-e állítva az email visszatartás, mert ha aktív a választott fizetési módnál akkor csak te kapsz egy emailt, hogy nézd át a megrendelést, és neked kell manuálisan küldetned.

Mezőfi

Post Reply

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 3 vendég