php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.10.2010, 11:56  
Neuer Benutzer
 
Registriert seit: 10.09.2010
Beiträge: 16
PHP-Kenntnisse:
Fortgeschritten
siggi67 befindet sich auf einem aufstrebenden Ast
Standard Weiterleitung

Hallo,

hab da mal eine Frage zur Weiterleitung nach einem "move_uploaded_file"
Ich habe ein Script mit dem ich über PECL Uploadprogress den Status des
Uploads anzeigen lassen.
Da dies ja mit Ajax und JS läuft, wollte ich eine sichere Weiterleitung nach dem
fertigen Upload machen.
Das habe ich nun so gelöst:
PHP-Code:
if ($laden)    {
move_uploaded_file($_FILES['thefile']['tmp_name'],"/var/www/vhosts/xxxxx.de/httpsdocs/cgi/daten/".$_FILES['thefile']['name']);
if (!
move_uploaded_file($_FILES["thefile"]["tmp_name"], $_FILES["thefile"]["name"]))    {
header ("Location: xxxxxx.php");
exit;
}

Die Var "laden" wird über das Formular mitgesendet.
Nun meine Frage:
Was haltet ich davon?
siggi67 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 04.10.2010, 12:11  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

nach Location: ist eine komplette Adresse incl. http:// erforderlich, auch wenn die meisten Browser auch auf den unvollstädigen Header reagieren.

$laden funktioniert bei dir? Hast du register_globals auf on?

Ansonsten ist das eine Weiterleitung. Was soll man davon halten?
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 04.10.2010, 12:27  
Benutzer
 
Registriert seit: 04.10.2010
Beiträge: 47
PHP-Kenntnisse:
Fortgeschritten
grenzdebil befindet sich auf einem aufstrebenden Ast
Standard

Was $laden soll, verstehe ich auch nicht ganz. Wenn das eine Variable ist, die im Formular gesetzt / mit dem Formular geschickt wird, warum dann nicht $_POST['laden']? Ich sehe das wie Wolla, das riecht irgendwie nach register_globals.

Ansonsten hat Wolla auch recht: Es ist halt ne Weiterleitung. Wenn Dir dabei nicht das allseits beliebte "Headers already sent by ..." in die Quere kommt, was soll daran falsch sein?
grenzdebil ist offline   Mit Zitat antworten
Alt 04.10.2010, 19:51  
Neuer Benutzer
 
Registriert seit: 10.09.2010
Beiträge: 16
PHP-Kenntnisse:
Fortgeschritten
siggi67 befindet sich auf einem aufstrebenden Ast
Standard

Habt Ihr einen besseren Vorschlag als bei einem Forumular über
zwei Seite das über header zu machen.
Register_Global steht auf OFF

Das Script läuft soweit echt Klasse.
Bin für Vorschläge dankbar.
siggi67 ist offline   Mit Zitat antworten
Alt 04.10.2010, 21:35  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Affenformular mit unterschiedlichen Includes je nach Zustand.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 06.10.2010, 12:30  
Neuer Benutzer
 
Registriert seit: 10.09.2010
Beiträge: 16
PHP-Kenntnisse:
Fortgeschritten
siggi67 befindet sich auf einem aufstrebenden Ast
Standard

Hab nun ein Problem mit der Weiterleitung.
Folgendes Script trägt die werte richtig in die Session ein, je nach Bedarf.
Aber es wird einfach nicht auf das passende Formular umgeleitet.
Hab schon versucht mit "include_once, break, exit".
Brachte aber alles nicht. Das Script läuft einfach weiter.
Wenn ich mir dann die Session-Werte anzigen lasse, staht auch alles so drin wie ich es haben will.
Ich weiß echt nicht mehr weiter?
Hier der Code:

PHP-Code:
  if ($_POST[laden] == abfrage)    {
    if(empty(
$name)){
    
$_SESSION['action'] = 'nodatei';
    require_once(
"https://www.xxxxxx.de/index.php");
    exit;

siggi67 ist offline   Mit Zitat antworten
Alt 06.10.2010, 12:34  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Wenn die Variable $name leer ist, dann fülle eine Session Variable und binde ein Skript ein...korrekt? Kann es auch sein, dass ein } fehlt, da Du zwei if Abfragen hast? Zudem leitest Du in diesem Skript nicht weitere, sondern bindest nur eine andere Datei ein!

Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 06.10.2010, 20:06  
Neuer Benutzer
 
Registriert seit: 10.09.2010
Beiträge: 16
PHP-Kenntnisse:
Fortgeschritten
siggi67 befindet sich auf einem aufstrebenden Ast
Standard

ich habe das ganze auch schon mal mir header Probiert.
Ging auch nicht.
Ich denke es liegt an dem iframe:
PHP-Code:
<iframe id="upload_iframe" name="upload_iframe" width="250" height="300" src="upload_form.php?id=<?= $id ?>" style="display: none;"></iframe>
        <form method="post" action="upload_form.php" target="upload_iframe" enctype='multipart/form-data' id="theForm" class="form" />
            <div id="post_form">
Das Formular wird doch auf upload_form.php geleitet.
Wenn ich aber dort ganz am Anfang folgenden Code einfüge,
wird trotzdem alles ausgeführt. Und eigentlich will ich doch nur prüfen ob eine
Datei angeben wurde mit einer Prüfung, ob die Datei schon in der Datenbank
vorhande ist.
Hier nun mein aktueller Code:
PHP-Code:
<?php
session_start
();
$_SESSION['laden'] = $_POST[laden];
  
$name $_SESSION['datenfeld'] = $_FILES[myFile][name];
  
  if (
$_POST[laden] == abfrage)    {
    if(empty(
$name)){
    
$_SESSION['action'] = 'nodatei';
    
header ("Location: https://www.xxxxxxx.de/index.php");
    exit();
}
########### kontrolle ob schon eine datei mit diesem name in der datenbank vorhanden ist #######

$datei $_FILES['myFile']['name'];
include(
"../../config.inc.php");
    
$res mysql_query("SELECT `dateiname` FROM `daten` WHERE `dateiname` = '$datei' LIMIT 1") or mysql_error("Keine Datenbankverbindung");
    while (
$zell mysql_fetch_object($res))    { 
    
$datei_neu $zell->dateiname;
    if (
$datei_neu)    {
    
$_SESSION['action'] = 'dateiname'$fehler TRUE
        }
    }
       if (
$fehler) {
    
header ("Location: index.php");
    exit();
    }
}
?>
Das ganze Script hab ich hier gefunden:
http://www.phpriot.com/articles/php-ajax-file-uploads/
siggi67 ist offline   Mit Zitat antworten
Alt 06.10.2010, 23:38  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Du musst schon überprüfen, ob ein POST Request eingegangen ist, und nicht einfach davon ausgehen...

Stell erstmal das error_reporting auf Maximum, und display_errors auf 1. Der Code enthält einen Haufen warnings und mehrere dicke Bugs. Die Logik sieht mir auch ziemlich verquer aus, ich würd mal sagen kein Wunder das immer alles ausgeführt wird (wenn überhaupt was ausgeführt wird).

Da stimmt einiges nicht, weiss gar nicht wo ich anfangen soll. Die FORM ist leer, was soll da übertragen werden
Im ersten iframe Aufruf wird die ID per GET übergeben, wird im Script aber gar nicht abgerufen oder verwendet... keine Überprüfung oder Fehlerbehandlung...

Fortgeschritten?
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Antwort


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
PHP Weiterleitung melanie87 PHP Tipps 2010 19 06.09.2010 22:28
PHP 301 Weiterleitung und Google AX-Turbo Off-Topic Diskussionen 1 18.08.2010 13:37
[Erledigt] Weiterleitung per location PHPMann85 PHP Tipps 2010 3 26.01.2010 15:53
modrewrite - versteckte Weiterleitung möglich? rodger Server, Hosting und Workstations 3 28.11.2009 12:41
Variable bei Weiterleitung in Link speichern JooiPHP PHP Tipps 2009 4 05.11.2009 11:06
[Erledigt] Automatische weiterleitung nach if Kay654 PHP Tipps 2009 4 20.05.2009 20:54
header("Location: ... weiterleitung funktioniert nicht mqs PHP Tipps 2009 20 18.03.2009 17:10
Zeitbasierende Weiterleitung GSJLink PHP Tipps 2007 5 29.12.2005 10:33
automatische weiterleitung mit variablen übergabe MrCavity PHP Tipps 2007 2 26.11.2005 19:39
Weiterleitung funtkioniert nicht PHP Tipps 2005-2 12 05.07.2005 09:47
weiterleitung die xte ff-webdesigner.de PHP Tipps 2005 2 24.04.2005 12:30
automatische Weiterleitung PHP Tipps 2004-2 1 25.11.2004 15:59
Weiterleitung nach bestimmter Zeit PHP Tipps 2004-2 7 24.11.2004 17:50
[Erledigt] Weiterleitung HTML, Usability und Barrierefreiheit 8 20.10.2004 17:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sichere weiterleitung, sichere weiterleitung in php, $_files[\'thefile\'][\'name\'], google sichere weiterleitung php, php $_files ajax iframe wiki, $_file per ajax weiterleiten, formular aufruf iframe weiterleiten, $_files leer weiterleitung server, php nach script weiterleitung, http://www.php.de/php-fortgeschrittene/72492-weiterleitung.html, get versteckt weiterleiten, php automatisch weiterleiten in if, php sicherer weiterleitung, header php script versteckte weiterleitung, versteckte weiterleitung mit php, uploadprogress pecl move_uploaded_file

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