php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-06-2009, 18:43
Kergal
 Registrierter Benutzer
Links : Onlinestatus : Kergal ist offline
Registriert seit: Jun 2009
Beiträge: 5
Kergal befindet sich auf einem aufstrebenden Ast
Standard Problem in der Contact.inc.php

Hey, bin noch ein recht blutiger Anfänger was die Programmierung angeht . Ich habe mich am Tutorial für den PW-geschützten Loginbereich von dieser Seite versucht und konnte auch den größten Teil nachvollziehen .

Aber leider läuft nix
Ich vermute mein Problem in der Datei Contact.inc.php

im original tut sieht die datei so aus :

01  <?php
02  $dbHost = "localhost";
03  $dbUser = "root";
04  $dbPass = "";
05  $dbName = "login";
06  $connect = @mysql_connect($dbHost, $dbUser, $dbPass) or die("Konnte keine Verbindung zum Datenbankserver aufbauen!");
07  $selectDB = @mysql_select_db($dbName, $connect) or die("Konnte die Datenbank <b>$dbName</b> nicht auswählen!");
08  ?>

entfernt man davon mal die hässlichen sachen und ergänzt <> etc bekomme ich da raus

<?php
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "";
$dbName = "login";
$connect = @mysql_connect($dbHost, $dbUser, $dbPass) or die("Konnte keine Verbindung zum Datenbankserver aufbauen!");
$selectDB = @mysql_select_db($dbName, $connect) or die("Konnte die Datenbank &lt;b&gt;$dbName&lt;/b&gt; nicht ausw&auml;hlen!");
?>

Im Tut steht, ich sollte zur Contact.inc.php mal das Gästebuchtut öffnen,der link ist bei mir aber leider tot.
$dbHost ist mir klar
$dbUser --> auf meinem PC ... lokal.. geb ich da root ein?
$dbPass --> auch leer oder?
der Name der Datenbank ist login versteh ich auch


Hier mal die SQL meiner Datenbank:

CREATE TABLE IF NOT EXISTS `users` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`user` varchar(30) NOT NULL,
`pass` varchar(30) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

die Datenbank hab ich mit PHPmyAdmin erstellt.


rufe ich ejtzt über http://localhost/index.php die seite auf, bekomme ich fehlermeldungen die sich im Endeffekt alle auf die contact.inc.php beziehen.
Ich sitze da jetzt schon seit Stunden dran und mopse mir von allen möglichen Seiten diese "Kontakt" daten und passe die skripte so gut ich es kann an. aber NIE! funktioniert es.
Wär super,wenn ihr mir helfen könntet
-> und ja, Suchfunktion hab ich auch schon versucht.
Mit Zitat antworten
  #2 (permalink)  
Alt 21-06-2009, 18:46
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Kergal Beitrag anzeigen
$connect = @mysql_connect($dbHost, $dbUser, $dbPass) or die("Konnte keine Verbindung zum Datenbankserver aufbauen!");
$selectDB = @mysql_select_db($dbName, $connect) or die("Konnte die Datenbank &lt;b&gt;$dbName&lt;/b&gt; nicht ausw&auml;hlen!");
Das @-Zeichen unterdrückt mögliche Fehlermeldungen - also raus damit!

Zitat:
rufe ich ejtzt über http://localhost/index.php die seite auf, bekomme ich fehlermeldungen die sich im Endeffekt alle auf die contact.inc.php beziehen.
Und warum verschweigst du uns, welche?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 21-06-2009, 18:50
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

@Kergal
Bitte lies dir das hier mal genau durch. Da geht es um eine vernünftige Fehlerbehandlung, auch was Datenbanken angeht.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #4 (permalink)  
Alt 21-06-2009, 18:52
Kergal
 Registrierter Benutzer
Links : Onlinestatus : Kergal ist offline
Registriert seit: Jun 2009
Beiträge: 5
Kergal befindet sich auf einem aufstrebenden Ast
Standard

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\index.php:1) in C:\xampp\htdocs\index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\index.php:1) in C:\xampp\htdocs\index.php on line 2

Parse error: parse error in C:\xampp\htdocs\connect.inc.php on line 5

das sind die fehler

die ersten linien der index.php sind :
<?php
session_start();
require("connect.inc.php");
?>


..>werd mich jetzt an den Link von Kropff wagen .
Danke für eure wirklich SUPER schnelle Hilfe soweit


--> hätte ich deinen link vielleicht doch vorher anklicken sollen.

Geändert von Kergal (21-06-2009 um 18:57 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 21-06-2009, 18:56
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

was dein session-problem angeht, dafür gibt es hier einen eigenen thread. da geht es zwar um header, aber das selbe gilt auch für sessions. und das hat nichts mit deiner contact.inc.php zu tun.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #6 (permalink)  
Alt 21-06-2009, 20:30
Kergal
 Registrierter Benutzer
Links : Onlinestatus : Kergal ist offline
Registriert seit: Jun 2009
Beiträge: 5
Kergal befindet sich auf einem aufstrebenden Ast
Standard

@ Kropff ich hab mir deinen Thread durchgelesen und hab soweit ich ihn verstanden habe wirklich versucht mich dran zu halten... alle leerzeichen vorne dran weggemacht

aber ich habs immernoch nicht geschafft. Ich hab seit dem letzten Post nichts anderes gemacht- gut eine Pipipause- als diese Headers already sent sachen zu schaffen...aber ich habe immernoch exakt die gleichen Fehlermeldungen.
Ich würde mich über TIPPS wirklich freuen.

Danke schonmal
Gruß Kergal
Mit Zitat antworten
  #7 (permalink)  
Alt 21-06-2009, 20:37
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

headers already sent = du hast bereits irgend ein (oder gar mehrere) Zeichen vor deiner session...() Anweisung ausgegeben!!!
__________________
WHILE (!$asleep) { $sheep++; }
Mit Zitat antworten
  #8 (permalink)  
Alt 21-06-2009, 20:46
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Kergal Beitrag anzeigen
@ Kropff ich hab mir deinen Thread durchgelesen und hab soweit ich ihn verstanden habe wirklich versucht mich dran zu halten... alle leerzeichen vorne dran weggemacht
Könnte das berühmte BOM-Problem sein. Das verursacht auch schon eine Ausgabe. In dem Fall benötigst du einen Editor, der das anzeigt oder entfernen kann. Bei Notepad++ z.B. kannst du das über "Format" -> "UTF-8 ohne BOM" in deiner PHP-Datei entfernen. Oder du speicherst die Datei im ANSI-Format ab. Wenn es deine Zeichenkodierung zulässt.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #9 (permalink)  
Alt 21-06-2009, 22:07
Kergal
 Registrierter Benutzer
Links : Onlinestatus : Kergal ist offline
Registriert seit: Jun 2009
Beiträge: 5
Kergal befindet sich auf einem aufstrebenden Ast
Standard

Manchmal sucht man seine Probleme halt einfach an der falschen Stelle

Ich hab alle Leerzeichen rausgemacht-- > aber in einer Kopie meiner Dateien.
Hab aber über localhost nur die originale geöffnet. Ja, ein wenig blöd . Aber ein tolles gefühl, denn immerhin komm ich jetzt vorran.
Danke euch. Das Skript arbeitet jetzt zumindest ein wenig weiter.

Ich bin wie gesagt absoluter anfänger und manchmal ergeben die Sachen keinen Sinn . Deshalb nicht böse sein,wenn ich jetzt direkt eine neue Frage habe. Ich wills ja lernen .







Wie bereits beschrieben habe ich an dem LoginSkript mit Datenbank gehangen und hänge immernoch dran. Die seiten scheinen vom Syntax soweit parse-bar sein .
Wenn ich mich einloggen möchte auf der Index.php seite habe ich aber ein Problem. Username stimmt,Passwort stimmt nicht. Ich komme immer auf meine "Passwort ist falsch schleife" . habs mit dem md5 und dem "eigentlichen PW" versucht. Der Zugriff auf die Datenbank funktioniert eigentlich auch-> denn neue Benutzer kann ich anmelden und sie werden auch in der Datenbank gespeichert.


Hier die index.php datei

<?php
}elseif(!$_POST['username'] || $_POST['username'] == "") {
echo '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br><br><a href="index.php?lang=de&">Zurueck</a></p>';
}elseif(!$_POST['password'] || $_POST['password'] == "") {
echo '<form action="index.php?lang=de&" method="post">';
echo '<p align="center">Ein Passwort brauchen wir schon ;-)<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurueck">';
echo '</p>';
echo '</form>';
}else{
$password = md5($password);
$query = mysql_query("SELECT user, pass FROM users WHERE user='".$_POST['username']."'") or die('Select ist fehlgeschlagen!');
$result = mysql_fetch_array($query) or die('<p align="center">Sorry, aber dieser Benutzername existiert nicht!<br><a href="index.php?lang=de&">Zurueck</a></p>');
if($password != $result['pass']){
echo '<form action="index.php?lang=de&" method="post">';
echo '<p align="center">Sorry, aber dieses Passwort ist falsch!<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurück"></p>';
echo '</form>';
die;
}else{
$user = $result['user'];
session_register('user');
echo '<p align="center">LogIn erfolgreich! :-)<br><br><a href="sichere_seite.php">Weiter</a></p>';

das versuchs pw ist 1234 und der username ist bassti und wie gesagt der username klappt auch.

Ich würde mich über Hinweise nicht unbedingt die konkrete Lösung wirklich freuen. Hoffe es fragen noch ein paar andere so oft wie ich .
Mit Zitat antworten
  #10 (permalink)  
Alt 21-06-2009, 22:48
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 451
mermshaus wird schon bald berühmt werden
Standard

Hinweis:

Setze mal vor diese Zeile

PHP-Code:
     if($password != $result['pass']){ 
eine Ausgabe der beiden Werte, die du vergleichst (mit echo oder var_dump). Nennt sich Debuggen.

Außerdem solltest du Nutzereingaben ($_POST) nicht direkt in die SQL-Query übernehmen, sondern vorher mit mysql_real_escape_string() formatieren, um dich vor SQL-Injections zu schützen.

Gruß Marc
Mit Zitat antworten
  #11 (permalink)  
Alt 22-06-2009, 01:13
Kergal
 Registrierter Benutzer
Links : Onlinestatus : Kergal ist offline
Registriert seit: Jun 2009
Beiträge: 5
Kergal befindet sich auf einem aufstrebenden Ast
Standard

das ist bestimmt ein guter tipp, aber ich kann nicht debuggen und im Forum hab ich nix gefunden. (also schon was zum Thema debuggen..das scheint etwas sehr gebräuchliches zu sein,da es in jedem Thread mindestens 1 mal auftaucht)
Mit Zitat antworten
  #12 (permalink)  
Alt 22-06-2009, 01:22
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 451
mermshaus wird schon bald berühmt werden
Standard

Dann schreib einfach vor die Zeile aus dem letzten Post:

PHP-Code:
echo $password ', ' $result['pass'] . '<br />'
Das müsste dir schon mal 'ne Idee geben, was nicht passend gesetzt wird.

Hangel dich dann mit solchen Ausgaben weiter im Script nach oben bis zur ersten Zeile, in der noch alles zu passen scheint. Dann ist per Ausschlussverfahren so etwa in der Zeile darunter ein Problem.
Mit Zitat antworten
  #13 (permalink)  
Alt 22-06-2009, 01:24
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Debugging techniques for PHP programmers
Mit Zitat antworten
  #14 (permalink)  
Alt 22-06-2009, 01:59
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Kergal Beitrag anzeigen
das ist bestimmt ein guter tipp, aber ich kann nicht debuggen
Dann lerne es.
Wer nicht debuggen kann, kann auch nicht programmieren.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Contact formular File senden ronpepa PHP Developer Forum 2 22-03-2009 15:11
LDAP, kein Contact zu localhost standardX PHP Developer Forum 2 18-04-2008 14:37
contact problem deeg PHP Developer Forum 4 21-03-2007 19:34
[HTML] Wahrscheinlich einfaches Problem, aber ein Problem mit <TABLE> whitelove05 HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 4 18-12-2003 17:11
problem, das wäre aber ein recht nutzloser titel deshalb: logik-problem o.o! newhx PHP Developer Forum 5 21-01-2003 17:46

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:59 Uhr.