php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.04.2005, 14:22  
Gast
 
Beiträge: n/a
Standard Fehler mit UPDATE

Hi,

ich habe hier ne Update Funktion, aber ich glaube gewaltig sie ist falsch, ich glaueb ich habe die Hochkommas etwas falsch gesetzt. Könnt ihr mir helfen?

PHP-Code:
  <?php
if(isset($_POST["schritt"])){
  
$fehler = array();
  
$offizier $_POST["offizier"];
  
$password $_POST["password"];
  
$passwordw $_POST["passwordw"];
  
$email $_POST["email"];
  
$newsletter $_POST["newsletter"];
 
  
//Test ob die Passwort Widhl. mit dem Passwort uebereinstimmt

  
if($passwordw != $password$fehler[]= "Die Passwort Widhl. muss mit dem Passwort übereinstimmen.";

  
//Testen der EMailAdresse

  
if(!check_email($email)) $fehler[] = "Bitte eine richtige E-Mail Adresse eingeben.";

  
//Ueberprüen des Passworts auf zulaesige Zeichen

  
if (!preg_match("/^[a-zA-Z0-9]*$/"$password)) $fehler[]= "Das Passwort darf nur aus Buchstaben, Zahlen und _ - bestehen!";

   
//Testet den Namen des Offiziers auf zulaesige Zeichen
  
if (!preg_match("/^[a-zA-Z0-9]*$/"$offizier)) $fehler[]= "Der Officiername darf nur aus Buchstaben, Zahlen und _ - bestehen!";

      if (
count($fehler) == 0) {
    
        
$dbName "ghostsoldier";
        
$dbHost "localhost";
        
$dbUser "root";
        
$dbPW "";
        
        if (!((
$dblink mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error());
    
    
//echo $datum." as ".strlen($datum);
$sql ="UPDATE ".
    
"register ".
"SET".
    
'offizier = $offizier
    password = $password
    email = $email
    newsletter = $newsletter'
.
"WHERE ".
    
"(username like '".$_SESSION['user_username']."') AND ".
    
"(password = '".$_SESSION['user_password'];."')";
    
$result mysql_query ($sql);

    if (
mysql_num_rows ($result) > 0)
    {

?>
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.04.2005, 14:26  
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

mysql error
man sollte in seinen Scripten immer mysql_error() verwenden, in etwa so:
PHP-Code:
$sql "SELECT feld1,feld2 FROM table WHERE id=5";
$result mysql_query($sql) or die(mysql_error().'
Query: '
.$sql); 
robo47 ist offline  
Alt 21.04.2005, 14:34  
Gast
 
Beiträge: n/a
Standard

ok habe ich gemacht jier ist der überarbeitet script, bekomme aber immer noch eine fehlermeldung,
irgendwas ist nicht mit den Hochkommas bei kontrolle des usernames und passwords in ordnungg

PHP-Code:
<?php
if(isset($_POST["schritt"])){
  
$fehler = array();
  
$offizier $_POST["offizier"];
  
$password $_POST["password"];
  
$passwordw $_POST["passwordw"];
  
$email $_POST["email"];
  
$newsletter $_POST["newsletter"];
 
  
//Test ob die Passwort Widhl. mit dem Passwort uebereinstimmt

  
if($passwordw != $password$fehler[]= "Die Passwort Widhl. muss mit dem Passwort übereinstimmen.";

  
//Testen der EMailAdresse

  
if(!check_email($email)) $fehler[] = "Bitte eine richtige E-Mail Adresse eingeben.";

  
//Ueberprüen des Passworts auf zulaesige Zeichen

  
if (!preg_match("/^[a-zA-Z0-9]*$/"$password)) $fehler[]= "Das Passwort darf nur aus Buchstaben, Zahlen und _ - bestehen!";

   
//Testet den Namen des Offiziers auf zulaesige Zeichen
  
if (!preg_match("/^[a-zA-Z0-9]*$/"$offizier)) $fehler[]= "Der Officiername darf nur aus Buchstaben, Zahlen und _ - bestehen!";

      if (
count($fehler) == 0) {
    
        
$dbName "ghostsoldier";
        
$dbHost "localhost";
        
$dbUser "root";
        
$dbPW "";
        
        if (!((
$dblink mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error());
    
    
//echo $datum." as ".strlen($datum);
$sql =
"UPDATE 
register 
SET
offizier = $offizier
password = $password
email = $email
newsletter = $newsletter
WHERE
(username like '"
.$_SESSION['user_username']."') AND 
(password = '"
.$_SESSION['user_password'];."')"
$result mysql_query($sql) or die(mysql_error().'
Query: '
.$sql); 
    
$result mysql_query ($sql);

    if (
mysql_num_rows ($result) > 0)
    {

?>
 
Alt 21.04.2005, 14:35  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Nicht sehr nett, das Passwort der Benutzer unverschlüsselt abzulegen. Das Passwort neu zu setzen und gleichzeitig abzufragen, ob es gleich ist, wie das Alte halte ich für Schwachsinn. Ausserdem sollte der Benutzername ja eindeutig sein, deshalb sollte der als Kriterium eigentlich genügen. Aber natürlich nur, wenn die nicht mit LIKE abfrägst. Andernfalls gibt jemand benutzer% als Name ein und für benutzer5, benutzer7, benutzer_, etc. werden die Passwörter geändert. Die werden daran Freude haben. Und die Anführungszeichen solltest du eigentlich schon noch hinbringen. Und Kommas fehlen. Und .. Nun, nach dieser Standpauke der Code:
PHP-Code:
<?php
$sql 
="UPDATE  register 
                     SET offizier = '$offizier',
                              email = '$email',
                              newsletter = '$newsletter',
                     WHERE 
                             username = '"
.$_SESSION['user_username'] . "'";
   
$result mysql_query ($sql) or die("Fehler 
$sql
mysql_error()); 
?>
__________________
Gruss
L
lazydog ist offline  
Alt 21.04.2005, 14:41  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Was hindert Dich jetzt daran, die tatsächliche Fehlermeldung hier zu posten?

Password ist übrigens ein reservierter Bezeichner.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 21.04.2005, 14:52  
Gast
 
Beiträge: n/a
Standard

Also ahbe jetzt alles gemacht was ihr gesagt habt, habe auch keine fehlermeldung, aber wenn ich auf ändern klicke, passiert rein gar nichts. und ich weiß nicht warum

PHP-Code:
<?php

if(isset($_POST["schritt"])){
  
$offizier $_POST["offizier"];
  
$email $_POST["email"];
  
$newsletter $_POST["newsletter"];

 
        
$dbName "ghostsoldier";
        
$dbHost "localhost";
        
$dbUser "root";
        
$dbPW "";
        
        if (!((
$dblink mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error());
    
    
//echo $datum." as ".strlen($datum);
$sql ="UPDATE  register
                     SET offizier = '$offizier',
                              email = '$email',
                              newsletter = '$newsletter',
                     WHERE
                             username = '"
.$_SESSION['user_username'] . "'";
   
$result mysql_query ($sql) or die("Fehler 
$sql
mysql_error()); 


    if (
mysql_num_rows ($result) > 0)
    {

    
header ("Location: aenderung.php");

             
                exit();
    }

}
?>
?>
 
Alt 21.04.2005, 14:55  
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

tja dann lass dir mal mit echo den query ausgeben und führ e in der datenbank aus, (phpmyadmin oder so)
und dann wirst du ja sehen wie viele zeilen betorffen sind und ob dein quey stimmt.
robo47 ist offline  
Alt 21.04.2005, 15:00  
Gast
 
Beiträge: n/a
Standard

der gibt mir nichts aus, ich komm ja nicht mal dahin, der button reagiert ja nicht mal

hier der script vom button

<tr><td></td><td style="text-align:center"><p align="center"><input type="submit" value="Ändern" class="login"></p></td>
<input type="hidden" name="schritt" value="zwei" class="login">
</tr>
 
Alt 21.04.2005, 15:05  
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

tja wenn du deinen button nciht klicken kannst :P
würde ich mal sagen du hast was anderes faslch gemacht, formtag vorhanden? mal das html validieren lassen?
robo47 ist offline  
 


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
Update / syntaxfehler prinzli Datenbanken 7 24.11.2007 21:24
sql update meldet syntax fehler Bonaparte PHP Tipps 2007 3 17.12.2005 19:06
Fehler bei Update Mano PHP Tipps 2005-2 1 07.08.2005 16:55
Fehler im UPDATE Code für MySQL Plague PHP Tipps 2005 7 22.05.2005 02:03
Fehler im UPDATE Code für MySQL Plague Datenbanken 1 21.05.2005 16:55
Fehler beim Update PHP Tipps 2005 1 21.04.2005 19:08
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
fehler nach update? robo47 Off-Topic Diskussionen 10 28.02.2005 22:31
Update auf PHP Version 4.3.10 Sablot XML gibt jetzt Fehler a tekknotrip PHP Tipps 2005 1 23.02.2005 16:14
fehler beim update Datenbanken 8 20.02.2005 16:04
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
Problem bei MYSQL / Update Resource #id Fehler PHP Tipps 2004 2 29.09.2004 13:09
[Erledigt] UPDATE = NO Update aber kein fehler..dringend hilfe suchend Datenbanken 2 25.09.2004 16:28
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
[Erledigt] fehler nach suse update PHP-Fortgeschrittene 2 17.08.2004 17:56


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:35 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.