Wieder ein Problem mit dem Loginscript

cinema

Mitglied
hey Leute... hab schon wieder ein problem mit dem loginscript:

es kommt folgendes fehler:


Code:
Parse error: syntax error, unexpected '<' in /users/johncena66/www/login.php on line 9

hier die login.php:

Code:
<?php session_start (); ?>
<html> 
<head> 
  <title>Login</title> 
</head> 

<body> 
<?php
<form action="array.php" method="post"> 
  Name: <input type="text" name="name" size="20"><br> 
  Kennwort: <input type="password" name="pwd" size="20"><br> 
  <input type="submit" value="Login"> 
if (isset ($_REQUEST["fehler"]))
{ 
  echo "Die Zugangsdaten waren ungültig."; 
} 
?> 
</form> 
</body> 
</html>

laut fehler sollte in zeile 9 (rot markiert) ein < sein, oder fehlen... das find ich abe rnicht...

hoffe auf hilfe.

LG cinema
 
Du kannst nicht einfach in die <?php tags html reinschreiben du musst das dann schon mit echo ausgeben.


PHP:
<?php session_start (); ?>
<html>
<head>
  <title>Login</title>
</head>

<body>
<?php
echo "<form action=\"array.php\" method=\"post\">
  Name: <input type=\"text\" name=\"name\" size=\"20\"><br>
  Kennwort: <input type=\"password\" name=\"pwd\" size=\"20\"><br>
  <input type=\"submit\" value=\"Login\">";
if (isset ($_REQUEST["fehler"]))
{
  echo "Die Zugangsdaten waren ungültig.";
}
?>
</form>
</body>
</html>

besser wäre es natürlich so :

PHP:
<?php session_start (); ?>
<html>
<head>
  <title>Login</title>
</head>

<body>
<form action="array.php" method="post" >
  Name: <input type="text" name="name" size="20"><br>
  Kennwort: <input type="password" name="pwd" size="20"><br>
  <input type="submit" value="Login">
<?php

if (isset ($_REQUEST["fehler"]))
{
  echo "Die Zugangsdaten waren ungültig.";
}
?>

</body>
</html>

Was nutzt du denn für eine Entwicklungsumgebung, um PHP zu Programmieren ? Ich kann dir -> http://www.easyeclipse.org/site/home/ empfehlen. Da wäre der Fehler rot makiert gewesen.
 
okay

jetzt funktioniert die login php, nur die array.php macht probleme:

fehler:
Code:
Parse error: syntax error, unexpected T_STRING in /users/johncena66/www/array.php on line 7

die array.php:

Code:
<?php 
// Session starten
session_start ();

// Datenbankverbindung aufbauen 
$connectionid = mysql_connect ("localhost", "johncena66", "patrick); 
if (!mysql_select_db ("johncena66", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$sql = "SELECT ". 
    "Id, name, passwort ". 
  "FROM ". 
    "user". 
  "WHERE ". 
    "(name like '".$_REQUEST["name"]."') AND ". 
    "(passwort = '".$_REQUEST["pwd"]."')"; 
$result = mysql_query ($sql); 

if (mysql_num_rows ($result) > 0) 
{ 
  // Benutzerdaten in ein Array auslesen. 
  $data = mysql_fetch_array ($result); 

  // Sessionvariablen erstellen und registrieren 
  $_SESSION["user_id"] = $data["Id"]; 
  $_SESSION["user_name"] = $data["name"]; 
  $_SESSION["user_passwort"] = $data["passwort"];  

  header ("Location: index.php"); 
} 
else 
{ 
  header ("Location: login.php?fehler=1"); 
} 
?>
 
Code:
$connectionid = mysql_connect ("localhost", "johncena66", "patrick);
Da fehlt ein " nach Patrick
 
noch ein fehler in array.php

fehler:
Code:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /users/johncena66/www/array.php on line 21

Warning: Cannot modify header information - headers already sent by (output started at /users/johncena66/www/array.php:21) in /users/johncena66/www/array.php on line 35

array.php:

Code:
<?php 
// Session starten
session_start ();

// Datenbankverbindung aufbauen 
$connectionid = mysql_connect ("localhost", "johncena66", "patrick"); 
if (!mysql_select_db ("johncena66", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$sql = "SELECT ". 
    "Id, name, passwort ". 
  "FROM ". 
    "user". 
  "WHERE ". 
    "(name like '".$_REQUEST["name"]."') AND ". 
    "(passwort = '".$_REQUEST["pwd"]."')"; 
$result = mysql_query ($sql); 

if (mysql_num_rows ($result) > 0) 
{ 
  // Benutzerdaten in ein Array auslesen. 
  $data = mysql_fetch_array ($result); 

  // Sessionvariablen erstellen und registrieren 
  $_SESSION["user_id"] = $data["Id"]; 
  $_SESSION["user_name"] = $data["name"]; 
  $_SESSION["user_passwort"] = $data["passwort"];  

  header ("Location: index.php"); 
} 
else 
{ 
  header ("Location: login.php?fehler=1"); 
} 
?>
 
jetzt weiß ich soviel wie vorhin... versteh den fehler nicht.. iergendwas ist falsch bei:

Code:
if (mysql_num_rows ($result) > 0)

nur hab ich keine ahnung was...

vllt der abstand? also so:

Code:
if (mysql_num_rows($result) > 0)

?
 
Sorry meine letzte Antwort bezog sich auf deinen vorletzten Post, ich war etwas langsam.

Zum aktuellen, kannst du mal

PHP:
<?php 
// Session starten
session_start ();

// Datenbankverbindung aufbauen 
$connectionid = mysql_connect ("localhost", "johncena66", "patrick"); 
if (!mysql_select_db ("johncena66", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$sql = "SELECT ". 
    "Id, name, passwort ". 
  "FROM ". 
    "user". 
  "WHERE ". 
    "(name like '".$_REQUEST["name"]."') AND ". 
    "(passwort = '".$_REQUEST["pwd"]."')"; 
$result = mysql_query ($sql) OR die(mysql_error()); 

if (mysql_num_rows($result) > 0) 
{ 
  // Benutzerdaten in ein Array auslesen. 
  $data = mysql_fetch_array ($result); 

  // Sessionvariablen erstellen und registrieren 
  $_SESSION["user_id"] = $data["Id"]; 
  $_SESSION["user_name"] = $data["name"]; 
  $_SESSION["user_passwort"] = $data["passwort"];  

  header ("Location: index.php"); 
} 
else 
{ 
  header ("Location: login.php?fehler=1"); 
} 
?>

schreiben, und dann die Fehlermeldung ausgeben. Kann es sein das result nichts zurück gibt ?
 
so, jetzt ist ein [ zu viel oder zu wenig:

fehler:
Code:
Parse error: syntax error, unexpected '[' in /users/johncena66/www/array.php on line 19

die array.php hast du ja (hab die genommen, die du gepostet hast (einenm post vorher)

nur find ich den nicht.. das müsste in :


Code:
$result = mysql_query ($sql) OR die(mysql_error());

sein, nur meinermeinung passt hier alles....
 
Kannst du mal die SQL-Anweisung so schreiben:

PHP:
$sql = "SELECT Id, name, passwort 
 		FROM 
    		user 
  		WHERE 
    		name like '".$_REQUEST["name"]."'
    	AND 
    		passwort = '".$_REQUEST["pwd"]."'";

Das mit den ganzen " verwirrt mich etwas.
 
Zurück