Jump to content
- Werbung nur für Gäste -

IGNORIERT

Hab mehrere PHP Seiten Probleme auf meiner HP ...


JND3004

Recommended Posts

hallo leute,

wie oben schon steht habe ich probleme. und zwar geht es um ein login/registrierfeld.

1. problem: registrieren

die felder zum registrieren sind schon fertig, nur die haben bloß noch paar macken, z.b. die meldung wenn etwas falsch ist.

den fehler finde ich einfach nicht, ich hab nähmlich alles nach tutorial gemacht.

hier auch ein vid zu - erst ab 7:15min. schauen. ab dort wird der test gemacht wegen der fehlermeldung

das wäre schonmal das erste problem mit den fehlermeldungen.

**************

2. problem: login

wenn ich auf die login seite gehe, dann wird mir immer ein fehler angezeigt, aber ich weis einfach nicht was das soll, denn die { klammer gehört dort hin (s. php text)

zeile 10: if(check_login() == false {
zeile 11:	 require_once('login_markup_logged_out.php');
zeile 12: } else {
zeile 13:	 require_once('login_markup_logged_in.php');
zeile 14: }

und dann der fehlertext auf der seite:

Parse error: syntax error, unexpected '{' in /data/multiserv/users/703938/projects/1873530/www/phpinclude/db/login.php on line 10

****************

so, momentan weis ich sonst nicht ob ich noch weitere probleme hab, da ich eh schon fehler hab, konnte ich ja nicht alles testen.

hoffe ihr könnt mir i-wie weiter helfen :) wäre toll :)

bis dann ;) hoffe schon auf antworten ... :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

- Werbung nur für Gäste -

Fehlt da in Zeile 10 nicht eine runde Klammer? :D

weis ich nicht. wo soll sie dann hin?

soll es dann so ausschauen?

if(check_login()) == false {
require_once('login_markup_logged_out.php');
} else {
require_once('login_markup_logged_in.php');
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

also wenn ich die runde klammer dort jzt hinsetze kommt dieser fehler

Parse error: syntax error, unexpected T_IS_EQUAL in /data/multiserv/users/703938/projects/1873530/www/phpinclude/db/login.php on line 10

EDIT: denn in einem tutorial von ihm (wie bei problem 1) hatte ich es genau so gemacht. nur halt mein kram eingesetzt und so. aber es klappt einfach nicht

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich hätte sie ja hinter das false gesetzt, noch vor der geschweiften Klammer.

Ich hab sowas aber schon ewig nicht mehr gemacht ... :)

also die fehlermeldung ist schonmal weg und das .css design ist auch aufgetaucht dadurch. aber jzt sind dort andere fehler. inzwischen sind das schon ein paar mehr zeilen :D weil ich noch etwas hinzugefügt hab

fehlermeldung 1:

Parse error: syntax error, unexpected $end in /data/multiserv/users/703938/projects/1873530/www/phpinclude/db/function.php on line 39

[code]
zeile 1: <?php
zeile 2:
zeile 3: function login($username, $password, $db, $salt) {
zeile 4: 	$password = hash('sha256', $password.$salt);
zeile 5: 	
zeile 6: 	$sql = '
zeile 7: 			SELECT
zeile 8: 					COUNT(*)
zeile 9: 			FROM
zeile 10: 				user
zeile 11: 			WHERE
zeile 12: 				Username = ?
zeile 13: 			AND
zeile 14: 				Password = ?
zeile 15: 							';
zeile 16: 							
zeile 17: 	$stmt = $db->prepare($sql);
zeile 18: 	$stmt->bind_param('ss', $username, $password);
zeile 19: 	$stmt->execute();
zeile 20: 	$stmt->bind_result($result);
zeile 21: 	$stmt->fetch();
zeile 22: 	$stmt->close();
zeile 23: 	
zeile 24: 	if($result == 1) {
zeile 25: 		$_SESSION['logged_in'] = true;
zeile 26: 		$_SESSION['username'] = $username;
zeile 27: 		return true;
zeile 28: 	
zeile 29: 	} else {
zeile 30: 		return false;
zeile 31: 	}
zeile 32: 	
zeile 33: function check_login() {
zeile 34: 	if(isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true) {
zeile 35: 		return true;
zeile 36: 	}
zeile 37: 	return false;
zeile 38:
zeile 39: ?>

Link zu diesem Kommentar
Auf anderen Seiten teilen

- Werbung nur für Gäste -

k, danke :) also der login funkt schonmal. aber ob ich mich auch wirklich einloggen weis ich noch nicht, da ich noch nicht in der datenbank stehe.

ich wollte es gerne über mein registration formular testen.

den fehler zur registration findest du in meinem anfangsthread ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

- Werbung nur für Gäste -

hier ist jzt z.b. die registration seite

http://blockentertainment.de.ki/phpinclude/db/registration.php

und wenn man jzt z.b. dort ohne etwas auszufüllen auf 'registrieren' klickt, sollte über dem formular eine fehlermeldung angezeigt werden.

ich weis jzt nur bloß nicht, wie ich das hier zeigen soll oder besser erklären soll ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

hier der code wo das formular und die fehlermeldung angezeigt werden soll

<!-- FORMULAR -->
	<div style="border:2px solid black; padding: 15px; background: #678D0C">

<?php if(isset($error_msg) && !empty($error_msg)) : ?>
<div style="border:2px solid red; padding: 10px">
	<?php echo $error_msg; ?>
</div>

<?php endif; ?>

<?php if(isset($success_msg) && !empty($success_msg)) : ?>
<div style="border:2px solid lawngreen; padding: 10px">
	<?php echo $success_msg; ?>
</div>

<?php endif; ?>		

<form action="" method="post" >

<!-- USERNAME -->
<label for="username"> <b>Benutzername*:</b> </label><br/>
<input type="text" name="username" maxlength="20" size="50" id="username" value="" /><br/>
Der Benutzername muss mindestens 3 und darf maximal 20 Zeichen lang sein.<br/>

<br/>

<!-- PASSWORT -->
<label for="pass1"> <b>Passwort*:</b> </label><br/>
<input type="password" name="pass[]" maxlength="30" size="50" id="pass1" value="" /><br/>
Ein sicheres Kennwort sollte mindestens 8 Zeichen lang sein.</br>

<br/>

<!-- PASSWORT WDH. -->
<label for="pass2"> <b>Passwort wdh.*:</b> </label><br/>
<input type="password" name="pass[]" maxlength="30" size="50" id="pass2" value="" /><br/>
Bitte wiederholen Sie zur Sicherheit die Eingabe Ihres Kennworts!<br/>

<br/>

<!-- EMAIL ADRESSE -->
<label for="email1"> <b>E-Mail-Adresse*:</b> </label><br/>
<input type="text" name="email[]" size="50" id="email1" value="" /><br/>
Bitte geben Sie Ihre E-Mail-Adresse ein!<br/>

<br/>

<!-- EMAIL ADRESSE WDH. -->
<label for="email2"> <b>E-Mail-Adresse wdh.*:</b> </label><br/>
<input type="text" name="email[]" size="50" id="email2" value="" /><br/>
Bitte wiederholen Sie zur Sicherheit die Eingabe Ihrer E-Mail-Adresse!<br/>

<br/>

<input type="submit" name="submit" value="Registrieren" />
	</div>
</form>

<br/>
<i>Wo ein * ist, ist Pflicht!</i><br/><br/><br/><br/>

hier die "logic" von der registration

<?php

if(!isset($_POST['submit'])) return;


if(isset($_POST['username']) || !isset($_POST['pass']) || !isset($_POST['email']) ||
empty($_POST['username']) || empty($_POST['pass']) || empty($_POST['email'])) {

$error_msg = "Das Formular wurde nicht vollständig ausgefüllt.";
return;

}

// EMAIL
if($_POST['email'][0] !== $_POST['email'][1]) {
$error_msg = "Die E-Mail-Adressen stimmen nicht überein.";
return;
}

// PASSWORT
if($_POST['pass'][0] !== $_POST['pass'][1]) {
$error_msg = "Die Passwörter stimmen nicht überein.";
return;
}

if(strlen($_POST['pass']) > 30) {
$error_msg = "Das Passwort ist zu lang.";
return;
}

if(strlen($_POST['pass']) < 8) {
$error_msg = "Das Passwort ist zu kurz.";
return;
}

$_POST['pass'] = hash('sha256', $_POST['pass'][0].$salt);


//USERNAME
if(strlen($_POST['username']) > 20) {
$error_msg = "Der Benutzername ist zu lang.";
return;
}

if(strlen($_POST['username']) < 3) {
$error_msg = "Der Benutzername ist zu kurz.";
return;
}

$_POST['username'] = trim($_POST['username']);

if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$error_msg = "Die E-Mail-Adresse ist ungültig.";
return;
}

$user_ip = ip2long ($_SERVER['RENOTE_ADDR']);

$sql = '
	INSERT INTO
				user
				(Username, Password, Email, IP, date)

	VALUES
				(?, ?, ?, ?, NOW())';

$stmt = $db->prepare($sql);
$stmt->bind_param('sssi', $_POST['username'], $_POST['pass'], $_POST['email'], $user_ip);

if(!$stmt->execute()) {

if(strpos($db->error, 'Duplicate') !== false) {
	$error_msg = "Der Benutzername oder die E-Mail wurde bereits verwendet.";
	} else {

$error_msg = "Es ist ein Fehler aufgetreten.";
}
return;
}

$stmt->close();

$success_msg = "Das Benutzerkonto ".htmlspecialchars($_POST['username'])." wurde erfolgreich angelegt";
?>

Link zu diesem Kommentar
Auf anderen Seiten teilen

- Werbung nur für Gäste -

Bei logic fehlt ein ! vor dem isset am Punkt if(isset($_POST['username']). Aber das dürfte nicht das Problem sein.

Ich stelle mal eine Vermutung auf. Du hast die registration.php nicht so wie im ersten Video gemacht, sprich die PHP mit der Logik per require_once vor dem ganzen Code zeug eingebunden?

Link zu diesem Kommentar
Auf anderen Seiten teilen

wenn ich beim

if(isset($_POST['username'])

ein ! vor das isset setze bringt mir das soweit eigentlich noch nichts.

und die registration.php habe ich mit den beiden auch verbunden, ist doch klar.

sieh selber

<?php

$db = new mysqli('localhost', '********', '*********', 'db1873530-dbloginregis');
$salt = "**********************************";

require_once('registration_markup.php');
require_once('registration_logic.php');

?>

ich seh auch das er neue fehler meint

1.

Warning: strlen() expects parameter 1 to be string, array given in /data/multiserv/users/703938/projects/1873530/www/phpinclude/db/registration_logic.php on line 26

2.

Warning: strlen() expects parameter 1 to be string, array given in /data/multiserv/users/703938/projects/1873530/www/phpinclude/db/registration_logic.php on line 31

der code dazu

if(strlen($_POST['pass']) > 30) {
$error_msg = "Das Passwort ist zu lang.";
return;
}

if(strlen($_POST['pass']) < 8) {
$error_msg = "Das Passwort ist zu kurz.";
return;
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.
Wende dich an einen Admin, wenn du in diesem Thema etwas posten möchtest.

×
×
  • Neu erstellen...