php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.05.2005, 12:29  
Gast
 
Beiträge: n/a
Standard werde zurück geschickt

hy leutz,

ich hab ein problem mit meiner Seite(was denn sonst ).

also wenn ich auf einen der links klicke die meine while-Schleife erstellt hat, werde ich auf die login seite zurück geschickt anstatt mich an die auswahl.php weiter zu schicken. hoffe ihr könnt mir helfen.

Login.html
Code:
<html>
<head>
<title></title>
</head>
<body>
<form action="test.php" method="post">
<table >
<tr>
 <td></td>
 <td></td>
 <td>Login</td>
 <td> </td>
</tr>
<tr>
 <td width="100">Rechts Träger Nummer:</td>
 <td></td>
 <td><input type="Text" name="RTNR" size="30" maxlength="4"></td>
 <td></td>
</tr>
<tr>
 <td>Password:</td>
 <td></td>
 <td><input type="Password" name="PW" size="30" maxlength="30"></td>
 <td></td>
</tr>
</table>

<input type="Submit" value="Login">
<input type="reset" value="Reset">
</form>
</body>
</html>
aus.php
Code:
<?php
    //Bei Mysql anmelden
    mysql_connect("localhost","root");
    //Ausw&auml;hlen aller Spalten, die den selben Namen wie den eingegebenen haben
    $benutzer = mysql_db_query("adress","select * from tbl_user where RTNR = '$RTNR';");
    //Laden der Daten in das Array "$array"
    $array = mysql_fetch_array($benutzer);
    //Abfragen, ob das eingegebene Passwort NICHT das selbe ist, wie in der Datenbank
    if ($array["PW"] != $PW)
    {
           /*Readfile &ouml;ffnet die "login.html", und schreibt unten drunter
           "Bitte geben sie Ihr Passwort noch einmal ein."*/
           readfile("login.html");
           echo "<font color=red size=+1>Bitte geben sie Ihr Passwort noch einmal ein.</font>";
    }
    //Wenn das Passwort das selbe ist, wird fortgefahren
    else
    {
           $fo=fopen("name.txt","w+");
           fwrite($fo,"$RTNR");
           echo "<form action=auswahl.php type=post name=a><input type=hidden name=RTNR value=$RTNR></form>";
    mysql_select_db(adress);
    $result = mysql_query("SELECT GruppenBez FROM tbl_adr_relationen where RTNr = $RTNR");
    $res = mysql_query("SELECT tbl_adr_adressen.Nachname, tbl_adr_adressen.Vorname FROM tbl_adr_adressen, tbl_adr_relationen where tbl_adr_adressen.ID = tbl_adr_relationen.AdressDS and tbl_adr_relationen.RTNr = $RTNR;");

    while($row = mysql_fetch_array($result) and $wor = mysql_fetch_array($res))
        {
            echo "<form action auswahl.php type=post name=" . $wor['Nachname'] . ">";
            echo "<input type=hidden name=RTNR value=$RTNR>";
            echo "<input type=hidden name=GruppenName value=" . $row['GruppenBez'] . "><a href=javascript:document." . $wor['Nachname'] . ".submit()>" . $row['GruppenBez'] . "";
            echo $wor['Vorname'] . "" . $wor['Nachname'] . "</form>";
        }
    }
?>
auswahl.php (habe noch nicht viel php eingebaut, hänge es nur der vollständigkeit halber an)
Code:
<?php
include('funktionen.inc');
mysql_connect("localhost","root");
echo "<table border=1 width=500><tr>";
echo "<td colspan=2>1. Rechtstr&auml;gerzuordnung oder Firma</td>";
echo "</tr></table><table width=500><tr>";
echo "<td width=80>RT</td><td><input size=50 type=text name=RT value=></td>";
echo "</tr></table><table border=1 width=500><tr><td colspan=4>2. Name</td></tr></table><table width=500><tr>";
echo "<td width=80>Anrede</td><td><input size= type=text name=anrede value=></td><td>Titel</td><td><input size= type=text name=titel value=></td>";
echo "</tr><tr>";
echo "<td width=80>Name</td><td colspan=3><input size=55 type=text name=name value=></td>";
echo "</tr><tr>";
echo "<td width=80>Vorname</td><td colspan=3><input size=55 type=text name=vorname value=></td>";
echo "</tr><tr>";
echo "<td width=80>Zusatz</td><td colspan=3><input size=55 type=text name=zusatz value=></td>";
echo "</tr><tr>";
echo "<td width=80>Abteilung</td><td colspan=3><input size=55 type=text name=abteilung value=></td>";
echo "</tr></table><table border=1 width=500><tr><td colspan=4>3. Anschrift</td></tr></table><table width=500><tr>";
echo "<td width=80>Strasse</td><td colspan=3><input size=55 type=text name=strasse value=></td>";
echo "</tr><tr>";
echo "<td width=80>PLZ&frasl;Ort</td><td><input size=5 type=text name=plz value=></td><td colspan=2><input size=55 type=text name=ort value=></td>";
echo "</tr></table><table border=1 width=500><tr><td colspan=4>4. Telekontakte</td></tr></table><table width=500><tr>";
echo "<td width=80>Telefon 1</td><td width=10><input size=5 type=text name=vorwahl1 value=></td><td>-</td><td><input size=35 type=text name=telefon1 value=></td>";
echo "</tr><tr>";
echo "<td width=80>Telefax 1</td><td><input size=5 type=text name=faxvorwahl1 value=></td><td>-</td><td><input size=35 type=text name=fax1 value=></td>";
echo "</tr><tr>";
echo "<td width=80>Mobil</td><td><input size=5 type=text name=movorwahl value=></td><td>-</td><td><input size=35 type=text name=mobil value=></td>";
echo "</tr></table><table border=1 width=500><tr><td colspan=4>5. Internet</td></tr></table><table width=500><tr>";
echo "<td width=80>E-Mail 1</td><td colspan=3><input size=55 type=text name=mail1 value=></td>";
echo "</tr><tr>";
echo "<td width=80>Web 1</td><td colspan=3><input size=55 type=text name=web1 value=></td>";
echo "</tr></table><table border=1 width=500><tr><td>6. Dienstauftrag</td></tr></table><table width=500><tr>";
echo "<td width=80>Funktion</td><td colspan=3><input size=50 type=text name=funktion value=></td>";
echo "</tr><tr>";
echo "<td width=80>Beginn</td><td><input size=20 type=text name=beginn value=></td><td>Ende</td><td><input size=20 type=text name=ende value=></td>";
echo "</tr><tr>";
echo "<td width=80>Grund</td><td colspan=3><input size=50 type=text name=grund value=></td>";
echo "</tr></table><table border=1 width=500><tr><td>7. Sonstiges</td></tr></table><table width=500><tr>";
echo "<td width=80>B&uuml;rozeiten</td><td height=100><textarea cols=50 rows=3 name=bzeiten value=></textarea></td>";
echo "</tr><tr>";
echo "<td width=80>Hinweise</td><td><textarea cols=50 rows=4 name=hinweise value=></textarea></td>";
echo "</tr></table><div align=center><h4><a href=javascript:window.close()>Fenster schlie&szlig;en</a></h4></div>";
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.05.2005, 12:53  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1) bitte [php]-tags benutzen
2) kann man auch sowas machen:

echo "
html zeile 1
html zeile 2
html zeile 3
";
das verbessert die übersicht enorm
3) zu r besseren struktur:
sowas:
[php:25411aef70]<?php
mysql_connect("localhost","root");
?>[/php:25411aef70]
genauso wie mysql_select_db gehören in eine datei, dann hat man den code nicht überall.
desweiteren ist mysql_db_query veraltet und es sollte mysql_query verwendet werden und zwar mit MYSQL_ERROR:

mysql error
man sollte in seinen Scripten immer mysql_error() verwenden, in etwa so:
[php:25411aef70]
$sql = "SELECT feld1,feld2 FROM table WHERE id=5";
$result = mysql_query($sql) or die(mysql_error().'
Query: '.$sql);
[/php:25411aef70]


desweiteren solltest du folgende Dinge beachten um "sauberen" und vernünftigen Code zu erhalten:

register_globals
http://www.phpfriend.de/ftopic26569.html
-> lesen, verstehen, umsetzen !!

error-reporting
Zum testen von Scripts setzt man normalerweise am anfang des scripts (oder direkt in einer config-datei die immer Includet wird)
[php:25411aef70]error_reporting(E_ALL); [/php:25411aef70]
damit werden dann alle Fehler ausgegeben.
Mögliche Fehler die dann auftreten und wie man sie beheben kann:
Notice: Use of undefined constant ...
Notice: Undefined variable ...

mfg
robo47
robo47 ist offline  
Alt 09.05.2005, 12:54  
Gast
 
Beiträge: n/a
Standard

Zitat:
echo "<form action auswahl.php type=post name=" . $wor
hmmm: action=\"auswahl.php\" etc..
 
Alt 09.05.2005, 13:33  
Gast
 
Beiträge: n/a
Standard

es geht auch ohne die Anführungszeichen. mir ist der Fehler aber gerade dank dir (CIX8 aufgefallen. ich hab das = nach action vergessen *sich selbst an die stirn haut*
 
Alt 09.05.2005, 13:37  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

trotzdem bitte meinen post nicht ignorieren
robo47 ist offline  
Alt 09.05.2005, 13:37  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von SSJSonGoku1984
es geht auch ohne die Anführungszeichen.
Auch wenn Du Dein HTML mit PHP zusammenbastelst, solltest Du auf korrektes HTML achten, wenn Du browserabhängiges Fehlerverhalten vermeiden willst.

27.6. Mein Script funktioniert nicht mit Browser XY!
http://www.php-faq.de/q/q-html-validieren.html
 
Alt 09.05.2005, 13:56  
Gast
 
Beiträge: n/a
Standard

ok das mit der inkompatibilität habe ich jetzt noch nicht gewusst. werde es beachten.

und robo47 ich habe deinen post nicht ignoriert; aber er hat mir leider nicht besonders bei der fehler findung geholfen, deshalb hatte ich dich nicht erwähnt.

eine frage noch wegen der kompatibilität: kann man anstatt \" auch ' benutzen?
 
Alt 09.05.2005, 14:00  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

kann man, aber benutzt doch lieber

echo '


';

ist imho schneller (minimal) aber es werden keine variablen geparst, die hebt man dann mittels '.$var.' heraus.

mfg
robo47
robo47 ist offline  
Alt 09.05.2005, 15:19  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von SSJSonGoku1984
eine frage noch wegen der kompatibilität: kann man anstatt \" auch ' benutzen?
Im Prinzip ja.

Tips:
einfachen Tag:
PHP-Code:
<?php
echo '[img]bild.gif[/img]';
?>
Tag, in dem eine Variable eingefügt werden soll:
PHP-Code:
<?php
$bild 
'bild.gif';
printf ('[img]%s[/img]',  $bild);
?>
Eine Beschreibung der Platzhalter findest Du bei sprintf().

Zusatztip:
übersichtlicher SQL String:
PHP-Code:
<?php
$_POST
['wert'] = (isset($_POST['wert']))
  ?  
trim($_POST['wert'])
  : 
'blubb'# Vorbelegung, wenn nix übermittelt wurde.

# da mysql_escape_string() verwendet wird, muß für die Variable magic_quotes = On rückgängig gemacht werden
if (get_magic_quotes_gpc())
  
$_POST['wert'] = stripslashes($_POST['wert']);

$sl 's1, s2, s3';
$sql sprintf("SELECT %s FROM %s WHERE %s='%s'",
 
$sl,
 
'tabelle,
 '
spalte',
 mysql_escape_string($_POST['
wert]) # zum Schutz vor SQL Injektionen
);
?>
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie viel Daten werden an den User geschickt? CHRIS PHP Tipps 2006 16 14.01.2006 22:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:26 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.