Seite 1 von 1

unexpected T_CONSTANT_ENCAPSED_STRING

Verfasst: 05.05.2006 21:29
von Maniac5000

Code: Alles auswählen

if($_GET[a]==regactive) {

$fn='thadata/regtmp/'.$_GET['code'].'.txt';
if(file_exists($fn)==false) {
  simple_message('Ungültiger Registrierungscode!');
} else {

$a=explode('|',file_get($fn));
list($nick,$email,$pwd,$country,$server)=explode('|',file_get($fn));
unlink($fn);

if(getuser($nick,'name')!==false) { $msg = 'Ein Benutzer mit diesem Nicknamen existiert bereits'; }

$tableinfo=GetTableInfo('users',dbname($server));
$autoindex=$tableinfo['Auto_increment'];
$r=addpc($country,$autoindex);
if($r!=false) {

  $ts=time();

  	db_query('INSERT INTO users(name, email,   password, pcs, liu, lic,  clusterstat, login_time, bigacc)'.'VALUES(\''.mysql_escape_string($nick).'\',\''.mysql_escape_string($email).'\',\''.md5($pwd).'\', \''.mysql_escape_string($r).'\', \''.mysql_escape_string($ts).'\', \''.mysql_escape_string($ts).'\', 0,        \''.mysql_escape_string($ts).'\',\'yes\');');
  

  $ownerid=mysql_insert_id();
  db_query('UPDATE pcs SET owner=\''.mysql_escape_string($ownerid).'\', owner_name=\''.mysql_escape_string($nick).'\', owner_points=0, owner_cluster=0, owner_cluster_code=\'\' WHERE id='.mysql_escape_string($r));

  db_query('INSERT INTO rank_users VALUES(0, '.mysql_escape_string($ownerid).', \''.mysql_escape_string($nick).'\', 0, 0);');
  $rank=mysql_insert_id();
  db_query('UPDATE users SET rank='.mysql_escape_string($rank).' WHERE id='.mysql_escape_string($ownerid).';');
  
  $msg = 'Dein Account wurde erfolgreich aktiviert.!';
  
     $template->assign_vars(array(
    'L_G_REG' => $lang['l_g_reg'],
    'MSG' => $msg,
));

$template->pparse('game_reg_sub2');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

  exit;
}}}

$[code]body='Hallo '.$nick.'!'"\n".'Du hast dich bei The Hack Attack angemeldet!';
$body.=' Hier sind deine Zugangsdaten!'.LF."\n".'Nickname: '.$nick."\n".'Passwort: '.$pwd."\n"."\n".'Bevor du deinen';
$body.=' neuen Account nutzen kannst, musst du ihn aktivieren! Rufe dazu die folgende URL in deinem Browser auf:'"\n";
/*if($localhost) $body.='<a href="';*/
$body.='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?a=regactivate&code='.$tmpfnx;
/*if($localhost) $body.='"><b>aktivieren</b></a></p>';*/
$body.="\n";[/code]

Das ist der Code-Block, den ich gerade neu eingefügt habe. Seitdem taucht folgende Fehlermeldung auf:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/vhosts/sam-city.com/subdomains/tha/httpdocs/game_reg_sub_2.php on line 142

Zur Verdeutlichung: Linie 142:

Code: Alles auswählen

body='Hallo '.$nick.'!'"\n".'Du hast dich bei The Hack Attack angemeldet!';
Weiß einer die Lösung?

Verfasst: 06.05.2006 02:45
von S2B

Code: Alles auswählen

$body='Hallo '.$nick."!\n".'Du hast dich bei The Hack Attack angemeldet!';
oder in dem Fall ein bisschen übersichtlicher (imho):

Code: Alles auswählen

$body = "Hallo $nick!\nDu hast dich bei The Hack Attack angemeldet!";

Verfasst: 06.05.2006 07:35
von Maniac5000
Jetzt kommt der gleiche Fehler mit dieser Zeile:

Code: Alles auswählen

$body.=' neuen Account nutzen kannst, musst du ihn aktivieren! Rufe dazu die folgende URL in deinem Browser auf:'"\n"; 

Verfasst: 06.05.2006 10:31
von BB-BF-BM
ersetze

Code: Alles auswählen

$body.=' neuen Account nutzen kannst, musst du ihn aktivieren! Rufe dazu die folgende URL in deinem Browser auf:'"\n";
mit

Code: Alles auswählen

$body.= " neuen Account nutzen kannst, musst du ihn aktivieren! Rufe dazu die folgende URL in deinem Browser auf:\n";

Verfasst: 06.05.2006 12:19
von Maniac5000
Danke, der Fehler taucht ncht mehr auf, aber jetzt habe ich ein anderes Problem:
$body ist der Inhalt einer Email und nun wird das in dieser Zeile gesetzte \N aber nicht als Zeilenumbruch gewertet. Was mache ich falsch?

Code: Alles auswählen

$body.=' Hier sind deine Zugangsdaten!"\n"Nickname: '.$nick."\n".'Passwort: '.$pwd."\n"."\n".'Bevor du deinen';

Verfasst: 06.05.2006 12:29
von S2B
Ähm, beschäftige dich mal genauer mit Strings in php... :-?

Code: Alles auswählen

$body.= "Hier sind deine Zugangsdaten!"\n"Nickname: $nick\nPasswort: $pwd\n\nBevor du deinen";
oder:

Code: Alles auswählen

$body.=' Hier sind deine Zugangsdaten!'."\n".'Nickname: '.$nick."\n".'Passwort: '.$pwd."\n\n".'Bevor du deinen';

Verfasst: 06.05.2006 17:11
von Zyancali

Code: Alles auswählen

if($_GET[a]==regactive) { 
:o

Das müsste doch

Code: Alles auswählen

if ( $_GET['a'] == 'regactive' ) 
{
lauten, oder irre ich mich da?

Verfasst: 06.05.2006 17:20
von S2B
Nein, du irrst dich nicht. :D Siehe auch hier: Array do's und don'ts.

Verfasst: 06.05.2006 17:39
von Maniac5000
Ja, ist auch mittlerweile geändert.