Anmeldescript sendet keine Daten!

AsoraX

Grünschnabel
Hallo ihr,

ich sitze derzeit an einem Login und Anmelde Script, für eine meiner Seiten.
leider habe ich gerade das Problem, das er die daten nicht wie wie gewünscht an die SQL DB sendet, mir aber auch nicht sagt warum!


Hier mal die login.php und die reg.php zur einsicht!
(Das <?php und ?> bei der HTML loginseite gehört da nicht hin! Anders wollte er es aber nicht hochladen!)

Login und Anmeldung


die SQL dazu ist recht kurz und einfach

PHP:
CREATE TABLE IF NOT EXISTS `login` (
  `id` int(8) NOT NULL AUTO_INCREMENT,
  `username` varchar(150) NOT NULL,
  `password` varchar(32) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Habe schon herrausgefunden, das es mit den zeilen 48 + 49 zusammenhängen muss -.- (zeilen siehe hochgelandene Quelltexte)

Ich hoffe mir kann jemand helfen!


greetz
AsoraX
 
Hi,

bitte immer

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

verwenden und evtl. Fehlermeldungen posten!

Gruß
 
Ok.... ist mir eig. Peinlich zu sagen, aber wenn man in der DB password schreibt, und dem script sagt, das es das PW in das Feld passwort schreiben soll, brauch man sich nicht wundern ^^

Also problem gelöst ^^

Allerdings würde ich gerne noch fragen, ob mir jemand sagen, kann, wie ich die echo's in die html datei bekomme, sodass mir die nicht immer auf einer extra weißen seite angezeigt werden, sondern richtig im passenden teil der html datei
 
Hi,

du könntest die Texte in Variablen packen und dann im jeweiligen HTML Teil ausgeben:
Code:
<?php echo $variable; ?>
 
Hi

auch einfach :D
die Datei einfach *.php nennen und dann wie immer:
PHP:
<div><? echo 'ich bin im div'; ?></div>
<div><? echo $variablen_sind_moeglich; ?></div>
<table border="0">
  <tr>
  <?php
for ( $i = 0; $i <= 3; $i++){
  echo '<td>'.$i.'</td>';
}
?>
</tr>
</table>
<?='Die Kurzform';?><?=$diekurzform;?><?=diekurzform($parameter);?>
 
oh danke :D

Allerdings hab ich wieder ein problem ^^

Der User kommt nach dem login auf eine seite, in der er eine kleine übersicht zu seinem Account bekommt......

Diese angaben sollen aus der SQL DB in verbindung mit dem Session namen (=usernamen) ausgelesen und angezeigt werden!

Derzeit versuche ich es so:

PHP:
<? include('config.php'); ?>

 <? @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

	$sql = "
		SELECT
			*
		FROM
			`account`
		WHERE
			username
		LIKE
			`$_SESSION[username]`
		";
	$ausgabe = mysql_query($sql) OR die (mysql_error());


	while($row = mysql_fetch_array($ausgabe)) {

?>


<?=$row['username']

}

?>

leider zeigt er mir dannach nur noch eine leere seite an -.-

und gibt mir durch den echo die meldung

Unknown column 'test' in 'where clause'

(test ist der username)

Kann evt jemand erahnen, woran das liegen könnte?
 
Zuletzt bearbeitet:
PHP:
    $sql = "
        SELECT
            *
        FROM
            `account`
        WHERE
            username
        LIKE
            `".$_SESSION['username']."`
        ";
So müsste es gehen.
Außerdem würde ich statt:
PHP:
        WHERE
            username
        LIKE
            `".$_SESSION['username']."`
Das benutzen:
PHP:
        WHERE
            username= `".$_SESSION['username']."`
 
Zuletzt bearbeitet:
Hey :D
Danke für die antwort!

Allerdings besteht das Problem weiterhin!

ich habe mal nen echo eingebaut, um zu sehen was der eig, macht:


PHP:
<? include('config.php'); ?>

 <? @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

	$sql = "
		SELECT
			*
		FROM
			account
        WHERE
            username= `".$_SESSION['username']."`  

                ";
echo "($sql)";
	$ausgabe = mysql_query($sql) OR die (mysql_error());

echo "($ausgabe)";

$row = mysql_fetch_array($ausgabe);

echo "($row)";

	while($row = mysql_fetch_array($ausgabe)) {

?>

PHP:
echo "($ausgabe)";

( SELECT * FROM account WHERE username= `Test` )
Unknown column 'Test' in 'where clause'

Er versucht also anscheinend den usernamen der Session als spaltennamen zu erkennen, was ja nicht geht, da die Spalte ja username und nicht in dem Falle Test heißt!


PHP:
echo "($row)";

()

bei row hört er schon wieder auf! Klar wenn er die Spalte "Test" nicht finden kann :D

-.- Ich peil aber auch nicht wass falsch sein könnte!
 
Zuletzt bearbeitet:
Hi,

am Leerzeichen wirds nicht liegen.
Ich würde die Backticks wegmachen, von denen deine Variable dort eingeschlossen ist, sonst behandelt MySql dies als Spaltennamen.
 
Zurück