Anzeige - [Hier werben]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
Diskussion

Fehler im Script!

aber wo??

Horus
Geschrieben am: Mi 2.06.2004, 19:43
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 130
Mitglied seit: 5.02.2004


Hi,
habe in script geschrieben. und da ist irgendwo ein fehler! nur finde ich ihn nicht.
Hir das script:
QUOTE
<html>
<head>
<title>Userverwaltung</title></head>
<body>
<div align=center>

<?php

require('connect.php');
$tabellenname='user';

//anlegen eines neuen Users
if($sent==1)
{
$sql="INSERT INTO $tabellenname () VALUES () ";
mysql_query($sql ,$link);
if(mysql_insert_id()>0)
{
$ID=mysql_insert_id();
$meldung="Der Neue User wurde angelegt<br>";
}
else
{
$meldung="Es konnte kein neuer User angelegt werden. Bearbeiten sie zuvor neu angelegte User,
und ändern Sie den Username, bevor Sie einen weiteren
neuen User anlegen.<br>";}
}

//Speichern der bearbeiteten Userinformationen
if($sent==2)
{
if($kwort!='' AND (stralen($kwort)<6 OR stralen($kwort)>12))
{
$meldung.="Das Kennwort hat nicht die Richtige Länge<br>";
unset($kwort);
}
$sql="UPDATE $tabellenname SET ";
if($kwort);
{
$kwort2=md5($kwort);
$sql .=" kwort='$kwort2', ";
}
$sql .=" username='$username', ";
$sql .=" admin='$admin7, ";
$sql .=" beschreibung='$beschreibung' ";
$sql .=" WEHRE ID='$ID' ";
$test=mysql_query($sql,$link);
if($kwort!='' AND !$test){$meldung.="Die Änderung konnte nicht gespeichert
werde, das alte Kennwort ist noch gültig<br>";}
if($kwort!='' AND $test){$meldung.="Das neue Kennwort - $kwort - ist jetzt gültig<br>";}
}

//löschen eines Users
if($sent==3)
{
$sql="DELETE FROM $tabellenname WHERE ID=$ID ";
mysql_query($sql ,$link);
unset($ID);
}

echo "<h2><font color=blue>$meldung</font></h2>";

//Auslesen der vorhandenen User und Auswalformular anzeigen
$sql="SELECT * FROM $tabellenname ORDER BY username ";
$result=mysql_query($sql,$link);
if(mysql_num_rows($result)>0)
{
echo "<h2>Bitte den User zum Bearbeiten asuwählen</h2>";
echo "<from action='$PHP_SELF' method='post'>";
echo "<select name='ID'>";
for($i=0;$i<myslq_num_rows($result);$i++)
{
$ID1=mysql_result($result,$i,'ID');
$uname=mysql_result($result,$i,'uname');
echo "<option value=$ID1";
if($ID==$ID1){echo " select ";}
echo ">$uname";
}
echo "</select><br><br>";
echo "<input type=submit>";
echo "</from>";
}

//Das Fromular zum Bearbeiten
if($ID)
{
$sql="SELECT * FROM $tabellenname WHERE ID=$ID ";
$result=mysql_query($sql,$link);
if(mysql_num_rows($result)==1)
{
$ID1=mysql_result($result,0,'ID');
$username1=mysql_result($result,0,'username');
$kwort1=mysql_result($result,0,'kwort');
$admin1=mysql_result($result,0,'admin');
$beschreibung1=mysql_result($result,0,'beschreibung');
echo "<h2>Bitte den User $username1 bearbeiten</h2>";
echo "<from action='$PHP_SELF' method='post'>";
echo "<input type=hidden name=sent value=2>";
echo "<input type=hidden name=ID value=$ID1>";
echo "<p>Benuzername</p>";
echo "<input type=text name=username value='$username1'>";
echo "<p>Kennwort <br><font color=red>Bitte leer lassen, wenn es nicht geändert werden soll!</font></p>";
if($kwort1=='kennwort'){echo "<p><font color=red size=+1>Sie müssen das Kennwort noch angeben, damit der
User sich anmelden kann!</font></p>";}
echo "<input type=text name=kwort value=''>";
echo "<p>Beschreibung</p>";
echo "<input type=text name=beschreibung value='$beschreibung1'>";
echo "<p>Administrator</p>";
echo "<input type=radio name=admin value=-1 ";
if($admin==-1){echo " checked ";}
echo ">NEIN --- ---";
echo "<input type=radio name admin value=1 ";
if($admin==1){echo " checked ";}
echo ">JA";
echo "<br><br><input type=submit>";
echo "</from>";

echo "<br><a herf='$PHP_SELF?sent=3&ID=$ID1'><font size=+1>Den angezeigten User löschen</font></a>";

}}

echo "<br><a herf='$PHP_SELF?sent=1'><font size=+1>Ein neuer User anlegen</font></a>";

?>


</div>
</body>
</html>


so ud so siet das ganze bei mir aus:
da steht nur "Ein neuer User anlegen"!!

findet von euch jemand den fehler?

besten dank für die mitsuche

horus


--------------------
Der Kommunismus ist daran gescheitert das er keiner wahr, der Kapitalismus wird daran scheitern das er einer ist.
Top
PMEmail PosterUsers WebsiteICQMSN
Top
 
 
Roger Bobst
calac gmbh
#2 Geschrieben am: Mi 2.06.2004, 19:53 (+00:09)
Report PostQuote Post

AyomRank 5
Group Icon 2 Gruppe: Experte

Gruppe: Experte
Beiträge: 426
Mitglied seit: 15.02.2004


Ciao

Vielleicht solltest du uns erleuchten und sagen, was es überhaupt machen sollte, wenns denn funktionieren würde. Wie rufts du die Seite auf ? Besteht die Möglichkeit, dass $sent nicht 1 ist ?
So rein nackt, find ich den Code super und der macht auch was er soll, nähmlich
CODE
echo "<br><a herf='$PHP_SELF?sent=1'><font size=+1>Ein neuer User anlegen</font></a>";


Oder ist der Fehler, dass du herf anstelle von href schreibst ?

Gruss
Roger
Top
PMEmail PosterUsers Website
Top
 
Horus
#3 Geschrieben am: Mi 2.06.2004, 19:55 (+00:02)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 130
Mitglied seit: 5.02.2004


ist der code eines adminmenüs

danke mal schauen ob der fehler nun weg ist.

es ist besser aber man siet doch nicht mehr!


--------------------
Der Kommunismus ist daran gescheitert das er keiner wahr, der Kapitalismus wird daran scheitern das er einer ist.
Top
PMEmail PosterUsers WebsiteICQMSN
Top
 
Hamlet
#4 Geschrieben am: Do 3.06.2004, 11:37 (+15:42)
Report PostQuote Post

AyomRank 5
Group Icon 2 Gruppe: Experte

Gruppe: Experte
Beiträge: 334
Mitglied seit: 1.03.2004


Habe auch so meine Mühe:
Beim ersten Aufruf des Scriptes existiert die Variable $sent ja noch gar nicht.
Also werden alle If-Schleifen übersprungen.
Da kann und darf auch nicht mehr stehen als "Ein neuer User anlegen"

Ein Klick darauf gibt der Variable $sent ja erst einen Wert, nämlich 1.

Auch die Variable $ID existiert beim ersten Aufruf noch nicht. Logischerweise wird auch diese Schlaufe übersprungen.

Bei Klick auf den Link "Ein neuer User anlegen" kriege ich dann logischerweise etliche Fehlermeldungen, weil ich ja weder die connect.php noch eine entsprechende Datenbank im Test habe.

Aaaaber auch den Text "Es konnte kein neuer User angelegt werden. Bearbeiten sie zuvor neu angelegte User, und ändern Sie den Username, bevor Sie einen weiteren neuen User anlegen." wird angezeigt.

Also:
Solange die Variablen des If-Argumentes nicht vorhanden sind, werden die If-Schleifen nicht abgearbeitet.

Hoffe, das hilft


--------------------
Umwege erhöhen die Ortskenntnis!
----------------------------------------
Forum Baslertaube - Hier treffen sich Briefmarken-Sammler
Top
PMEmail PosterUsers Website
Top
 
Horus
#5 Geschrieben am: Do 3.06.2004, 12:08 (+00:30)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 130
Mitglied seit: 5.02.2004


QUOTE
Bei Klick auf den Link "Ein neuer User anlegen" kriege ich dann logischerweise etliche Fehlermeldungen, weil ich ja weder die connect.php noch eine entsprechende Datenbank im Test habe.


die connect.php habe ich schon angelegt was heist das die verbindung zur datenbank io ist.

nun habe mal auf den likn "Einneuer user anlegen" geklickt und dan kamm nur
"Es konnte kein neuer User angelegt werden. Bearbeiten sie zuvor neu angelegte User, und ändern Sie den Username, bevor Sie einen weiteren neuen User anlegen."


was soll ich tun wie kann ich das alles zum laufen bringen? kann ich mit einem script in der datenbank unabhängig einen user anlegen? und wen ja mit welchem?



--------------------
Der Kommunismus ist daran gescheitert das er keiner wahr, der Kapitalismus wird daran scheitern das er einer ist.
Top
PMEmail PosterUsers WebsiteICQMSN
Top
 
Hamlet
#6 Geschrieben am: Do 3.06.2004, 12:22 (+00:14)
Report PostQuote Post

AyomRank 5
Group Icon 2 Gruppe: Experte

Gruppe: Experte
Beiträge: 334
Mitglied seit: 1.03.2004


Natürlich kannst Du neue User anlegen, dazu muss aber Dein SQL-Statement auch Werte übergeben.
Jetzt lautet Dein SQL-Statement so:
CODE
INSERT INTO user () VALUES ()

Oder anders gesagt :
Füge nichts in kein Feld der Tabelle "user" ein. biggrin.gif
Verstehst Du? Hier fehlen Werte!
So muss das sein:
CODE
INSERT INTO user (username, password) VALUES ("foo", "bar")

Die Namen der Datenfelder habe ich jetzt frei erfunden. Du musst dort natürlich die richtigen Namen einsetzen. Das Klammerpaar vor "VALUES" enthält die Feldnamen der Tabelle. Das Klammerpaar nach "VALUES" enthält die einzufügenden Werte in derselben Reihenfolge und der gleichen Anzahl wie die Feldnamen.

Natürlich kann in den Klammern auch ein Variablen-Wert stehen, also so:
CODE
INSERT INTO $tabellenname ($FeldA, $FeldB) VALUES ($Name, $Passwort)

Dann müssen aber natürlich diese Variablenwerte vorher explizit definiert werden.
$FeldA und $FeldB kannst Du zusammen mit $tabellenname definieren, denn die ändern sich ja nie. Es sind die Datenfelder der Tabelle.

$Name und $Passwort jedoch muss irgendwo her einen Wert erhalten.

Klar jetzt?


--------------------
Umwege erhöhen die Ortskenntnis!
----------------------------------------
Forum Baslertaube - Hier treffen sich Briefmarken-Sammler
Top
PMEmail PosterUsers Website
Top
 
Horus
#7 Geschrieben am: Do 3.06.2004, 12:30 (+00:07)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 130
Mitglied seit: 5.02.2004


jup ein wenig!!!

aber wo ist den der teil:
CODE

INSERT INTO user () VALUES ()


???



--------------------
Der Kommunismus ist daran gescheitert das er keiner wahr, der Kapitalismus wird daran scheitern das er einer ist.
Top
PMEmail PosterUsers WebsiteICQMSN
Top
 
Horus
#8 Geschrieben am: Do 3.06.2004, 12:32 (+00:02)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 130
Mitglied seit: 5.02.2004


oder gibt es vorlagen die man einfach korieren kann?


--------------------
Der Kommunismus ist daran gescheitert das er keiner wahr, der Kapitalismus wird daran scheitern das er einer ist.
Top
PMEmail PosterUsers WebsiteICQMSN
Top
 
Hamlet
#9 Geschrieben am: Do 3.06.2004, 12:35 (+00:03)
Report PostQuote Post

AyomRank 5
Group Icon 2 Gruppe: Experte

Gruppe: Experte
Beiträge: 334
Mitglied seit: 1.03.2004


Das glaube ich jetzt nicht, oder? biggrin.gif
QUOTE

aber wo ist den der teil:


Hier ist er, in der ersten Schleife:
CODE

//anlegen eines neuen Users
if($sent==1)
{
$sql="INSERT INTO $tabellenname () VALUES () ";
mysql_query($sql ,$link);
if(mysql_insert_id()>0)
{
....


Beim Klicken auf den Link "Ein neuer User anlegen" wird ja der Wert $sent zu 1, also wird die Schleife if($sent==1) abgearbeitet. Und genau in dieser Schleife verlangst Du von der Datenbank, dass sie nichts nirgendwohin speichert. wink.gif


--------------------
Umwege erhöhen die Ortskenntnis!
----------------------------------------
Forum Baslertaube - Hier treffen sich Briefmarken-Sammler
Top
PMEmail PosterUsers Website
Top
 
Horus
#10 Geschrieben am: Do 3.06.2004, 12:38 (+00:03)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 130
Mitglied seit: 5.02.2004


stimmt sorry habe im falschen script nachgeschaut!!! *lol*
habe zu viele offen!

was bedeutet wenn ich da einen benuzername und paswort reinschreine sollte das genen?


--------------------
Der Kommunismus ist daran gescheitert das er keiner wahr, der Kapitalismus wird daran scheitern das er einer ist.
Top
PMEmail PosterUsers WebsiteICQMSN
Top
 
Horus
#11 Geschrieben am: Do 3.06.2004, 12:43 (+00:04)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 130
Mitglied seit: 5.02.2004


Gibt es für solche scrips keine vorlagen?


--------------------
Der Kommunismus ist daran gescheitert das er keiner wahr, der Kapitalismus wird daran scheitern das er einer ist.
Top
PMEmail PosterUsers WebsiteICQMSN
Top
 
Hamlet
#12 Geschrieben am: Do 3.06.2004, 12:47 (+00:03)
Report PostQuote Post

AyomRank 5
Group Icon 2 Gruppe: Experte

Gruppe: Experte
Beiträge: 334
Mitglied seit: 1.03.2004


Ausprobieren mach Dich schlau.
Nochmal:
das SQL-Statement muss so aussehen:
CODE
INSERT INTO $tabellenname (Feld1, Feld2) VALUES ("Wert für Feld1", "Wert für Feld2")

Danach liefert Dir nämlich auch "if(mysql_insert_id()>0)" einen Wert höher als 0 sofern Du in der Tabelle ein autoincrement-Feld hast.
Wenn kein autoincrement-Feld in der Tabelle ist, dann liefert "mysql_insert_id" immer 0, was diese kleine Schleife hier:
CODE

if(mysql_insert_id()>0)
{
$ID=mysql_insert_id();
$meldung="Der Neue User wurde angelegt<br>";
}

ad absurdum führen würde und Du immer die Meldung erhältst, der User sei nicht angelegt worden, auch wenn das Anlegen erfolgreich war.
Doch das weisst Du sicher. smile.gif


--------------------
Umwege erhöhen die Ortskenntnis!
----------------------------------------
Forum Baslertaube - Hier treffen sich Briefmarken-Sammler
Top
PMEmail PosterUsers Website
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
3 High End Community Script Lizenzen zu verkaufen JayW 258 0 Do 18.09.2014, 12:09
Neues Script: Gutscheincenter - Affili.net BartTheDevil89 6601 24 Fr 12.09.2014, 21:12
Designer für Press Release Script saschag60 801 0 Mi 19.03.2014, 00:05
JQuery Carousel Galerie Script gesucht Roberto 1067 2 Mi 5.03.2014, 13:27
Verkaufe Socialmediavermarkter Script rabattfuchser 776 0 Mo 3.03.2014, 13:01
Altersverifikation / Altersüberprüfung Script kautz10 806 1 Di 18.02.2014, 17:26
DIV Scroll / Fixed Script bitte testen Big Rob 574 2 Di 28.01.2014, 16:46
UTF8 Fehler? Mark_L 861 5 Di 17.12.2013, 21:16
Fehler im DropDown Menue RickiMales 626 0 So 1.12.2013, 14:23
Anzeige abgelehnt – Fehler 403 content-pur 1309 9 So 27.10.2013, 15:44


Günstig werben auf Ayom:
Kontakt: ayom@small-n-tall.com



Anzeigen

Textlinks kaufen oder anbieten





[Hier werben]

 

Statistiken:
Top 10 Autoren heute
Top 50 Autoren insgesamt