Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > Imaginäre Zeile?
Antwort
 
Themen-Optionen
Alt 25.08.2005, 21:33   Nach oben    #1
Gelegenheitsbesucher
 
Benutzerbild von flapo
 
Registriert seit: 25.08.2005
Beiträge: 8
Standard Imaginäre Zeile?

Hallo,

ich habe eine Seite und wenn die ausgeführt wird kommt immer
Zitat:
Parse error: parse error, unexpected $ in /userdata/www/8ung.at/g/gymigames/wisim/index.php on line 102
Mein Script hat aber nur 101 Zeilen! Wo liegt da der Fehler?
flapo ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.08.2005, 21:37   Nach oben    #2
Erfahrener Benutzer
 
Registriert seit: 19.08.2005
Beiträge: 115
Standard Imaginäre Zeile?

du hast eine klammer vergessen zu schliessen, würde ich vermuten. Poste halt mal den code...
__________________
Programming today is a race between software engineers striving to build bigger and better
idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the
universe is winning.
Buhmann ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.08.2005, 21:40   Nach oben    #3
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard Imaginäre Zeile?

wenn auch stets ungerne gesehen!

Tipp: Rücke mal deinen Code richtig ein:
http://tut.php-q.net/einruecken.html

ich habe es mir ein wenig anders angewöhnt, aber meist lassen sich Fehler so einfacher finden!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist gerade online  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.08.2005, 22:42   Nach oben    #4
Mensch
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
Standard Imaginäre Zeile?

schau ob dein editor bei klammern kleine highlights auf die dazugehörende klammer macht. wenn ja dann geh jede klammer durch und schau ob die richtige dazupasst.
so mach ich es bei meinem editor immer
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.08.2005, 12:44   Nach oben    #5
Gelegenheitsbesucher
 
Benutzerbild von flapo
 
Registriert seit: 25.08.2005
Beiträge: 8
Standard Imaginäre Zeile?

PHP-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ANB - Albenische Nationalbank</title>
<link href="styles.css" type="text/css" rel="stylesheet">
<?php
// Konten
$konto000 = array("Auszahlung""sk""000""staat");
$konto001 = array("Staat""gh","001""staat");
$konto002 = array("Volk""vo""002""staat");
$konto112 = array("Flavian Bolled""fb""112""privat");
$konto126 = array("bam""ba""126""privat");
$konto136 = array("mi(ni)ster undercover""136""mu""privat");
$konto142 = array("Don M. Daily""142""dmd""privat");
$konto148 = array("Name""pw""148""privat");
$konto152 = array("Name""pw""152""privat");

// Staatliche Konten: 0.. / $konto001
// Privates-Konto: 1..  / $konto103
// Firmenkonto:  2.. /  $konto257
// Erste Zahl ist "Vorwahl", der Rest wird vom Wirtschaftsministerium verteilt

// 0=name 1=passwort 2=nummer 3=typ

if($name == $konto000[0]) {
$pwcheck $konto000[1];
$name $konto000[0];
$nummer $konto000[2];
}
 else {
 if(
$name == $konto001[0]) {
 
$pwcheck $konto001[1];
 
$name $konto001[0];
 
$nummer $konto001[2];
 }
  else {
  if(
$name == $konto002[0]) {
  
$pwcheck $konto002[1];
  
$name $konto002[0];
  
$nummer $konto002[2];
  }
   else {
   if(
$name == $konto112[0]) {
   
$pwcheck $konto112[1];
   
$name $konto112[0];
   
$nummer $konto112[2];
   }
    else {
    if(
$name == $konto136[0]) {
    
$pwcheck $konto136[1];
    
$name $konto136[0];
    
$nummer $konto136[2];
    }
     else {
     if(
$name == $konto142[0]) {
     
$pwcheck $konto142[1];
     
$name $konto142[0];
     
$nummer $konto142[2];
     }
      else {
      if(
$name == $konto148[0]) {
      
$pwcheck $konto148[1];
      
$name $konto148[0];
      
$nummer $konto148[2];
      }
?>
<?php
$kontodatei 
fopen("$nummer.txt","r+");

$kontostand fgets($kontodatei10);

echo 
"$kontostand"
?>

<?php
   $datei 
fopen("$nummer.txt","w");
   if (
$datei)
   {
   
fwrite($datei$dateitext);
   
fclose($datei);
   }
   else
   {
   echo 
"Die &Uuml;berweisung konnte nicht ausgef&uuml;hrt werden";
   }
?>
</head>
<body>
<?php
if(isset($_POST["absenden"]) && $passwort == $pwcheck)
  {
  echo 
"<fieldset><legend>$name</legend>Dein Kontostand betr&auml;gt <b>$kontostand Alba</b>.</fieldset>";
  echo 
"<fieldset><legend>Geldtransfer</legend><form method=\"get\" action=\"transfer.php\"><table><tr><td>Empf&auml;nger:</td><td><input name=\"empfaenger\" type=\"text\" maxlength=\"30\"></td></tr><tr><td>Betrag:</td><td><input name=\"betrag\" type=\"text\" maxlength=\"30\"></td></tr><tr><td>Betreff:</td><td><input name=\"betreff\" type=\"text\" size=\"30\" maxlength=\"30\"></td></tr></table></form>";
  }
  else {
  echo 
"<fieldset class=\"portal\"><legend>ANB Portal</legend>Willkommen im ANB E-Banking Portal. ANB heisst Albenisch Nationalbank.Alle Inhalte dieser Seite sind rein fiktiv und sind Teil der Staatensimulation von Albenien.</fieldset>";
  echo 
"<fieldset class=\"login\"><legend>Login</legend><form method=\"post\" action=\"index.php\"><table><tr><td>Benutzername:</td><td><input  name=\"name\" type=\"text\" maxlength=\"30\"></td></tr><tr><td>Passwort:</td><td><input  name=\"passwort\" type=\"password\" maxlength=\"15\"></td></tr><tr><td>&nbsp;</td></tr><tr><td></td><td><input type=\"submit\" value=\"Login\" name=\"absenden\"></td></tr></table></form></fieldset></center>";
  }
?>

</body>
</html>
Das ist der Code. (Hinweis: Ich kann nicht mit mySQL-Datenbanken arbeiten)
flapo ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.08.2005, 12:57   Nach oben    #6
Igi
Benutzer
 
Benutzerbild von Igi
 
Registriert seit: 07.05.2005
Ort: nähe Münster
Beiträge: 33
Standard Imaginäre Zeile?

hi,
da fehlen noch 6 zu schließende klammern
du hast du von den ganzen elses nicht zugemacht.
__________________
http://redRogi.de
Igi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.08.2005, 12:59   Nach oben    #7
Mensch
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
Standard Imaginäre Zeile?

PHP-Code:
<?php
// hier fehlen 5 oder 6 schließende }
// du machst deine else nicht zu :-)
?>
<?php
$kontodatei 
fopen("$nummer.txt","r+"); 
?>
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.08.2005, 13:30   Nach oben    #8
Patrick Freitag
 
Registriert seit: 17.08.2005
Beiträge: 117
Standard Imaginäre Zeile?

Eventuell wäre es besser wenn du "elseif" verwendest.

http://at.php.net/manual/de/control-...res.elseif.php
__________________
ProDuc - Mein bescheidender Blog über JavaScript und Co.
Neq' ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.08.2005, 18:52   Nach oben    #9
Clan
Gast
 
Beiträge: n/a
Standard Imaginäre Zeile?

vorschlag: die ganzen elseif abfragen könnte man doch eigentlich durch eine array abfrage ersetzen. ansonsten hat man irgend wann in dem script 100 if abfragen, wenn es so weiter gehen sollte

dabei könnte das array z.b. so aufgebaut sein
PHP-Code:
<?
$konto = array("Auszahlung" => array ("sk", "000", "staat"),
               "Staat"      => array("gh", "001", "staat") 
); 
?>
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.08.2005, 19:38   Nach oben    #10
Neuer Benutzer
 
Benutzerbild von Suendesizer
 
Registriert seit: 06.04.2005
Beiträge: 22
Standard Imaginäre Zeile?

Dein Code wird nicht funktionieren, weil schon die erste else-Anweisung den Fall behandelt, wenn die erste if-Anweisung nicht zutrifft, sprich es kann dir passieren dass erst gar nicht der gewünschte Codeblock zur Verarbeitung der Daten kommt.

Kleines Beispiel wie es richtig geht:
PHP-Code:
<?php
if ($foo == $bar) {
    
# do something
}
else if (
$foo $bar) {
    
# do something else
}
else if (
$foo $bar) {
    
# do something different
}
else {
    
# if none of the above is done, do this
}
?>
__________________
If you read this message backward, Satan will force you to smoke marijuana.
Suendesizer ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.08.2005, 21:46   Nach oben    #11
Gelegenheitsbesucher
 
Benutzerbild von flapo
 
Registriert seit: 25.08.2005
Beiträge: 8
Standard Imaginäre Zeile?

@Clan: Und wie erstellt man dann die Abfrage? (Die Idee ist ansich gut)
flapo ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.08.2005, 21:58   Nach oben    #12
Neuer Benutzer
 
Registriert seit: 23.01.2005
Beiträge: 10
Standard Imaginäre Zeile?

Ich habe mich jetzt zwar nicht zu sehr da rein vertieft, aber wie wäre es mit switch?

Des weiteren:
PHP-Code:
<?php
if($name == $konto002[0]) { 
  
$pwcheck $konto002[1]; 
  
$name $konto002[0]; // <- ist überflüssig
  
$nummer $konto002[2]; 
  }
?>
Was Clan meint:
Du hast mometan für jedes Konto ein Array. Diese Arrays könnte man in einem mehrdimensionalem Array zusammenfassen. Ein Aufruf würde z. B. wie folgt aussehen:
PHP-Code:
<?PHP
echo $konto['Auszahlung'][1];
?>
zwelch ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.08.2005, 11:20   Nach oben    #13
Clan
Gast
 
Beiträge: n/a
Standard Imaginäre Zeile?

Hier nen Beispiel:

PHP-Code:

<?
$name= "Staat";
$konto = array("Auszahlung" => array ('pwcheck'=>"sk", 'name'=>"000", 'nummer'=>"status"), 
               "Staat"      => array('pwcheck'=>"sc", 'name'=>"001", 'nummer'=>"status1") 
); 

if (array_key_exists($name, $konto )) {

extract($konto[$name]);

echo $pwcheck;
echo $name;
echo $nummer;

}else{
echo "Fehler";
exit;
}
?>
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.08.2005, 12:16   Nach oben    #14
Gelegenheitsbesucher
 
Benutzerbild von flapo
 
Registriert seit: 25.08.2005
Beiträge: 8
Standard Imaginäre Zeile?

Irgendwie funktioniert das nicht...
flapo ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.08.2005, 12:29   Nach oben    #15
Clan
Gast
 
Beiträge: n/a
Standard Imaginäre Zeile?

na dann poste mal deinen code, ansonsten müsste ich meine glaskugel aufstellen *g*
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.08.2005, 12:31   Nach oben    #16
Neuer Benutzer
 
Benutzerbild von Suendesizer
 
Registriert seit: 06.04.2005
Beiträge: 22
Standard Imaginäre Zeile?

Das hat jetzt nicht unbedingt etwas mit der konkreten Lösung deines Problems zu tun, ist aber vielleicht doch hilfreich:

Immer wenn ich in solchen Fallunterscheidungen Probleme habe, dann setz ich mich hin und erstelle ein Struktogram um einfach mal das Problem mir visuell vor Augen zu führen, oftmals sieht man dann schon wo einem ein Denkfehler unterlaufen ist. Ansonsten kann ich dir nur wärmstens ans Herz legen, dass du auf php.net dir noch mal die Syntax für if..else und switch...case Anweisungen anschaust.
__________________
If you read this message backward, Satan will force you to smoke marijuana.
Suendesizer ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.08.2005, 16:24   Nach oben    #17
Gelegenheitsbesucher
 
Benutzerbild von flapo
 
Registriert seit: 25.08.2005
Beiträge: 8
Standard Imaginäre Zeile?

PHP-Code:
<?php
// Konten
$konto = array("Auszahlung"     => array ("pwcheck"=>"au""nummer"=>"000""status"=>"staat"),
               
"Staat"          => array("pwcheck"=>"st""nummer"=>"001""status"=>"staat"),
               
"Volk"           => array("pwcheck"=>"vo""nummer"=>"002""status"=>"staat"),
               
"Flavian Bolled" => array ("pwcheck"=>"fb""nummer"=>"112""status"=>"privat"),
               
"bam"            => array("pwcheck"=>"ba""nummer"=>"126""status"=>"privat"),
               
"mi(ni)ster undercover" => array ("pwcheck"=>"mu""nummer"=>"136""status"=>"privat"),
               
"Don M. Daily"   => array("pwcheck"=>"dmd""nummer"=>"142""status"=>"privat"),
               
"Name"           => array ("pwcheck"=>"passwort""nummer"=>"248""status"=>"firma"),
               
"Name"           => array("pwcheck"=>"passwort""nummer"=>"252""status"=>"firma")
);
// Staatliche Konten: 0.. / $konto001
// Privates-Konto: 1..  / $konto103
// Firmenkonto:  2.. /  $konto257
// Erste Zahl ist "Vorwahl", der Rest wird vom Wirtschaftsministerium verteilt

if (array_key_exists($name$konto)) {

extract($konto[$name]);

echo 
$pwcheck;
echo 
$name;
echo 
$nummer;

}else{
echo 
"Fehler";
exit;
}

}
?>
flapo ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.08.2005, 16:30   Nach oben    #18
Clan
Gast
 
Beiträge: n/a
Standard Imaginäre Zeile?

PHP-Code:
<?
//test: 
$name ="Auszahlung";
 
// Konten 
$konto = array("Auszahlung"     => array ("pwcheck"=>"au", "nummer"=>"000", "status"=>"staat"), 
               "Staat"          => array("pwcheck"=>"st", "nummer"=>"001", "status"=>"staat"), 
               "Volk"           => array("pwcheck"=>"vo", "nummer"=>"002", "status"=>"staat"), 
               "Flavian Bolled" => array ("pwcheck"=>"fb", "nummer"=>"112", "status"=>"privat"), 
               "bam"            => array("pwcheck"=>"ba", "n